diff --git a/Makefile b/Makefile index 8205529ea..204a0276b 100644 --- a/Makefile +++ b/Makefile @@ -28,8 +28,7 @@ VERSION_VARIABLES := -X $(MODULEPATH)/pkg/manager/context.OCI=$(IMG) \ -X $(MODULEPATH)/pkg/integrations/cirrus.version=$(CIRRUS_CLI) \ -X $(MODULEPATH)/pkg/integrations/github.runnerVersion=$(GITHUB_RUNNER) \ -X $(MODULEPATH)/pkg/integrations/gitlab.version=$(GITLAB_RUNNER) \ - -X $(MODULEPATH)/pkg/provider/ibmcloud/action/ibm-power.otelColVersion=$(OTELCOL_VERSION) \ - -X $(MODULEPATH)/pkg/provider/ibmcloud/action/ibm-z.otelColVersion=$(OTELCOL_VERSION) + -X $(MODULEPATH)/pkg/integrations/otelcol.version=$(OTELCOL_VERSION) LDFLAGS := $(VERSION_VARIABLES) ${GO_EXTRA_LDFLAGS} GCFLAGS := all=-N -l GOOS := $(shell go env GOOS) diff --git a/cmd/mapt/cmd/aws/hosts/fedora.go b/cmd/mapt/cmd/aws/hosts/fedora.go index 87e6eeab9..69c55f2c0 100644 --- a/cmd/mapt/cmd/aws/hosts/fedora.go +++ b/cmd/mapt/cmd/aws/hosts/fedora.go @@ -57,7 +57,7 @@ func getFedoraCreate() *cobra.Command { DebugLevel: viper.GetUint(params.DebugLevel), CirrusPWArgs: params.CirrusPersistentWorkerArgs(), GHRunnerArgs: params.GithubRunnerArgs(), - GLRunnerArgs: params.GitLabRunnerArgs(), + GLRunnerArgs: params.GitLabRunnerArgs(params.LinuxGitLabArch()), Tags: viper.GetStringMapString(params.Tags), }, &fedora.FedoraArgs{ diff --git a/cmd/mapt/cmd/aws/hosts/mac.go b/cmd/mapt/cmd/aws/hosts/mac.go index e946a7cf2..b82aae28a 100644 --- a/cmd/mapt/cmd/aws/hosts/mac.go +++ b/cmd/mapt/cmd/aws/hosts/mac.go @@ -48,7 +48,7 @@ func getMacRequest() *cobra.Command { Debug: viper.IsSet(params.Debug), DebugLevel: viper.GetUint(params.DebugLevel), GHRunnerArgs: params.GithubRunnerArgs(), - GLRunnerArgs: params.GitLabRunnerArgs(), + GLRunnerArgs: params.GitLabRunnerArgs(params.LinuxGitLabArch()), Tags: viper.GetStringMapString(params.Tags), }, &mac.MacRequestArgs{ diff --git a/cmd/mapt/cmd/aws/hosts/rhel.go b/cmd/mapt/cmd/aws/hosts/rhel.go index af5d969a6..6308913c7 100644 --- a/cmd/mapt/cmd/aws/hosts/rhel.go +++ b/cmd/mapt/cmd/aws/hosts/rhel.go @@ -53,7 +53,7 @@ func getRHELCreate() *cobra.Command { DebugLevel: viper.GetUint(params.DebugLevel), CirrusPWArgs: params.CirrusPersistentWorkerArgs(), GHRunnerArgs: params.GithubRunnerArgs(), - GLRunnerArgs: params.GitLabRunnerArgs(), + GLRunnerArgs: params.GitLabRunnerArgs(params.LinuxGitLabArch()), Tags: viper.GetStringMapString(params.Tags), }, &rhel.RHELArgs{ diff --git a/cmd/mapt/cmd/aws/hosts/windows.go b/cmd/mapt/cmd/aws/hosts/windows.go index f094fb512..00da29e9e 100644 --- a/cmd/mapt/cmd/aws/hosts/windows.go +++ b/cmd/mapt/cmd/aws/hosts/windows.go @@ -66,7 +66,7 @@ func getWindowsCreate() *cobra.Command { DebugLevel: viper.GetUint(params.DebugLevel), CirrusPWArgs: params.CirrusPersistentWorkerArgs(), GHRunnerArgs: params.GithubRunnerArgs(), - GLRunnerArgs: params.GitLabRunnerArgs(), + GLRunnerArgs: params.GitLabRunnerArgs(params.LinuxGitLabArch()), Tags: viper.GetStringMapString(params.Tags), }, &windows.WindowsServerArgs{ diff --git a/cmd/mapt/cmd/aws/services/mac-pool.go b/cmd/mapt/cmd/aws/services/mac-pool.go index 5f01d772d..483965db1 100644 --- a/cmd/mapt/cmd/aws/services/mac-pool.go +++ b/cmd/mapt/cmd/aws/services/mac-pool.go @@ -174,7 +174,7 @@ func request() *cobra.Command { DebugLevel: viper.GetUint(params.DebugLevel), CirrusPWArgs: params.CirrusPersistentWorkerArgs(), GHRunnerArgs: params.GithubRunnerArgs(), - GLRunnerArgs: params.GitLabRunnerArgs(), + GLRunnerArgs: params.GitLabRunnerArgs(params.LinuxGitLabArch()), Tags: viper.GetStringMapString(params.Tags), }, &macpool.RequestMachineArgs{ diff --git a/cmd/mapt/cmd/azure/hosts/rhel.go b/cmd/mapt/cmd/azure/hosts/rhel.go index cb460e80f..c6d26dead 100644 --- a/cmd/mapt/cmd/azure/hosts/rhel.go +++ b/cmd/mapt/cmd/azure/hosts/rhel.go @@ -49,7 +49,7 @@ func getCreateRHEL() *cobra.Command { DebugLevel: viper.GetUint(params.DebugLevel), CirrusPWArgs: params.CirrusPersistentWorkerArgs(), GHRunnerArgs: params.GithubRunnerArgs(), - GLRunnerArgs: params.GitLabRunnerArgs(), + GLRunnerArgs: params.GitLabRunnerArgs(params.LinuxGitLabArch()), Tags: viper.GetStringMapString(params.Tags), }, &azureRHEL.RhelArgs{ diff --git a/cmd/mapt/cmd/azure/hosts/windows.go b/cmd/mapt/cmd/azure/hosts/windows.go index 866164bbb..e527a171d 100644 --- a/cmd/mapt/cmd/azure/hosts/windows.go +++ b/cmd/mapt/cmd/azure/hosts/windows.go @@ -62,7 +62,7 @@ func getCreateWindowsDesktop() *cobra.Command { DebugLevel: viper.GetUint(params.DebugLevel), CirrusPWArgs: params.CirrusPersistentWorkerArgs(), GHRunnerArgs: params.GithubRunnerArgs(), - GLRunnerArgs: params.GitLabRunnerArgs(), + GLRunnerArgs: params.GitLabRunnerArgs(params.LinuxGitLabArch()), Tags: viper.GetStringMapString(params.Tags), }, &azureWindows.WindowsArgs{ diff --git a/cmd/mapt/cmd/ibmcloud/hosts/ibm-power.go b/cmd/mapt/cmd/ibmcloud/hosts/ibm-power.go index 1878d4985..9ac2b543a 100644 --- a/cmd/mapt/cmd/ibmcloud/hosts/ibm-power.go +++ b/cmd/mapt/cmd/ibmcloud/hosts/ibm-power.go @@ -2,6 +2,7 @@ package hosts import ( "github.com/redhat-developer/mapt/cmd/mapt/cmd/params" + "github.com/redhat-developer/mapt/pkg/integrations/gitlab" maptContext "github.com/redhat-developer/mapt/pkg/manager/context" ibmpower "github.com/redhat-developer/mapt/pkg/provider/ibmcloud/action/ibm-power" "github.com/spf13/cobra" @@ -52,17 +53,24 @@ func ibmPowerCreate() *cobra.Command { DebugLevel: viper.GetUint(params.DebugLevel), CirrusPWArgs: params.CirrusPersistentWorkerArgs(), GHRunnerArgs: params.GithubRunnerArgs(), + GLRunnerArgs: params.GitLabRunnerArgs(&gitlab.Ppc64le), Tags: viper.GetStringMapString(params.Tags), }, &ibmpower.PWArgs{ PIPrivateSubnetID: viper.GetString(params.PIPrivateSubnetID), WorkspaceID: viper.GetString(params.WorkspaceID), VPCPublicSubnetID: viper.GetString(params.VPCPublicSubnetID), + Memory: viper.GetFloat64(params.PIMemory), + Processors: viper.GetFloat64(params.PIProcessors), + ProcType: viper.GetString(params.PIProcType), + SysType: viper.GetString(params.PISysType), + StorageType: viper.GetString(params.PIStorageType), + DiskSize: viper.GetInt(params.PIDiskSize), OtelAppCode: viper.GetString(params.OtelAppCode), OtelAuthToken: viper.GetString(params.OtelAuthToken), OtelEndpoint: viper.GetString(params.OtelEndpoint), - OtelIndex: viper.GetString(params.OtelIndex), - OtelExtraAttrs: viper.GetStringMapString(params.OtelExtraAttrs), + OtelIndex: viper.GetString(params.OtelIndex), + OtelExtraAttrs: viper.GetStringMapString(params.OtelExtraAttrs), }) }, } @@ -77,8 +85,16 @@ func ibmPowerCreate() *cobra.Command { flagSet.StringP(params.OtelEndpoint, "", "https://otel-input.corp.redhat.com", params.OtelEndpointDesc) flagSet.StringP(params.OtelIndex, "", "", params.OtelIndexDesc) flagSet.StringToStringP(params.OtelExtraAttrs, "", nil, params.OtelExtraAttrsDesc) + flagSet.Float64(params.PIMemory, params.PIMemoryDefault, params.PIMemoryDesc) + flagSet.Float64(params.PIProcessors, params.PIProcessorsDefault, params.PIProcessorsDesc) + flagSet.String(params.PIProcType, params.PIProcTypeDefault, params.PIProcTypeDesc) + flagSet.String(params.PISysType, params.PISysTypeDefault, params.PISysTypeDesc) + flagSet.String(params.PIStorageType, params.PIStorageTypeDefault, params.PIStorageTypeDesc) + flagSet.Int(params.PIDiskSize, params.PIDiskSizeDefault, params.PIDiskSizeDesc) params.AddGHActionsFlags(flagSet) params.AddCirrusFlags(flagSet) + params.AddGitLabRunnerFlags(flagSet) + flagSet.Int(params.GlRunnerConcurrent, params.GlRunnerConcurrentPowerDefault, params.GlRunnerConcurrentDesc) c.PersistentFlags().AddFlagSet(flagSet) _ = c.MarkPersistentFlagRequired(params.PIPrivateSubnetID) _ = c.MarkPersistentFlagRequired(params.WorkspaceID) diff --git a/cmd/mapt/cmd/ibmcloud/hosts/ibm-z.go b/cmd/mapt/cmd/ibmcloud/hosts/ibm-z.go index 9e8305ded..58b7d31cc 100644 --- a/cmd/mapt/cmd/ibmcloud/hosts/ibm-z.go +++ b/cmd/mapt/cmd/ibmcloud/hosts/ibm-z.go @@ -2,6 +2,7 @@ package hosts import ( "github.com/redhat-developer/mapt/cmd/mapt/cmd/params" + "github.com/redhat-developer/mapt/pkg/integrations/gitlab" maptContext "github.com/redhat-developer/mapt/pkg/manager/context" ibmz "github.com/redhat-developer/mapt/pkg/provider/ibmcloud/action/ibm-z" "github.com/spf13/cobra" @@ -52,14 +53,17 @@ func ibmZCreate() *cobra.Command { DebugLevel: viper.GetUint(params.DebugLevel), CirrusPWArgs: params.CirrusPersistentWorkerArgs(), GHRunnerArgs: params.GithubRunnerArgs(), + GLRunnerArgs: params.GitLabRunnerArgs(&gitlab.S390x), Tags: viper.GetStringMapString(params.Tags), }, &ibmz.ZArgs{ SubnetID: viper.GetString(params.SubnetID), + Profile: viper.GetString(params.IZProfile), + DiskSize: viper.GetInt(params.IZDiskSize), OtelAppCode: viper.GetString(params.OtelAppCode), OtelAuthToken: viper.GetString(params.OtelAuthToken), OtelEndpoint: viper.GetString(params.OtelEndpoint), - OtelIndex: viper.GetString(params.OtelIndex), + OtelIndex: viper.GetString(params.OtelIndex), OtelExtraAttrs: viper.GetStringMapString(params.OtelExtraAttrs), }) }, @@ -73,8 +77,12 @@ func ibmZCreate() *cobra.Command { flagSet.StringP(params.OtelEndpoint, "", "https://otel-input.corp.redhat.com", params.OtelEndpointDesc) flagSet.StringP(params.OtelIndex, "", "", params.OtelIndexDesc) flagSet.StringToStringP(params.OtelExtraAttrs, "", nil, params.OtelExtraAttrsDesc) + flagSet.String(params.IZProfile, params.IZProfileDefault, params.IZProfileDesc) + flagSet.Int(params.IZDiskSize, params.IZDiskSizeDefault, params.IZDiskSizeDesc) params.AddGHActionsFlags(flagSet) params.AddCirrusFlags(flagSet) + params.AddGitLabRunnerFlags(flagSet) + flagSet.Int(params.GlRunnerConcurrent, params.GlRunnerConcurrentS390xDefault, params.GlRunnerConcurrentDesc) c.PersistentFlags().AddFlagSet(flagSet) return c } diff --git a/cmd/mapt/cmd/params/params.go b/cmd/mapt/cmd/params/params.go index 1674398dd..f6583a661 100644 --- a/cmd/mapt/cmd/params/params.go +++ b/cmd/mapt/cmd/params/params.go @@ -7,6 +7,7 @@ import ( cr "github.com/redhat-developer/mapt/pkg/provider/api/compute-request" spotTypes "github.com/redhat-developer/mapt/pkg/provider/api/spot" "github.com/redhat-developer/mapt/pkg/util" + "github.com/redhat-developer/mapt/pkg/util/logging" "github.com/spf13/pflag" "github.com/spf13/viper" ) @@ -82,7 +83,7 @@ const ( cirrusPWLabelsDesc string = "additional labels to use on the persistent worker (--it-cirrus-pw-labels key1=value1,key2=value2)" glRunnerToken string = "glrunner-token" - glRunnerTokenDesc string = "GitLab Personal Access Token with api scope" + glRunnerTokenDesc string = "GitLab token with create_runner scope (personal access token, group/project access token, or service account token)" glRunnerProjectID string = "glrunner-project-id" glRunnerProjectIDDesc string = "GitLab project ID for project runner registration" glRunnerGroupID string = "glrunner-group-id" @@ -92,6 +93,13 @@ const ( glRunnerURLDefault string = "https://gitlab.com" glRunnerTags string = "glrunner-tags" glRunnerTagsDesc string = "List of tags separated by comma to be added to the self-hosted runner" + glRunnerUnsecure string = "glrunner-unsecure" + glRunnerUnsecureDesc string = "when set, the runner service runs as the default OS user instead of a dedicated system account; by default a locked-down gitlab-runner system user is created" + + GlRunnerConcurrent string = "glrunner-concurrent" + GlRunnerConcurrentDesc string = "maximum number of jobs the runner executes concurrently" + GlRunnerConcurrentPowerDefault int = 2 + GlRunnerConcurrentS390xDefault int = 3 //RHEL SubsUsername string = "rh-subscription-username" @@ -134,6 +142,34 @@ const ( VPCPublicSubnetID string = "vpc-public-subnet-id" VPCPublicSubnetIDDesc string = "ID of an existing VPC subnet (with public gateway, connected to Transit Gateway) for the SSH bastion" + // IBM Power instance sizing + PIMemory string = "pi-memory" + PIMemoryDesc string = "PowerVS instance memory in GB" + PIMemoryDefault float64 = 96.0 + PIProcessors string = "pi-processors" + PIProcessorsDesc string = "PowerVS instance processor count (shared cores)" + PIProcessorsDefault float64 = 24.0 + PIProcType string = "pi-proc-type" + PIProcTypeDesc string = "PowerVS processor type (shared, dedicated, capped)" + PIProcTypeDefault string = "shared" + PISysType string = "pi-sys-type" + PISysTypeDesc string = "PowerVS system type (s922, s1022, e880, e980)" + PISysTypeDefault string = "s1022" + PIStorageType string = "pi-storage-type" + PIStorageTypeDesc string = "PowerVS storage tier for instance and data volume (tier1, tier3)" + PIStorageTypeDefault string = "tier1" + PIDiskSize string = "pi-disk-size" + PIDiskSizeDesc string = "data volume size in GB attached to the PowerVS instance" + PIDiskSizeDefault int = 300 + + // IBM Z instance sizing + IZProfile string = "iz-profile" + IZProfileDesc string = "IBM Z VPC instance profile name" + IZProfileDefault string = "mz2-16x128" + IZDiskSize string = "iz-disk-size" + IZDiskSizeDesc string = "boot volume size in GB for the IBM Z instance (10-250 for general-purpose profile)" + IZDiskSizeDefault int = 250 + OtelAppCode string = "otel-app-code" OtelAppCodeDesc string = "OpenTelemetry appcode identifier (e.g. MAPT-001); when set together with --otel-auth-token, installs the otelcol-contrib filelog collector on the instance" OtelAuthToken string = "otel-auth-token" @@ -269,8 +305,10 @@ func AddGitLabRunnerFlags(fs *pflag.FlagSet) { fs.StringP(glRunnerGroupID, "", "", glRunnerGroupIDDesc) fs.StringP(glRunnerURL, "", glRunnerURLDefault, glRunnerURLDesc) fs.StringSlice(glRunnerTags, nil, glRunnerTagsDesc) + fs.Bool(glRunnerUnsecure, false, glRunnerUnsecureDesc) } + func CirrusPersistentWorkerArgs() *cirrus.PersistentWorkerArgs { if viper.IsSet(cirrusPWToken) { return &cirrus.PersistentWorkerArgs{ @@ -284,21 +322,31 @@ func CirrusPersistentWorkerArgs() *cirrus.PersistentWorkerArgs { return nil } -func GitLabRunnerArgs() *gitlab.GitLabRunnerArgs { +func GitLabRunnerArgs(arch *gitlab.Arch) *gitlab.GitLabRunnerArgs { if viper.IsSet(glRunnerToken) { + if viper.IsSet(glRunnerProjectID) && viper.IsSet(glRunnerGroupID) { + logging.Error("--glrunner-project-id and --glrunner-group-id are mutually exclusive; ignoring GitLab runner configuration") + return nil + } return &gitlab.GitLabRunnerArgs{ - GitLabPAT: viper.GetString(glRunnerToken), - ProjectID: viper.GetString(glRunnerProjectID), - GroupID: viper.GetString(glRunnerGroupID), - URL: viper.GetString(glRunnerURL), - Tags: viper.GetStringSlice(glRunnerTags), - Platform: &gitlab.Linux, - Arch: linuxArchAsGitLabArch(viper.GetString(LinuxArch)), + GitLabToken: viper.GetString(glRunnerToken), + ProjectID: viper.GetString(glRunnerProjectID), + GroupID: viper.GetString(glRunnerGroupID), + URL: viper.GetString(glRunnerURL), + Tags: viper.GetStringSlice(glRunnerTags), + Platform: &gitlab.Linux, + Arch: arch, + Unsecure: viper.GetBool(glRunnerUnsecure), + Concurrent: viper.GetInt(GlRunnerConcurrent), } } return nil } +func LinuxGitLabArch() *gitlab.Arch { + return linuxArchAsGitLabArch(viper.GetString(LinuxArch)) +} + func linuxArchAsCirrusArch(arch string) *cirrus.Arch { switch arch { case "x86_64": @@ -338,3 +386,4 @@ func MACArchAsGitLabArch(arch string) *gitlab.Arch { } return &gitlab.Arm64 } + diff --git a/go.mod b/go.mod index 3977764b4..c988e95ba 100644 --- a/go.mod +++ b/go.mod @@ -42,7 +42,7 @@ require ( github.com/pulumi/pulumi-azure-native-sdk/network/v3 v3.19.0 github.com/pulumi/pulumi-azure-native-sdk/resources/v3 v3.19.0 github.com/pulumi/pulumi-azure-native-sdk/storage/v3 v3.19.0 - github.com/pulumi/pulumi-gitlab/sdk/v8 v8.11.0 + github.com/pulumi/pulumi-gitlab/sdk/v9 v9.11.0 github.com/pulumi/pulumi-tls/sdk/v5 v5.5.0 golang.org/x/exp v0.0.0-20260529124908-c761662dc8c9 k8s.io/apimachinery v0.36.1 diff --git a/go.sum b/go.sum index 708c02435..892917384 100644 --- a/go.sum +++ b/go.sum @@ -436,8 +436,8 @@ github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.18 h1:emkSEfjXfz7i github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.18/go.mod h1:BriBqoV2I/58/AZy4/4oJfoiJYX7Nf/NxsAmGXDgvgo= github.com/pulumi/pulumi-docker/sdk/v4 v4.5.8 h1:rik9L2SIpsoDenY51MkogR6GWgu/0Sy/XmyQmKWNUqU= github.com/pulumi/pulumi-docker/sdk/v4 v4.5.8/go.mod h1:eph7BPNPkEIIK882/Ll4dbeHl5wZEc/UvTcUW0CK1UY= -github.com/pulumi/pulumi-gitlab/sdk/v8 v8.11.0 h1:nR406lhXeltZVfLXH8E4J5JetflNZePBgXz2eyHT7RM= -github.com/pulumi/pulumi-gitlab/sdk/v8 v8.11.0/go.mod h1:TU9R5gbZHqe1iJ054UW3ygPU8PxQcOi4J2n/YsnTviE= +github.com/pulumi/pulumi-gitlab/sdk/v9 v9.11.0 h1:XAcIDBAILoK5ZsiBagl+CnWEhquFPcZoJRwzXk4CyJ8= +github.com/pulumi/pulumi-gitlab/sdk/v9 v9.11.0/go.mod h1:CyyVZdQV+98BE3LSo5Gz8nzteNVnHaOsBZeMpzVZwZQ= github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.31.1 h1:Hg9RK9zqIU9kFbD5KeiON06gPP7cLgS68jvsgMBmPgw= github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.31.1/go.mod h1:BAWI9R3JEEGOp1JlXLPSZKwBGANSrPGUWKtMnS5w5qw= github.com/pulumi/pulumi-random/sdk/v4 v4.21.0 h1:j6LtoXue77y16trYOR40iqCUxXxv8TnxvOCOP/a0zVI= diff --git a/pkg/integrations/gitlab/glrunner.go b/pkg/integrations/gitlab/glrunner.go index 90928a4bf..f50ba64fa 100644 --- a/pkg/integrations/gitlab/glrunner.go +++ b/pkg/integrations/gitlab/glrunner.go @@ -5,7 +5,7 @@ import ( "fmt" "strconv" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/redhat-developer/mapt/pkg/integrations" "github.com/redhat-developer/mapt/pkg/util" @@ -44,10 +44,12 @@ func (args *GitLabRunnerArgs) GetUserDataValues() *integrations.UserDataValues { return nil } return &integrations.UserDataValues{ - Name: args.Name, - Token: args.AuthToken, // Use auth token (set by Pulumi during deployment) - CliURL: downloadURL(), - RepoURL: args.URL, + Name: args.Name, + Token: args.AuthToken, // Use auth token (set by Pulumi during deployment) + CliURL: downloadURL(), + RepoURL: args.URL, + Unsecure: args.Unsecure, + Concurrent: args.Concurrent, } } @@ -147,7 +149,7 @@ func CreateRunner(ctx *pulumi.Context, args *GitLabRunnerArgs) (pulumi.StringOut // Configure GitLab provider with PAT provider, err := gitlab.NewProvider(ctx, "gitlab-provider", &gitlab.ProviderArgs{ - Token: pulumi.String(args.GitLabPAT), + Token: pulumi.String(args.GitLabToken), BaseUrl: pulumi.String(args.URL), }) if err != nil { diff --git a/pkg/integrations/gitlab/snippet-linux.sh b/pkg/integrations/gitlab/snippet-linux.sh index c25b4d711..70f4aa621 100644 --- a/pkg/integrations/gitlab/snippet-linux.sh +++ b/pkg/integrations/gitlab/snippet-linux.sh @@ -8,17 +8,40 @@ chmod +x /tmp/gitlab-runner # Move to trusted path sudo mv /tmp/gitlab-runner /usr/bin/gitlab-runner -# Fix SELinux context -sudo restorecon -v /usr/bin/gitlab-runner +# Fix SELinux context (no-op on non-SELinux systems) +sudo restorecon -v /usr/bin/gitlab-runner 2>/dev/null || true -# Register runner +# Enable Podman socket so the docker executor can reach it +sudo systemctl enable --now podman.socket + +# Register runner using docker executor backed by Podman +# --docker-privileged is required for Podman: containers need CAP_SYS_ADMIN to mount /proc sudo gitlab-runner register \ --non-interactive \ --url "{{ .RepoURL }}" \ --token "{{ .Token }}" \ - --executor "shell" + --executor "docker" \ + --docker-image "fedora:latest" \ + --docker-host "unix:///run/podman/podman.sock" \ + --docker-privileged + +{{- if not .Unsecure}} +# Create a dedicated system user for running CI jobs +sudo useradd --system \ + --shell /bin/bash \ + --create-home \ + --home-dir /home/gitlab-runner \ + gitlab-runner + +RUNNER_USER=gitlab-runner +{{- else}} +RUNNER_USER={{ .User }} +{{- end}} # Install and start as service -sudo gitlab-runner install --user={{ .User }} +sudo gitlab-runner install --user="${RUNNER_USER}" +{{- if .Concurrent}} +sudo sed -i "s/^concurrent = .*/concurrent = {{.Concurrent}}/" /etc/gitlab-runner/config.toml +{{- end}} sudo systemctl daemon-reload sudo systemctl enable --now gitlab-runner diff --git a/pkg/integrations/gitlab/types.go b/pkg/integrations/gitlab/types.go index 8369917c2..1c8087b57 100644 --- a/pkg/integrations/gitlab/types.go +++ b/pkg/integrations/gitlab/types.go @@ -8,20 +8,24 @@ var ( Linux Platform = "linux" Darwin Platform = "darwin" - Arm64 Arch = "arm64" - Amd64 Arch = "amd64" - Arm Arch = "arm" + Arm64 Arch = "arm64" + Amd64 Arch = "amd64" + Arm Arch = "arm" + Ppc64le Arch = "ppc64le" + S390x Arch = "s390x" ) type GitLabRunnerArgs struct { - GitLabPAT string // Personal Access Token for Pulumi GitLab provider (input) - ProjectID string // GitLab project ID for project runner registration (mutually exclusive with GroupID) - GroupID string // GitLab group ID for group runner registration (mutually exclusive with ProjectID) - URL string // GitLab instance URL (e.g., https://gitlab.com) - Tags []string // Runner tags for job routing (e.g., ["linux", "aws", "spot"]) - Name string // Runner name/description (auto-generated from run ID) - Platform *Platform // Target platform - Arch *Arch // Target architecture - User string // OS user to run as - AuthToken string // Runner authentication token (set by Pulumi during deployment) + GitLabToken string // Token with create_runner scope (PAT, group/project access token, or service account token) + ProjectID string // GitLab project ID for project runner registration (mutually exclusive with GroupID) + GroupID string // GitLab group ID for group runner registration (mutually exclusive with ProjectID) + URL string // GitLab instance URL (e.g., https://gitlab.com) + Tags []string // Runner tags for job routing (e.g., ["linux", "aws", "spot"]) + Name string // Runner name/description (auto-generated from run ID) + Platform *Platform // Target platform + Arch *Arch // Target architecture + User string // OS user to run as (only used when Unsecure is true) + AuthToken string // Runner authentication token (set by Pulumi during deployment) + Unsecure bool // When false (default) a dedicated gitlab-runner system user is created; when true the runner service runs as User + Concurrent int // Maximum number of concurrent jobs (written to config.toml; 0 means leave at default of 1) } diff --git a/pkg/integrations/integrations.go b/pkg/integrations/integrations.go index 9843f7d84..7b59ceef7 100644 --- a/pkg/integrations/integrations.go +++ b/pkg/integrations/integrations.go @@ -6,14 +6,16 @@ import ( ) type UserDataValues struct { - CliURL string - User string - Name string - Token string - Labels string - Port string - RepoURL string - Executor string + CliURL string + User string + Name string + Token string + Labels string + Port string + RepoURL string + Executor string + Unsecure bool + Concurrent int } type IntegrationConfig interface { diff --git a/pkg/integrations/otelcol/otelcol.go b/pkg/integrations/otelcol/otelcol.go new file mode 100644 index 000000000..801cd16bb --- /dev/null +++ b/pkg/integrations/otelcol/otelcol.go @@ -0,0 +1,39 @@ +package otelcol + +import ( + _ "embed" + + cloudinit "github.com/redhat-developer/mapt/pkg/util/cloud-init" + "github.com/redhat-developer/mapt/pkg/util/file" +) + +// version is overridden at build time via -ldflags. +var version = "0.151.0" + +//go:embed snippet-linux.sh +var snippetLinux []byte + +// GetSnippet renders the install script template with the provided args and +// returns the shell script as a string. Returns an empty string when args is nil. +func GetSnippet(args *OtelcolArgs) (*string, error) { + if args == nil { + empty := "" + return &empty, nil + } + if args.ColVersion == "" { + args.ColVersion = version + } + snippet, err := file.Template(args, string(snippetLinux)) + return &snippet, err +} + +// GetSnippetAsCloudInitWritableFile returns the rendered install script indented +// with 6 spaces so it can be embedded directly as the content of a cloud-init +// write_files entry. +func GetSnippetAsCloudInitWritableFile(args *OtelcolArgs) (*string, error) { + snippet, err := GetSnippet(args) + if err != nil || len(*snippet) == 0 { + return snippet, err + } + return cloudinit.IndentWriteFile(snippet) +} diff --git a/pkg/integrations/otelcol/snippet-linux.sh b/pkg/integrations/otelcol/snippet-linux.sh new file mode 100644 index 000000000..ec7038edc --- /dev/null +++ b/pkg/integrations/otelcol/snippet-linux.sh @@ -0,0 +1,203 @@ +#!/bin/bash +set -euo pipefail + +PROXY_URL="" +if ! curl -sf --connect-timeout 5 --head {{.Endpoint}} > /dev/null 2>&1; then + PROXY_URL="http://squid.corp.redhat.com:3128" +fi + +# Download binary tarball — works on any Linux distro, no package manager needed +TAR_URL="https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v{{.ColVersion}}/otelcol-contrib_{{.ColVersion}}_linux_{{.Arch}}.tar.gz" +HTTPS_PROXY="$PROXY_URL" curl -fsSL -o /tmp/otelcol-contrib.tar.gz "$TAR_URL" +tar -xzf /tmp/otelcol-contrib.tar.gz -C /tmp otelcol-contrib +mv /tmp/otelcol-contrib /usr/local/bin/otelcol-contrib +chmod 755 /usr/local/bin/otelcol-contrib +chcon -t bin_t /usr/local/bin/otelcol-contrib 2>/dev/null || restorecon -v /usr/local/bin/otelcol-contrib 2>/dev/null || true +rm -f /tmp/otelcol-contrib.tar.gz + +# Create dedicated system user (idempotent) +useradd --system --no-create-home --shell /sbin/nologin otelcol-contrib 2>/dev/null || true + +# Create config and drop-in directories +mkdir -p /etc/otelcol-contrib /etc/systemd/system/otelcol-contrib.service.d + +# Write systemd service unit +cat > /etc/systemd/system/otelcol-contrib.service << 'SVCEOF' +[Unit] +Description=OpenTelemetry Collector Contrib +After=network.target + +[Service] +User=otelcol-contrib +Group=otelcol-contrib +EnvironmentFile=/etc/otelcol-contrib/otelcol-contrib.conf +EnvironmentFile=/etc/otelcol-contrib/auth_token +ExecStart=/usr/local/bin/otelcol-contrib $OTELCOL_OPTIONS +Restart=on-failure +RestartSec=5s +KillMode=process +SyslogIdentifier=otelcol-contrib + +[Install] +WantedBy=multi-user.target +SVCEOF + +# Drop-in: grant read access to all log files and expose hostname +cat > /etc/systemd/system/otelcol-contrib.service.d/capabilities.conf << 'CAPEOF' +[Service] +AmbientCapabilities=CAP_DAC_READ_SEARCH +Environment="HOSTNAME=%H" +CAPEOF + +# Options file consumed by ExecStart +printf 'OTELCOL_OPTIONS=--config /etc/otelcol-contrib/config.yaml\n' \ + > /etc/otelcol-contrib/otelcol-contrib.conf +chmod 640 /etc/otelcol-contrib/otelcol-contrib.conf + +# Auth token (mode 600 — readable only by otelcol-contrib user after chown) +printf 'OTEL_AUTH_TOKEN={{.AuthToken}}\n' > /etc/otelcol-contrib/auth_token +chmod 600 /etc/otelcol-contrib/auth_token + +# Collector configuration +cat > /etc/otelcol-contrib/config.yaml << 'OTELEOF' +receivers: + filelog/syslog: + include: + - {{.SyslogPath}} + start_at: end + include_file_path: true + include_file_name: true + exclude_older_than: 24h + operators: + - type: move + id: move_to_source_name + from: attributes["log.file.path"] + to: attributes["_sourceName"] + - type: remove + id: remove_file_name + field: attributes["log.file.name"] + - type: time_parser + id: parse_timestamp + layout: '%b %e %H:%M:%S' + parse_from: body + on_error: send + attributes: + index: "{{.Index}}" + _sourceCategory: syslog + _sourceHost: ${env:HOSTNAME} + filelog/secure: + include: + - {{.SecurePath}} + start_at: end + include_file_path: true + include_file_name: true + exclude_older_than: 24h + operators: + - type: move + id: move_to_source_name + from: attributes["log.file.path"] + to: attributes["_sourceName"] + - type: remove + id: remove_file_name + field: attributes["log.file.name"] + - type: time_parser + id: parse_timestamp + layout: '%b %e %H:%M:%S' + parse_from: body + on_error: send + attributes: + index: "{{.Index}}" + _sourceCategory: secure + _sourceHost: ${env:HOSTNAME} + filelog/audit: + include: + - /var/log/audit/audit.log + start_at: end + include_file_path: true + include_file_name: true + exclude_older_than: 24h + operators: + - type: move + id: move_to_source_name + from: attributes["log.file.path"] + to: attributes["_sourceName"] + - type: remove + id: remove_file_name + field: attributes["log.file.name"] + attributes: + index: "{{.Index}}" + _sourceCategory: audit + _sourceHost: ${env:HOSTNAME} +{{- if .MonitorGitLabRunner}} + filelog/gitlab-runner: + include: + - /var/log/gitlab-runner/runner.log + start_at: end + include_file_path: true + include_file_name: true + operators: + - type: move + id: move_to_source_name + from: attributes["log.file.path"] + to: attributes["_sourceName"] + - type: remove + id: remove_file_name + field: attributes["log.file.name"] + attributes: + index: "{{.Index}}" + _sourceCategory: gitlab-runner + _sourceHost: ${env:HOSTNAME} +{{- end}} +processors: + filter/drop_null_bytes: + logs: + log_record: + - 'IsMatch(body, "^\x00+$")' + batch: + timeout: "1s" + send_batch_size: 1024 + resource: + attributes: + - key: appcode + value: "{{.AppCode}}" + action: upsert + - key: com.redhat.otel.auth_token + value: "${env:OTEL_AUTH_TOKEN}" + action: upsert + - key: arch + value: "{{.Arch}}" + action: upsert +{{- range $k, $v := .ExtraAttrs}} + - key: {{$k}} + value: "{{$v}}" + action: upsert +{{- end}} +exporters: + otlphttp: + endpoint: "{{.Endpoint}}" + tls: + insecure_skip_verify: true +service: + telemetry: + logs: + level: "fatal" + metrics: + level: "basic" + pipelines: + logs: + receivers: [filelog/syslog, filelog/secure, filelog/audit{{if .MonitorGitLabRunner}}, filelog/gitlab-runner{{end}}] + processors: [filter/drop_null_bytes, resource, batch] + exporters: [otlphttp] +OTELEOF + +# Transfer ownership to the service user +chown -R otelcol-contrib:otelcol-contrib /etc/otelcol-contrib + +# Set up proxy drop-in if direct access to the endpoint was unavailable +if [ -n "$PROXY_URL" ]; then + printf '[Service]\nEnvironment="HTTPS_PROXY=%s/"\nEnvironment="NO_PROXY=10.*,192.168.*,localhost,127.0.0.1"\n' "$PROXY_URL" \ + > /etc/systemd/system/otelcol-contrib.service.d/proxy.conf +fi + +systemctl daemon-reload +systemctl enable --now otelcol-contrib diff --git a/pkg/integrations/otelcol/types.go b/pkg/integrations/otelcol/types.go new file mode 100644 index 000000000..39330f13a --- /dev/null +++ b/pkg/integrations/otelcol/types.go @@ -0,0 +1,29 @@ +package otelcol + +// Arch is a Linux architecture identifier used for binary download URLs. +type Arch string + +var ( + Ppc64le Arch = "ppc64le" + S390x Arch = "s390x" + Amd64 Arch = "amd64" + Arm64 Arch = "arm64" +) + +// OtelcolArgs holds all parameters needed to install and configure the +// otelcol-contrib filelog collector on a Linux host. +type OtelcolArgs struct { + AppCode string + AuthToken string + Index string + Endpoint string + ColVersion string // overridden from module var if empty + Arch Arch // target linux arch (ppc64le, s390x, amd64, arm64) + SyslogPath string // distro-specific syslog path + SecurePath string // distro-specific auth/secure log path + ExtraAttrs map[string]string // additional resource attributes + + // MonitorGitLabRunner adds a filelog/gitlab-runner receiver that tails + // /var/log/gitlab-runner/runner.log when set to true. + MonitorGitLabRunner bool +} diff --git a/pkg/provider/ibmcloud/action/ibm-power/cloud-config b/pkg/provider/ibmcloud/action/ibm-power/cloud-config index 8f07f2aba..45fc8fed8 100644 --- a/pkg/provider/ibmcloud/action/ibm-power/cloud-config +++ b/pkg/provider/ibmcloud/action/ibm-power/cloud-config @@ -1,149 +1,99 @@ #cloud-config -{{- if and .AppCode .OtelAuthToken .OtelIndex}} write_files: - - path: /etc/otelcol-contrib/config.yaml - permissions: '0640' + - path: /usr/local/bin/mount-data-home.sh + permissions: '0700' + owner: root:root content: | - receivers: - filelog/syslog: - include: - - /var/log/messages - start_at: end - include_file_path: true - include_file_name: true - exclude_older_than: 24h - operators: - - type: move - id: move_to_source_name - from: attributes["log.file.path"] - to: attributes["_sourceName"] - - type: remove - id: remove_file_name - field: attributes["log.file.name"] - - type: time_parser - id: parse_timestamp - layout: '%b %e %H:%M:%S' - parse_from: body - on_error: send - attributes: - index: "{{.OtelIndex}}" - _sourceCategory: syslog - _sourceHost: ${env:HOSTNAME} - filelog/secure: - include: - - /var/log/secure - start_at: end - include_file_path: true - include_file_name: true - exclude_older_than: 24h - operators: - - type: move - id: move_to_source_name - from: attributes["log.file.path"] - to: attributes["_sourceName"] - - type: remove - id: remove_file_name - field: attributes["log.file.name"] - - type: time_parser - id: parse_timestamp - layout: '%b %e %H:%M:%S' - parse_from: body - on_error: send - attributes: - index: "{{.OtelIndex}}" - _sourceCategory: secure - _sourceHost: ${env:HOSTNAME} - filelog/audit: - include: - - /var/log/audit/audit.log - start_at: end - include_file_path: true - include_file_name: true - exclude_older_than: 24h - operators: - - type: move - id: move_to_source_name - from: attributes["log.file.path"] - to: attributes["_sourceName"] - - type: remove - id: remove_file_name - field: attributes["log.file.name"] - attributes: - index: "{{.OtelIndex}}" - _sourceCategory: audit - _sourceHost: ${env:HOSTNAME} - processors: - filter/drop_null_bytes: - logs: - log_record: - - 'IsMatch(body, "^\x00+$")' - batch: - timeout: "1s" - send_batch_size: 1024 - resource: - attributes: - - key: appcode - value: "{{.AppCode}}" - action: upsert - - key: com.redhat.otel.auth_token - value: "${env:OTEL_AUTH_TOKEN}" - action: upsert - - key: arch - value: "{{.OtelArch}}" - action: upsert -{{- range $k, $v := .OtelExtraAttrs}} - - key: {{$k}} - value: "{{$v}}" - action: upsert -{{- end}} - exporters: - otlphttp: - endpoint: "{{.OtelEndpoint}}" - tls: - insecure_skip_verify: true - service: - telemetry: - logs: - level: "fatal" - metrics: - level: "basic" - pipelines: - logs: - receivers: [filelog/syslog, filelog/secure, filelog/audit] - processors: [filter/drop_null_bytes, resource, batch] - exporters: [otlphttp] - - path: /etc/otelcol-contrib/auth_token - permissions: '0600' + #!/bin/bash + set -euo pipefail + if mountpoint -q /home; then + mkdir -p /home/containers/storage + mkdir -p /etc/containers/storage.conf.d + printf '[storage]\ngraphRoot = "/home/containers/storage"\n' \ + > /etc/containers/storage.conf.d/99-graphroot.conf + exit 0 + fi + DATA_DEV="" + while true; do + DATA_DEV=$(lsblk -rnpo NAME,TYPE | awk '$2=="mpath"{mpath[$1]=1} $2=="part"{p=$1; sub(/p[0-9]+$/,"",p); has_part[p]=1} END{for(d in mpath) if(!has_part[d]&&d!~/control/) print d}' | head -1) + [ -n "$DATA_DEV" ] && break + udevadm trigger --subsystem-match=block 2>/dev/null || true + udevadm settle 2>/dev/null || true + multipathd reconfigure 2>/dev/null || true + sleep 10 + done + udevadm settle 2>/dev/null || true + sleep 10 + mkfs.xfs -f -K "$DATA_DEV" + UUID=$(blkid -s UUID -o value "$DATA_DEV") + mkdir -p /mnt/home-tmp + cp -a /home/. /mnt/home-tmp/ + mount "$DATA_DEV" /home + cp -a /mnt/home-tmp/. /home/ + rm -rf /mnt/home-tmp + echo "UUID=$UUID /home xfs defaults 0 2" >> /etc/fstab + mkdir -p /home/containers/storage + mkdir -p /etc/containers/storage.conf.d + printf '[storage]\ngraphRoot = "/home/containers/storage"\n' \ + > /etc/containers/storage.conf.d/99-graphroot.conf + - path: /etc/systemd/system/mount-data-home.service + permissions: '0644' content: | - OTEL_AUTH_TOKEN={{.OtelAuthToken}} - - path: /etc/systemd/system/otelcol-contrib.service.d/capabilities.conf + [Unit] + Description=Mount data volume at /home + + [Service] + Type=oneshot + ExecStart=/usr/local/bin/mount-data-home.sh + RemainAfterExit=yes + TimeoutStartSec=0 + + [Install] + WantedBy=multi-user.target +{{- if .OtelColScript}} + - path: /opt/install-otelcol.sh + permissions: '0700' + owner: root:root + content: | +{{.OtelColScript}} +{{- end}} +{{- if .GitLabRunnerScript}} + - path: /etc/systemd/system/gitlab-runner.service.d/logging.conf permissions: '0644' content: | [Service] - AmbientCapabilities=CAP_DAC_READ_SEARCH - Environment="HOSTNAME=%H" - EnvironmentFile=/etc/otelcol-contrib/auth_token + StandardOutput=append:/var/log/gitlab-runner/runner.log + StandardError=append:/var/log/gitlab-runner/runner.log + - path: /etc/logrotate.d/gitlab-runner + permissions: '0644' + content: | + /var/log/gitlab-runner/runner.log { + daily + rotate 7 + compress + delaycompress + missingok + notifempty + copytruncate + } + - path: /opt/install-glrunner.sh + permissions: '0700' + owner: root:root + content: | +{{.GitLabRunnerScript}} {{- end}} runcmd: + - systemctl enable mount-data-home.service + - dnf install -y git podman - | IFACE=$(ip route show default | awk '/default/ {print $5; exit}') ip route add 10.0.0.0/8 via {{.Gateway}} dev "$IFACE" 2>/dev/null || true echo "10.0.0.0/8 via {{.Gateway}}" > "/etc/sysconfig/network-scripts/route-$IFACE" -{{- if and .AppCode .OtelAuthToken .OtelIndex}} - - | - PROXY_URL="" - if ! curl -sf --connect-timeout 5 --head {{.OtelEndpoint}} > /dev/null 2>&1; then - PROXY_URL="http://squid.corp.redhat.com:3128" - fi - RPM_URL="https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v{{.OtelColVersion}}/otelcol-contrib_{{.OtelColVersion}}_linux_ppc64le.rpm" - HTTPS_PROXY="$PROXY_URL" curl -fsSL -o /tmp/otelcol-contrib.rpm "$RPM_URL" - rpm -i /tmp/otelcol-contrib.rpm - rm -f /tmp/otelcol-contrib.rpm - chown -R otelcol-contrib:otelcol-contrib /etc/otelcol-contrib - if [ -n "$PROXY_URL" ]; then - printf '[Service]\nEnvironment="HTTPS_PROXY=%s/"\nEnvironment="NO_PROXY=10.*,192.168.*,localhost,127.0.0.1"\n' "$PROXY_URL" \ - > /etc/systemd/system/otelcol-contrib.service.d/proxy.conf - fi - systemctl daemon-reload - systemctl enable --now otelcol-contrib + - systemctl start mount-data-home.service +{{- if .OtelColScript}} + - bash /opt/install-otelcol.sh +{{- end}} +{{- if .GitLabRunnerScript}} + - mkdir -p /var/log/gitlab-runner + - bash /opt/install-glrunner.sh {{- end}} diff --git a/pkg/provider/ibmcloud/action/ibm-power/ibm-power.go b/pkg/provider/ibmcloud/action/ibm-power/ibm-power.go index 37a11d6b3..655a8860f 100644 --- a/pkg/provider/ibmcloud/action/ibm-power/ibm-power.go +++ b/pkg/provider/ibmcloud/action/ibm-power/ibm-power.go @@ -4,11 +4,15 @@ import ( _ "embed" "encoding/base64" "fmt" + "strings" "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud" "github.com/pulumi/pulumi-tls/sdk/v5/go/tls" "github.com/pulumi/pulumi/sdk/v3/go/auto" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/redhat-developer/mapt/pkg/integrations" + "github.com/redhat-developer/mapt/pkg/integrations/gitlab" + "github.com/redhat-developer/mapt/pkg/integrations/otelcol" "github.com/redhat-developer/mapt/pkg/manager" mc "github.com/redhat-developer/mapt/pkg/manager/context" ibmcloudp "github.com/redhat-developer/mapt/pkg/provider/ibmcloud" @@ -24,18 +28,10 @@ import ( //go:embed cloud-config var CloudConfig []byte -// otelColVersion is overridden at build time via -ldflags. -var otelColVersion = "0.151.0" - type userDataValues struct { - Gateway string - AppCode string - OtelAuthToken string - OtelEndpoint string - OtelColVersion string - OtelIndex string - OtelArch string - OtelExtraAttrs map[string]string + Gateway string + OtelColScript string + GitLabRunnerScript string } const ( @@ -56,12 +52,6 @@ const ( bastionProfile = "cx2-2x4" bastionImage = "ibm-ubuntu-24-04" - // Standard large build-host sizing on an s1022 (Power10) frame with shared processors and tier1 SSD. - instanceMemory = 256.0 - instanceProcs = 8.0 - instanceProcType = "shared" - instanceSysType = "s1022" - instanceStorageType = "tier1" ) type PWArgs struct { @@ -72,6 +62,13 @@ type PWArgs struct { // with a floating IP is created in this subnet to provide SSH access to // the PowerVS instance over the Transit Gateway private network. VPCPublicSubnetID string + // Instance sizing + Memory float64 + Processors float64 + ProcType string + SysType string + StorageType string + DiskSize int // OtelAppCode, OtelAuthToken, and OtelEndpoint are optional. When AppCode // and AuthToken are both set, the otelcol-contrib filelog collector is // installed and started, shipping logs to OtelEndpoint. @@ -88,6 +85,12 @@ type pwRequest struct { piPrivateSubnetID string workspaceID string vpcPublicSubnetID string + memory float64 + processors float64 + procType string + sysType string + storageType string + diskSize int otelAppCode string otelAuthToken string otelEndpoint string @@ -116,6 +119,12 @@ func New(ctx *mc.ContextArgs, args *PWArgs) error { piPrivateSubnetID: args.PIPrivateSubnetID, workspaceID: args.WorkspaceID, vpcPublicSubnetID: args.VPCPublicSubnetID, + memory: args.Memory, + processors: args.Processors, + procType: args.ProcType, + sysType: args.SysType, + storageType: args.StorageType, + diskSize: args.DiskSize, otelAppCode: args.OtelAppCode, otelAuthToken: args.OtelAuthToken, otelEndpoint: args.OtelEndpoint, @@ -160,9 +169,52 @@ func (r *pwRequest) deploy(ctx *pulumi.Context) error { return fmt.Errorf("failed to look up private subnet: %w", err) } - userData, err := piUserData(subnetInfo.Gateway, r.otelAppCode, r.otelAuthToken, r.otelEndpoint, r.otelIndex, r.otelExtraAttrs) - if err != nil { - return fmt.Errorf("failed to render user data: %w", err) + otelSet := 0 + for _, f := range []string{r.otelAppCode, r.otelAuthToken, r.otelIndex} { + if f != "" { + otelSet++ + } + } + if otelSet > 0 && otelSet < 3 { + return fmt.Errorf("partial otel configuration: --otel-app-code, --otel-auth-token, and --otel-index must all be set together") + } + hasOtel := otelSet == 3 + + var piUserDataInput pulumi.StringPtrInput + glRunnerArgs := gitlab.GetRunnerArgs() + if glRunnerArgs != nil { + authToken, err := gitlab.CreateRunner(ctx, glRunnerArgs) + if err != nil { + return err + } + gateway := subnetInfo.Gateway + localArgs := *glRunnerArgs + piUserDataInput = authToken.ApplyT(func(token string) (*string, error) { + localArgs.AuthToken = token + glSnippet, err := integrations.GetIntegrationSnippetAsCloudInitWritableFile(&localArgs, defaultUser) + if err != nil { + return nil, err + } + var otelArgs *otelcol.OtelcolArgs + if hasOtel { + otelArgs = r.otelArgs(true) + } + ud, err := piUserData(gateway, otelArgs, *glSnippet) + if err != nil { + return nil, err + } + return &ud, nil + }).(pulumi.StringPtrOutput) + } else { + var otelArgs *otelcol.OtelcolArgs + if hasOtel { + otelArgs = r.otelArgs(false) + } + ud, err := piUserData(subnetInfo.Gateway, otelArgs, "") + if err != nil { + return fmt.Errorf("failed to render user data: %w", err) + } + piUserDataInput = pulumi.StringPtr(ud) } imageId, err := icdata.GetImage(r.mCtx, @@ -178,16 +230,16 @@ func (r *pwRequest) deploy(ctx *pulumi.Context) error { resourcesUtil.GetResourceName(*r.prefix, stackIBMPowerVS, "pii"), &ibmcloud.PiInstanceArgs{ PiInstanceName: pulumi.String(r.mCtx.ProjectName()), - PiMemory: pulumi.Float64(instanceMemory), - PiProcessors: pulumi.Float64(instanceProcs), - PiProcType: pulumi.String(instanceProcType), - PiSysType: pulumi.String(instanceSysType), + PiMemory: pulumi.Float64(r.memory), + PiProcessors: pulumi.Float64(r.processors), + PiProcType: pulumi.String(r.procType), + PiSysType: pulumi.String(r.sysType), PiImageId: pulumi.String(*imageId), PiHealthStatus: pulumi.String("WARNING"), PiCloudInstanceId: pulumi.String(r.workspaceID), - PiStorageType: pulumi.String(instanceStorageType), + PiStorageType: pulumi.String(r.storageType), PiKeyPairName: pki.PiKeyName, - PiUserData: pulumi.StringPtr(userData), + PiUserData: piUserDataInput, PiNetworks: ibmcloud.PiInstancePiNetworkArray{ &ibmcloud.PiInstancePiNetworkArgs{ NetworkId: pulumi.String(r.piPrivateSubnetID), @@ -198,6 +250,40 @@ func (r *pwRequest) deploy(ctx *pulumi.Context) error { return err } + // Both i.ID() and piv.ID() return "cloudInstanceId/resourceId" — extract just the resource ID + splitID := func(id string) (string, error) { + if parts := strings.SplitN(id, "/", 2); len(parts) == 2 { + return parts[1], nil + } + return id, nil + } + piInstanceId := i.ID().ApplyT(splitID).(pulumi.StringOutput) + piv, err := ibmcloud.NewPiVolume(ctx, + resourcesUtil.GetResourceName(*r.prefix, stackIBMPowerVS, "piv"), + &ibmcloud.PiVolumeArgs{ + PiCloudInstanceId: pulumi.String(r.workspaceID), + PiVolumeName: pulumi.String(r.mCtx.ProjectName()), + PiVolumeSize: pulumi.Float64(float64(r.diskSize)), + PiVolumeType: pulumi.String(r.storageType), + PiVolumeShareable: pulumi.Bool(false), + PiAffinityPolicy: pulumi.String("affinity"), + PiAffinityInstance: piInstanceId.ToStringPtrOutput(), + }) + if err != nil { + return err + } + pivVolumeId := piv.ID().ApplyT(splitID).(pulumi.StringOutput) + _, err = ibmcloud.NewPiVolumeAttach(ctx, + resourcesUtil.GetResourceName(*r.prefix, stackIBMPowerVS, "piva"), + &ibmcloud.PiVolumeAttachArgs{ + PiCloudInstanceId: pulumi.String(r.workspaceID), + PiInstanceId: piInstanceId, + PiVolumeId: pivVolumeId, + }) + if err != nil { + return err + } + ctx.Export(fmt.Sprintf("%s-%s", *r.prefix, outputUsername), pulumi.String(defaultUser)) // Use ExternalIp when available (pub-vlan network); fall back to IpAddress for private networks. ctx.Export(fmt.Sprintf("%s-%s", *r.prefix, outputHost), @@ -350,19 +436,36 @@ func piKey(ctx *pulumi.Context, mCtx *mc.Context, prefix, cId string, cloudInsta return pk, pik, err } +func (r *pwRequest) otelArgs(monitorGitLabRunner bool) *otelcol.OtelcolArgs { + return &otelcol.OtelcolArgs{ + AppCode: r.otelAppCode, + AuthToken: r.otelAuthToken, + Index: r.otelIndex, + Endpoint: r.otelEndpoint, + Arch: otelcol.Ppc64le, + SyslogPath: "/var/log/messages", + SecurePath: "/var/log/secure", + ExtraAttrs: r.otelExtraAttrs, + MonitorGitLabRunner: monitorGitLabRunner, + } +} + // piUserData renders the cloud-config template and returns it base64-encoded // for use as PiUserData on a PowerVS instance. -func piUserData(gateway, otelAppCode, otelAuthToken, otelEndpoint, otelIndex string, otelExtraAttrs map[string]string) (string, error) { +func piUserData(gateway string, otelArgs *otelcol.OtelcolArgs, glRunnerScript string) (string, error) { + otelScript := "" + if otelArgs != nil { + s, err := otelcol.GetSnippetAsCloudInitWritableFile(otelArgs) + if err != nil { + return "", err + } + otelScript = *s + } script, err := file.Template( userDataValues{ - Gateway: gateway, - AppCode: otelAppCode, - OtelAuthToken: otelAuthToken, - OtelEndpoint: otelEndpoint, - OtelColVersion: otelColVersion, - OtelIndex: otelIndex, - OtelArch: "ppc64le", - OtelExtraAttrs: otelExtraAttrs, + Gateway: gateway, + OtelColScript: otelScript, + GitLabRunnerScript: glRunnerScript, }, string(CloudConfig)) if err != nil { diff --git a/pkg/provider/ibmcloud/action/ibm-power/ibm-power_test.go b/pkg/provider/ibmcloud/action/ibm-power/ibm-power_test.go new file mode 100644 index 000000000..12fee0b4d --- /dev/null +++ b/pkg/provider/ibmcloud/action/ibm-power/ibm-power_test.go @@ -0,0 +1,100 @@ +package ibmpower + +import ( + "encoding/base64" + "strings" + "testing" + + "github.com/redhat-developer/mapt/pkg/integrations/otelcol" +) + +func TestPiUserData_noRunner(t *testing.T) { + out, err := piUserData("10.0.0.1", nil, "") + if err != nil { + t.Fatalf("piUserData returned error: %v", err) + } + decoded, err := base64.StdEncoding.DecodeString(out) + if err != nil { + t.Fatalf("output is not valid base64: %v", err) + } + cfg := string(decoded) + if !strings.HasPrefix(cfg, "#cloud-config") { + t.Errorf("expected #cloud-config header, got: %s", cfg[:min(len(cfg), 40)]) + } + if strings.Contains(cfg, "install-glrunner") { + t.Error("expected no GitLab runner section when script is empty") + } + if !strings.Contains(cfg, "mount-data-home") { + t.Error("expected mount-data-home service in write_files regardless of runner/otel config") + } +} + +func TestPiUserData_withRunner(t *testing.T) { + script := " #!/bin/bash\n echo hello" + out, err := piUserData("10.0.0.1", nil, script) + if err != nil { + t.Fatalf("piUserData returned error: %v", err) + } + decoded, err := base64.StdEncoding.DecodeString(out) + if err != nil { + t.Fatalf("output is not valid base64: %v", err) + } + cfg := string(decoded) + if !strings.Contains(cfg, "install-glrunner.sh") { + t.Error("expected install-glrunner.sh in write_files") + } + if !strings.Contains(cfg, "bash /opt/install-glrunner.sh") { + t.Error("expected runcmd entry to execute the runner script") + } + if !strings.Contains(cfg, "write_files") { + t.Error("expected write_files section") + } +} + +func TestPiUserData_withOtelAndRunner(t *testing.T) { + script := " #!/bin/bash\n echo hello" + args := &otelcol.OtelcolArgs{ + AppCode: "MYAPP", + AuthToken: "tok", + Endpoint: "https://otel.example.com", + Index: "my-index", + Arch: otelcol.Ppc64le, + SyslogPath: "/var/log/messages", + SecurePath: "/var/log/secure", + MonitorGitLabRunner: true, + } + out, err := piUserData("10.0.0.1", args, script) + if err != nil { + t.Fatalf("piUserData returned error: %v", err) + } + decoded, err := base64.StdEncoding.DecodeString(out) + if err != nil { + t.Fatalf("output is not valid base64: %v", err) + } + cfg := string(decoded) + if !strings.Contains(cfg, "otelcol-contrib") { + t.Error("expected otel section") + } + if !strings.Contains(cfg, "install-glrunner.sh") { + t.Error("expected GitLab runner section") + } + if !strings.Contains(cfg, "filelog/gitlab-runner") { + t.Error("expected gitlab-runner filelog receiver in otelcol config") + } + if !strings.Contains(cfg, "/var/log/gitlab-runner/runner.log") { + t.Error("expected runner log path in otelcol config") + } + if !strings.Contains(cfg, "filelog/syslog, filelog/secure, filelog/audit, filelog/gitlab-runner") { + t.Error("expected gitlab-runner included in otelcol pipeline receivers") + } + if !strings.Contains(cfg, "StandardOutput=append:/var/log/gitlab-runner") { + t.Error("expected systemd drop-in to redirect runner stdout to log file") + } +} + +func min(a, b int) int { + if a < b { + return a + } + return b +} diff --git a/pkg/provider/ibmcloud/action/ibm-z/cloud-config b/pkg/provider/ibmcloud/action/ibm-z/cloud-config index 162e04272..a1546c5d2 100644 --- a/pkg/provider/ibmcloud/action/ibm-z/cloud-config +++ b/pkg/provider/ibmcloud/action/ibm-z/cloud-config @@ -1,145 +1,46 @@ #cloud-config -{{- if and .AppCode .OtelAuthToken .OtelIndex}} +{{- if or .OtelColScript .GitLabRunnerScript}} write_files: - - path: /etc/otelcol-contrib/config.yaml - permissions: '0640' +{{- if .OtelColScript}} + - path: /opt/install-otelcol.sh + permissions: '0700' + owner: root:root content: | - receivers: - filelog/syslog: - include: - - /var/log/syslog - start_at: end - include_file_path: true - include_file_name: true - exclude_older_than: 24h - operators: - - type: move - id: move_to_source_name - from: attributes["log.file.path"] - to: attributes["_sourceName"] - - type: remove - id: remove_file_name - field: attributes["log.file.name"] - - type: time_parser - id: parse_timestamp - layout: '%b %e %H:%M:%S' - parse_from: body - on_error: send - attributes: - index: "{{.OtelIndex}}" - _sourceCategory: syslog - _sourceHost: ${env:HOSTNAME} - filelog/secure: - include: - - /var/log/auth.log - start_at: end - include_file_path: true - include_file_name: true - exclude_older_than: 24h - operators: - - type: move - id: move_to_source_name - from: attributes["log.file.path"] - to: attributes["_sourceName"] - - type: remove - id: remove_file_name - field: attributes["log.file.name"] - - type: time_parser - id: parse_timestamp - layout: '%b %e %H:%M:%S' - parse_from: body - on_error: send - attributes: - index: "{{.OtelIndex}}" - _sourceCategory: secure - _sourceHost: ${env:HOSTNAME} - filelog/audit: - include: - - /var/log/audit/audit.log - start_at: end - include_file_path: true - include_file_name: true - exclude_older_than: 24h - operators: - - type: move - id: move_to_source_name - from: attributes["log.file.path"] - to: attributes["_sourceName"] - - type: remove - id: remove_file_name - field: attributes["log.file.name"] - attributes: - index: "{{.OtelIndex}}" - _sourceCategory: audit - _sourceHost: ${env:HOSTNAME} - processors: - filter/drop_null_bytes: - logs: - log_record: - - 'IsMatch(body, "^\x00+$")' - batch: - timeout: "1s" - send_batch_size: 1024 - resource: - attributes: - - key: appcode - value: "{{.AppCode}}" - action: upsert - - key: com.redhat.otel.auth_token - value: "${env:OTEL_AUTH_TOKEN}" - action: upsert - - key: arch - value: "{{.OtelArch}}" - action: upsert -{{- range $k, $v := .OtelExtraAttrs}} - - key: {{$k}} - value: "{{$v}}" - action: upsert +{{.OtelColScript}} {{- end}} - exporters: - otlphttp: - endpoint: "{{.OtelEndpoint}}" - tls: - insecure_skip_verify: true - service: - telemetry: - logs: - level: "fatal" - metrics: - level: "basic" - pipelines: - logs: - receivers: [filelog/syslog, filelog/secure, filelog/audit] - processors: [filter/drop_null_bytes, resource, batch] - exporters: [otlphttp] - - path: /etc/otelcol-contrib/auth_token - permissions: '0600' - content: | - OTEL_AUTH_TOKEN={{.OtelAuthToken}} - - path: /etc/systemd/system/otelcol-contrib.service.d/capabilities.conf +{{- if .GitLabRunnerScript}} + - path: /etc/systemd/system/gitlab-runner.service.d/logging.conf permissions: '0644' content: | [Service] - AmbientCapabilities=CAP_DAC_READ_SEARCH - Environment="HOSTNAME=%H" - EnvironmentFile=/etc/otelcol-contrib/auth_token + StandardOutput=append:/var/log/gitlab-runner/runner.log + StandardError=append:/var/log/gitlab-runner/runner.log + - path: /etc/logrotate.d/gitlab-runner + permissions: '0644' + content: | + /var/log/gitlab-runner/runner.log { + daily + rotate 7 + compress + delaycompress + missingok + notifempty + copytruncate + } + - path: /opt/install-glrunner.sh + permissions: '0700' + owner: root:root + content: | +{{.GitLabRunnerScript}} +{{- end}} {{- end}} -{{- if and .AppCode .OtelAuthToken .OtelIndex}} runcmd: - - | - PROXY_URL="" - if ! curl -sf --connect-timeout 5 --head {{.OtelEndpoint}} > /dev/null 2>&1; then - PROXY_URL="http://squid.corp.redhat.com:3128" - fi - DEB_URL="https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v{{.OtelColVersion}}/otelcol-contrib_{{.OtelColVersion}}_linux_s390x.deb" - HTTPS_PROXY="$PROXY_URL" curl -fsSL -o /tmp/otelcol-contrib.deb "$DEB_URL" - dpkg -i --force-confold /tmp/otelcol-contrib.deb - rm -f /tmp/otelcol-contrib.deb - chown -R otelcol-contrib:otelcol-contrib /etc/otelcol-contrib - if [ -n "$PROXY_URL" ]; then - printf '[Service]\nEnvironment="HTTPS_PROXY=%s/"\nEnvironment="NO_PROXY=10.*,192.168.*,localhost,127.0.0.1"\n' "$PROXY_URL" \ - > /etc/systemd/system/otelcol-contrib.service.d/proxy.conf - fi - systemctl daemon-reload - systemctl enable --now otelcol-contrib + - apt-get update -y + - apt-get install -y git podman +{{- if .OtelColScript}} + - bash /opt/install-otelcol.sh +{{- end}} +{{- if .GitLabRunnerScript}} + - mkdir -p /var/log/gitlab-runner + - bash /opt/install-glrunner.sh {{- end}} diff --git a/pkg/provider/ibmcloud/action/ibm-z/ibm-z.go b/pkg/provider/ibmcloud/action/ibm-z/ibm-z.go index 37fbb1abb..0e548aef7 100644 --- a/pkg/provider/ibmcloud/action/ibm-z/ibm-z.go +++ b/pkg/provider/ibmcloud/action/ibm-z/ibm-z.go @@ -11,6 +11,9 @@ import ( "github.com/pulumi/pulumi-tls/sdk/v5/go/tls" "github.com/pulumi/pulumi/sdk/v3/go/auto" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/redhat-developer/mapt/pkg/integrations" + "github.com/redhat-developer/mapt/pkg/integrations/gitlab" + "github.com/redhat-developer/mapt/pkg/integrations/otelcol" "github.com/redhat-developer/mapt/pkg/manager" mc "github.com/redhat-developer/mapt/pkg/manager/context" ibmcloudp "github.com/redhat-developer/mapt/pkg/provider/ibmcloud" @@ -27,17 +30,9 @@ import ( //go:embed cloud-config var CloudConfig []byte -// otelColVersion is overridden at build time via -ldflags. -var otelColVersion = "0.151.0" - type userDataValues struct { - AppCode string - OtelAuthToken string - OtelEndpoint string - OtelColVersion string - OtelIndex string - OtelArch string - OtelExtraAttrs map[string]string + OtelColScript string + GitLabRunnerScript string } const ( @@ -55,6 +50,9 @@ type ZArgs struct { // instead of provisioning a new VPC and subnet. IC_ZONE is not required // when this field is provided. SubnetID string + // Instance sizing + Profile string + DiskSize int // OtelAppCode, OtelAuthToken, and OtelEndpoint are optional. When AppCode // and AuthToken are both set, the otelcol-contrib filelog collector is // installed and started, shipping logs to OtelEndpoint. @@ -66,15 +64,19 @@ type ZArgs struct { } type zRequest struct { - mCtx *mc.Context - prefix *string - zone *string - subnetID *string - otelAppCode string - otelAuthToken string - otelEndpoint string - otelIndex string - otelExtraAttrs map[string]string + mCtx *mc.Context + prefix *string + zone *string + subnetID *string + profile string + diskSize int + otelAppCode string + otelAuthToken string + otelEndpoint string + otelIndex string + otelExtraAttrs map[string]string + glAuthToken *pulumi.StringOutput + glRunnerArgsCopy *gitlab.GitLabRunnerArgs } // New provisions an IBM Z (s390x) VPC instance. When SubnetID is set the @@ -106,10 +108,12 @@ func New(ctx *mc.ContextArgs, args *ZArgs) error { } r := &zRequest{ - mCtx: mCtx, - prefix: &prefix, - zone: zone, - subnetID: subnetID, + mCtx: mCtx, + prefix: &prefix, + zone: zone, + subnetID: subnetID, + profile: args.Profile, + diskSize: args.DiskSize, otelAppCode: args.OtelAppCode, otelAuthToken: args.OtelAuthToken, otelEndpoint: args.OtelEndpoint, @@ -140,6 +144,15 @@ func Destroy(mCtxArgs *mc.ContextArgs) (err error) { } func (r *zRequest) deploy(ctx *pulumi.Context) error { + if glRunnerArgs := gitlab.GetRunnerArgs(); glRunnerArgs != nil && r.glAuthToken == nil { + authToken, err := gitlab.CreateRunner(ctx, glRunnerArgs) + if err != nil { + return err + } + r.glAuthToken = &authToken + argsCopy := *glRunnerArgs + r.glRunnerArgsCopy = &argsCopy + } if r.subnetID != nil { return r.deployWithExistingSubnet(ctx) } @@ -170,18 +183,21 @@ func (r *zRequest) deploy(ctx *pulumi.Context) error { } ctx.Export(fmt.Sprintf("%s-%s", *r.prefix, outputUserPrivateKey), pk.PrivateKeyPem) imageId, err := icdata.GetVPCImage(&icdata.VPCImageArgs{ - Name: "ibm-ubuntu-22-04", + Name: "ibm-ubuntu-24-04", Arch: icdata.VPC_ARCH_IBMZ, }) if err != nil { return err } instanceArgs := &ibmcloud.IsInstanceArgs{ - Name: pulumi.String(r.mCtx.ProjectName()), - Image: pulumi.String(*imageId), - Profile: pulumi.String("bz2-16x64"), - Vpc: n.VPC.ID(), - Zone: pulumi.String(zone), + Name: pulumi.String(r.mCtx.ProjectName()), + Image: pulumi.String(*imageId), + Profile: pulumi.String(r.profile), + Vpc: n.VPC.ID(), + Zone: pulumi.String(zone), + BootVolume: &ibmcloud.IsInstanceBootVolumeArgs{ + Size: pulumi.Int(r.diskSize), + }, ResourceGroup: rg.ID(), Keys: pulumi.StringArray{pik.ID()}, PrimaryNetworkInterface: &ibmcloud.IsInstancePrimaryNetworkInterfaceArgs{ @@ -191,13 +207,11 @@ func (r *zRequest) deploy(ctx *pulumi.Context) error { }, }, } - if r.otelAppCode != "" && r.otelAuthToken != "" { - ud, err := izUserData(r.otelAppCode, r.otelAuthToken, r.otelEndpoint, r.otelIndex, r.otelExtraAttrs) - if err != nil { - return fmt.Errorf("failed to render user data: %w", err) - } - instanceArgs.UserData = pulumi.StringPtr(ud) + userData, err := r.buildUserDataInput() + if err != nil { + return err } + instanceArgs.UserData = userData // https://cloud.ibm.com/docs/vpc?topic=vpc-profiles&interface=ui&q=s390x&tags=vpc i, err := ibmcloud.NewIsInstance(ctx, resourcesUtil.GetResourceName(*r.prefix, stackIBMS390, "is"), @@ -261,7 +275,7 @@ func (r *zRequest) deployWithExistingSubnet(ctx *pulumi.Context) error { } ctx.Export(fmt.Sprintf("%s-%s", *r.prefix, outputUserPrivateKey), pk.PrivateKeyPem) imageId, err := icdata.GetVPCImage(&icdata.VPCImageArgs{ - Name: "ibm-ubuntu-22-04", + Name: "ibm-ubuntu-24-04", Arch: icdata.VPC_ARCH_IBMZ, }) if err != nil { @@ -270,22 +284,23 @@ func (r *zRequest) deployWithExistingSubnet(ctx *pulumi.Context) error { existingSubnetInstanceArgs := &ibmcloud.IsInstanceArgs{ Name: pulumi.String(r.mCtx.ProjectName()), Image: pulumi.String(*imageId), - Profile: pulumi.String("bz2-16x64"), + Profile: pulumi.String(r.profile), Vpc: pulumi.String(subnetInfo.Vpc), Zone: pulumi.String(subnetInfo.Zone), - Keys: pulumi.StringArray{pik.ID()}, + BootVolume: &ibmcloud.IsInstanceBootVolumeArgs{ + Size: pulumi.Int(r.diskSize), + }, + Keys: pulumi.StringArray{pik.ID()}, PrimaryNetworkInterface: &ibmcloud.IsInstancePrimaryNetworkInterfaceArgs{ Subnet: pulumi.String(*r.subnetID), SecurityGroups: pulumi.StringArray{sg.ID()}, }, } - if r.otelAppCode != "" && r.otelAuthToken != "" { - ud, err := izUserData(r.otelAppCode, r.otelAuthToken, r.otelEndpoint, r.otelIndex, r.otelExtraAttrs) - if err != nil { - return fmt.Errorf("failed to render user data: %w", err) - } - existingSubnetInstanceArgs.UserData = pulumi.StringPtr(ud) + existingSubnetUserData, err := r.buildUserDataInput() + if err != nil { + return err } + existingSubnetInstanceArgs.UserData = existingSubnetUserData // https://cloud.ibm.com/docs/vpc?topic=vpc-profiles&interface=ui&q=s390x&tags=vpc i, err := ibmcloud.NewIsInstance(ctx, resourcesUtil.GetResourceName(*r.prefix, stackIBMS390, "is"), @@ -327,16 +342,77 @@ func (r *zRequest) deployWithExistingSubnet(ctx *pulumi.Context) error { return err } -func izUserData(otelAppCode, otelAuthToken, otelEndpoint, otelIndex string, otelExtraAttrs map[string]string) (string, error) { +// buildUserDataInput returns a pulumi.StringPtrInput for the IBM Z instance +// UserData field. If a GitLab runner token output is available it uses ApplyT +// to embed the runner setup script after the token is resolved; otherwise it +// renders the cloud-config synchronously. +func (r *zRequest) buildUserDataInput() (pulumi.StringPtrInput, error) { + otelSet := 0 + for _, f := range []string{r.otelAppCode, r.otelAuthToken, r.otelIndex} { + if f != "" { + otelSet++ + } + } + if otelSet > 0 && otelSet < 3 { + return nil, fmt.Errorf("partial otel configuration: --otel-app-code, --otel-auth-token, and --otel-index must all be set together") + } + hasOtel := otelSet == 3 + if r.glAuthToken != nil { + localArgs := *r.glRunnerArgsCopy + return r.glAuthToken.ApplyT(func(token string) (*string, error) { + localArgs.AuthToken = token + glSnippet, err := integrations.GetIntegrationSnippetAsCloudInitWritableFile(&localArgs, defaultUser) + if err != nil { + return nil, err + } + var otelArgs *otelcol.OtelcolArgs + if hasOtel { + otelArgs = r.otelArgs(true) + } + ud, err := izUserData(otelArgs, *glSnippet) + if err != nil { + return nil, err + } + return &ud, nil + }).(pulumi.StringPtrOutput), nil + } + if hasOtel { + ud, err := izUserData(r.otelArgs(false), "") + if err != nil { + return nil, fmt.Errorf("failed to render user data: %w", err) + } + return pulumi.StringPtr(ud), nil + } + return nil, nil +} + +func (r *zRequest) otelArgs(monitorGitLabRunner bool) *otelcol.OtelcolArgs { + return &otelcol.OtelcolArgs{ + AppCode: r.otelAppCode, + AuthToken: r.otelAuthToken, + Index: r.otelIndex, + Endpoint: r.otelEndpoint, + Arch: otelcol.S390x, + SyslogPath: "/var/log/syslog", + SecurePath: "/var/log/auth.log", + ExtraAttrs: r.otelExtraAttrs, + MonitorGitLabRunner: monitorGitLabRunner, + } +} + +func izUserData(otelArgs *otelcol.OtelcolArgs, glRunnerScript string) (string, error) { + otelScript := "" + if otelArgs != nil { + s, err := otelcol.GetSnippetAsCloudInitWritableFile(otelArgs) + if err != nil { + return "", err + } + otelScript = *s + } script, err := file.Template( userDataValues{ - AppCode: otelAppCode, - OtelAuthToken: otelAuthToken, - OtelEndpoint: otelEndpoint, - OtelColVersion: otelColVersion, - OtelIndex: otelIndex, - OtelArch: "s390x", - OtelExtraAttrs: otelExtraAttrs, + OtelColScript: otelScript, + GitLabRunnerScript: glRunnerScript, }, string(CloudConfig)) if err != nil { diff --git a/pkg/provider/ibmcloud/action/ibm-z/ibm-z_test.go b/pkg/provider/ibmcloud/action/ibm-z/ibm-z_test.go new file mode 100644 index 000000000..b952fdebc --- /dev/null +++ b/pkg/provider/ibmcloud/action/ibm-z/ibm-z_test.go @@ -0,0 +1,107 @@ +package ibmz + +import ( + "encoding/base64" + "strings" + "testing" + + "github.com/redhat-developer/mapt/pkg/integrations/otelcol" +) + +// decodeIzOutput extracts the base64-encoded cloud-config from the MIME +// envelope that izUserData wraps it in, and returns the plain text. +func decodeIzOutput(t *testing.T, out string) string { + t.Helper() + lines := strings.Split(out, "\n") + inContent := false + var b64Lines []string + for _, line := range lines { + if strings.HasPrefix(line, "Content-Transfer-Encoding: base64") { + inContent = true + continue + } + if inContent { + if line == "" && len(b64Lines) == 0 { + continue + } + if strings.HasPrefix(line, "--MAPT-CLOUD-CONFIG") { + break + } + b64Lines = append(b64Lines, line) + } + } + decoded, err := base64.StdEncoding.DecodeString(strings.Join(b64Lines, "")) + if err != nil { + t.Fatalf("failed to decode MIME payload: %v", err) + } + return string(decoded) +} + +func TestIzUserData_noRunner(t *testing.T) { + out, err := izUserData(nil, "") + if err != nil { + t.Fatalf("izUserData returned error: %v", err) + } + cfg := decodeIzOutput(t, out) + if strings.Contains(cfg, "install-glrunner") { + t.Error("expected no GitLab runner section when script is empty") + } + if strings.Contains(cfg, "write_files") { + t.Error("expected no write_files when otel and runner are both absent") + } + if !strings.Contains(cfg, "apt-get install") { + t.Error("expected package install in runcmd") + } +} + +func TestIzUserData_withRunner(t *testing.T) { + script := " #!/bin/bash\n echo hello" + out, err := izUserData(nil, script) + if err != nil { + t.Fatalf("izUserData returned error: %v", err) + } + cfg := decodeIzOutput(t, out) + if !strings.Contains(cfg, "install-glrunner.sh") { + t.Error("expected install-glrunner.sh in write_files") + } + if !strings.Contains(cfg, "bash /opt/install-glrunner.sh") { + t.Error("expected runcmd entry to execute the runner script") + } +} + +func TestIzUserData_withOtelAndRunner(t *testing.T) { + script := " #!/bin/bash\n echo hello" + args := &otelcol.OtelcolArgs{ + AppCode: "MYAPP", + AuthToken: "tok", + Endpoint: "https://otel.example.com", + Index: "my-index", + Arch: otelcol.S390x, + SyslogPath: "/var/log/syslog", + SecurePath: "/var/log/auth.log", + MonitorGitLabRunner: true, + } + out, err := izUserData(args, script) + if err != nil { + t.Fatalf("izUserData returned error: %v", err) + } + cfg := decodeIzOutput(t, out) + if !strings.Contains(cfg, "otelcol-contrib") { + t.Error("expected otel section") + } + if !strings.Contains(cfg, "install-glrunner.sh") { + t.Error("expected GitLab runner section") + } + if !strings.Contains(cfg, "filelog/gitlab-runner") { + t.Error("expected gitlab-runner filelog receiver in otelcol config") + } + if !strings.Contains(cfg, "/var/log/gitlab-runner/runner.log") { + t.Error("expected runner log path in otelcol config") + } + if !strings.Contains(cfg, "filelog/syslog, filelog/secure, filelog/audit, filelog/gitlab-runner") { + t.Error("expected gitlab-runner included in otelcol pipeline receivers") + } + if !strings.Contains(cfg, "StandardOutput=append:/var/log/gitlab-runner") { + t.Error("expected systemd drop-in to redirect runner stdout to log file") + } +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectComplianceFramework.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectComplianceFramework.go deleted file mode 100644 index e01560623..000000000 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectComplianceFramework.go +++ /dev/null @@ -1,301 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package gitlab - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -// The `ProjectComplianceFramework` resource allows to manage the lifecycle of a compliance framework on a project. -// -// > This resource requires a GitLab Enterprise instance with a Premium license to set the compliance framework on a project. -// -// **Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/api/graphql/reference/#mutationprojectsetcomplianceframework) -// -// ## Example Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// sample, err := gitlab.NewComplianceFramework(ctx, "sample", &gitlab.ComplianceFrameworkArgs{ -// NamespacePath: pulumi.String("top-level-group"), -// Name: pulumi.String("HIPAA"), -// Description: pulumi.String("A HIPAA Compliance Framework"), -// Color: pulumi.String("#87BEEF"), -// Default: pulumi.Bool(false), -// PipelineConfigurationFullPath: pulumi.String(".hipaa.yml@top-level-group/compliance-frameworks"), -// }) -// if err != nil { -// return err -// } -// _, err = gitlab.NewProjectComplianceFramework(ctx, "sample", &gitlab.ProjectComplianceFrameworkArgs{ -// ComplianceFrameworkId: sample.FrameworkId, -// Project: pulumi.String("12345678"), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_compliance_framework`. For example: -// -// terraform -// -// import { -// -// to = gitlab_project_compliance_framework.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// Gitlab project compliance frameworks can be imported with a key composed of ``, e.g. -// -// ```sh -// $ pulumi import gitlab:index/projectComplianceFramework:ProjectComplianceFramework sample "42" -// ``` -type ProjectComplianceFramework struct { - pulumi.CustomResourceState - - // Globally unique ID of the compliance framework to assign to the project. - ComplianceFrameworkId pulumi.StringOutput `pulumi:"complianceFrameworkId"` - // The ID or full path of the project to change the compliance framework of. - Project pulumi.StringOutput `pulumi:"project"` -} - -// NewProjectComplianceFramework registers a new resource with the given unique name, arguments, and options. -func NewProjectComplianceFramework(ctx *pulumi.Context, - name string, args *ProjectComplianceFrameworkArgs, opts ...pulumi.ResourceOption) (*ProjectComplianceFramework, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.ComplianceFrameworkId == nil { - return nil, errors.New("invalid value for required argument 'ComplianceFrameworkId'") - } - if args.Project == nil { - return nil, errors.New("invalid value for required argument 'Project'") - } - opts = internal.PkgResourceDefaultOpts(opts) - var resource ProjectComplianceFramework - err := ctx.RegisterResource("gitlab:index/projectComplianceFramework:ProjectComplianceFramework", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetProjectComplianceFramework gets an existing ProjectComplianceFramework resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetProjectComplianceFramework(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *ProjectComplianceFrameworkState, opts ...pulumi.ResourceOption) (*ProjectComplianceFramework, error) { - var resource ProjectComplianceFramework - err := ctx.ReadResource("gitlab:index/projectComplianceFramework:ProjectComplianceFramework", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering ProjectComplianceFramework resources. -type projectComplianceFrameworkState struct { - // Globally unique ID of the compliance framework to assign to the project. - ComplianceFrameworkId *string `pulumi:"complianceFrameworkId"` - // The ID or full path of the project to change the compliance framework of. - Project *string `pulumi:"project"` -} - -type ProjectComplianceFrameworkState struct { - // Globally unique ID of the compliance framework to assign to the project. - ComplianceFrameworkId pulumi.StringPtrInput - // The ID or full path of the project to change the compliance framework of. - Project pulumi.StringPtrInput -} - -func (ProjectComplianceFrameworkState) ElementType() reflect.Type { - return reflect.TypeOf((*projectComplianceFrameworkState)(nil)).Elem() -} - -type projectComplianceFrameworkArgs struct { - // Globally unique ID of the compliance framework to assign to the project. - ComplianceFrameworkId string `pulumi:"complianceFrameworkId"` - // The ID or full path of the project to change the compliance framework of. - Project string `pulumi:"project"` -} - -// The set of arguments for constructing a ProjectComplianceFramework resource. -type ProjectComplianceFrameworkArgs struct { - // Globally unique ID of the compliance framework to assign to the project. - ComplianceFrameworkId pulumi.StringInput - // The ID or full path of the project to change the compliance framework of. - Project pulumi.StringInput -} - -func (ProjectComplianceFrameworkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*projectComplianceFrameworkArgs)(nil)).Elem() -} - -type ProjectComplianceFrameworkInput interface { - pulumi.Input - - ToProjectComplianceFrameworkOutput() ProjectComplianceFrameworkOutput - ToProjectComplianceFrameworkOutputWithContext(ctx context.Context) ProjectComplianceFrameworkOutput -} - -func (*ProjectComplianceFramework) ElementType() reflect.Type { - return reflect.TypeOf((**ProjectComplianceFramework)(nil)).Elem() -} - -func (i *ProjectComplianceFramework) ToProjectComplianceFrameworkOutput() ProjectComplianceFrameworkOutput { - return i.ToProjectComplianceFrameworkOutputWithContext(context.Background()) -} - -func (i *ProjectComplianceFramework) ToProjectComplianceFrameworkOutputWithContext(ctx context.Context) ProjectComplianceFrameworkOutput { - return pulumi.ToOutputWithContext(ctx, i).(ProjectComplianceFrameworkOutput) -} - -// ProjectComplianceFrameworkArrayInput is an input type that accepts ProjectComplianceFrameworkArray and ProjectComplianceFrameworkArrayOutput values. -// You can construct a concrete instance of `ProjectComplianceFrameworkArrayInput` via: -// -// ProjectComplianceFrameworkArray{ ProjectComplianceFrameworkArgs{...} } -type ProjectComplianceFrameworkArrayInput interface { - pulumi.Input - - ToProjectComplianceFrameworkArrayOutput() ProjectComplianceFrameworkArrayOutput - ToProjectComplianceFrameworkArrayOutputWithContext(context.Context) ProjectComplianceFrameworkArrayOutput -} - -type ProjectComplianceFrameworkArray []ProjectComplianceFrameworkInput - -func (ProjectComplianceFrameworkArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ProjectComplianceFramework)(nil)).Elem() -} - -func (i ProjectComplianceFrameworkArray) ToProjectComplianceFrameworkArrayOutput() ProjectComplianceFrameworkArrayOutput { - return i.ToProjectComplianceFrameworkArrayOutputWithContext(context.Background()) -} - -func (i ProjectComplianceFrameworkArray) ToProjectComplianceFrameworkArrayOutputWithContext(ctx context.Context) ProjectComplianceFrameworkArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ProjectComplianceFrameworkArrayOutput) -} - -// ProjectComplianceFrameworkMapInput is an input type that accepts ProjectComplianceFrameworkMap and ProjectComplianceFrameworkMapOutput values. -// You can construct a concrete instance of `ProjectComplianceFrameworkMapInput` via: -// -// ProjectComplianceFrameworkMap{ "key": ProjectComplianceFrameworkArgs{...} } -type ProjectComplianceFrameworkMapInput interface { - pulumi.Input - - ToProjectComplianceFrameworkMapOutput() ProjectComplianceFrameworkMapOutput - ToProjectComplianceFrameworkMapOutputWithContext(context.Context) ProjectComplianceFrameworkMapOutput -} - -type ProjectComplianceFrameworkMap map[string]ProjectComplianceFrameworkInput - -func (ProjectComplianceFrameworkMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ProjectComplianceFramework)(nil)).Elem() -} - -func (i ProjectComplianceFrameworkMap) ToProjectComplianceFrameworkMapOutput() ProjectComplianceFrameworkMapOutput { - return i.ToProjectComplianceFrameworkMapOutputWithContext(context.Background()) -} - -func (i ProjectComplianceFrameworkMap) ToProjectComplianceFrameworkMapOutputWithContext(ctx context.Context) ProjectComplianceFrameworkMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(ProjectComplianceFrameworkMapOutput) -} - -type ProjectComplianceFrameworkOutput struct{ *pulumi.OutputState } - -func (ProjectComplianceFrameworkOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ProjectComplianceFramework)(nil)).Elem() -} - -func (o ProjectComplianceFrameworkOutput) ToProjectComplianceFrameworkOutput() ProjectComplianceFrameworkOutput { - return o -} - -func (o ProjectComplianceFrameworkOutput) ToProjectComplianceFrameworkOutputWithContext(ctx context.Context) ProjectComplianceFrameworkOutput { - return o -} - -// Globally unique ID of the compliance framework to assign to the project. -func (o ProjectComplianceFrameworkOutput) ComplianceFrameworkId() pulumi.StringOutput { - return o.ApplyT(func(v *ProjectComplianceFramework) pulumi.StringOutput { return v.ComplianceFrameworkId }).(pulumi.StringOutput) -} - -// The ID or full path of the project to change the compliance framework of. -func (o ProjectComplianceFrameworkOutput) Project() pulumi.StringOutput { - return o.ApplyT(func(v *ProjectComplianceFramework) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) -} - -type ProjectComplianceFrameworkArrayOutput struct{ *pulumi.OutputState } - -func (ProjectComplianceFrameworkArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ProjectComplianceFramework)(nil)).Elem() -} - -func (o ProjectComplianceFrameworkArrayOutput) ToProjectComplianceFrameworkArrayOutput() ProjectComplianceFrameworkArrayOutput { - return o -} - -func (o ProjectComplianceFrameworkArrayOutput) ToProjectComplianceFrameworkArrayOutputWithContext(ctx context.Context) ProjectComplianceFrameworkArrayOutput { - return o -} - -func (o ProjectComplianceFrameworkArrayOutput) Index(i pulumi.IntInput) ProjectComplianceFrameworkOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectComplianceFramework { - return vs[0].([]*ProjectComplianceFramework)[vs[1].(int)] - }).(ProjectComplianceFrameworkOutput) -} - -type ProjectComplianceFrameworkMapOutput struct{ *pulumi.OutputState } - -func (ProjectComplianceFrameworkMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ProjectComplianceFramework)(nil)).Elem() -} - -func (o ProjectComplianceFrameworkMapOutput) ToProjectComplianceFrameworkMapOutput() ProjectComplianceFrameworkMapOutput { - return o -} - -func (o ProjectComplianceFrameworkMapOutput) ToProjectComplianceFrameworkMapOutputWithContext(ctx context.Context) ProjectComplianceFrameworkMapOutput { - return o -} - -func (o ProjectComplianceFrameworkMapOutput) MapIndex(k pulumi.StringInput) ProjectComplianceFrameworkOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectComplianceFramework { - return vs[0].(map[string]*ProjectComplianceFramework)[vs[1].(string)] - }).(ProjectComplianceFrameworkOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*ProjectComplianceFrameworkInput)(nil)).Elem(), &ProjectComplianceFramework{}) - pulumi.RegisterInputType(reflect.TypeOf((*ProjectComplianceFrameworkArrayInput)(nil)).Elem(), ProjectComplianceFrameworkArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*ProjectComplianceFrameworkMapInput)(nil)).Elem(), ProjectComplianceFrameworkMap{}) - pulumi.RegisterOutputType(ProjectComplianceFrameworkOutput{}) - pulumi.RegisterOutputType(ProjectComplianceFrameworkArrayOutput{}) - pulumi.RegisterOutputType(ProjectComplianceFrameworkMapOutput{}) -} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/provider.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/provider.go deleted file mode 100644 index 6c03ed323..000000000 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/provider.go +++ /dev/null @@ -1,186 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package gitlab - -import ( - "context" - "reflect" - - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -// The provider type for the gitlab package. By default, resources use package-wide configuration -// settings, however an explicit `Provider` instance may be created and passed during resource -// construction to achieve fine-grained programmatic control over provider settings. See the -// [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information. -type Provider struct { - pulumi.ProviderResourceState - - // This is the target GitLab base API endpoint. Providing a value is a requirement when working with GitLab CE or GitLab - // Enterprise e.g. `https://my.gitlab.server/api/v4/`. It is optional to provide this value and it can also be sourced from - // the `GITLAB_BASE_URL` environment variable. The value must end with a slash. - BaseUrl pulumi.StringPtrOutput `pulumi:"baseUrl"` - // This is a file containing the ca cert to verify the gitlab instance. This is available for use when working with GitLab - // CE or Gitlab Enterprise with a locally-issued or self-signed certificate chain. - CacertFile pulumi.StringPtrOutput `pulumi:"cacertFile"` - // File path to client certificate when GitLab instance is behind company proxy. File must contain PEM encoded data. - ClientCert pulumi.StringPtrOutput `pulumi:"clientCert"` - // File path to client key when GitLab instance is behind company proxy. File must contain PEM encoded data. Required when - // `clientCert` is set. - ClientKey pulumi.StringPtrOutput `pulumi:"clientKey"` - // The OAuth2 Token, Project, Group, Personal Access Token or CI Job Token used to connect to GitLab. The OAuth method is - // used in this provider for authentication (using Bearer authorization token). See - // https://docs.gitlab.com/api/#authentication for details. It may be sourced from the `GITLAB_TOKEN` environment variable. - Token pulumi.StringPtrOutput `pulumi:"token"` -} - -// NewProvider registers a new resource with the given unique name, arguments, and options. -func NewProvider(ctx *pulumi.Context, - name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error) { - if args == nil { - args = &ProviderArgs{} - } - - if args.Token != nil { - args.Token = pulumi.ToSecret(args.Token).(pulumi.StringPtrInput) - } - secrets := pulumi.AdditionalSecretOutputs([]string{ - "token", - }) - opts = append(opts, secrets) - opts = internal.PkgResourceDefaultOpts(opts) - var resource Provider - err := ctx.RegisterResource("pulumi:providers:gitlab", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -type providerArgs struct { - // This is the target GitLab base API endpoint. Providing a value is a requirement when working with GitLab CE or GitLab - // Enterprise e.g. `https://my.gitlab.server/api/v4/`. It is optional to provide this value and it can also be sourced from - // the `GITLAB_BASE_URL` environment variable. The value must end with a slash. - BaseUrl *string `pulumi:"baseUrl"` - // This is a file containing the ca cert to verify the gitlab instance. This is available for use when working with GitLab - // CE or Gitlab Enterprise with a locally-issued or self-signed certificate chain. - CacertFile *string `pulumi:"cacertFile"` - // File path to client certificate when GitLab instance is behind company proxy. File must contain PEM encoded data. - ClientCert *string `pulumi:"clientCert"` - // File path to client key when GitLab instance is behind company proxy. File must contain PEM encoded data. Required when - // `clientCert` is set. - ClientKey *string `pulumi:"clientKey"` - EarlyAuthCheck *bool `pulumi:"earlyAuthCheck"` - // A map of headers to append to all API request to the GitLab instance. - Headers map[string]string `pulumi:"headers"` - // When set to true this disables SSL verification of the connection to the GitLab instance. - Insecure *bool `pulumi:"insecure"` - // The number of retries to execute when receiving a 429 Rate Limit error. Each retry will exponentially back off. - Retries *int `pulumi:"retries"` - // The OAuth2 Token, Project, Group, Personal Access Token or CI Job Token used to connect to GitLab. The OAuth method is - // used in this provider for authentication (using Bearer authorization token). See - // https://docs.gitlab.com/api/#authentication for details. It may be sourced from the `GITLAB_TOKEN` environment variable. - Token *string `pulumi:"token"` -} - -// The set of arguments for constructing a Provider resource. -type ProviderArgs struct { - // This is the target GitLab base API endpoint. Providing a value is a requirement when working with GitLab CE or GitLab - // Enterprise e.g. `https://my.gitlab.server/api/v4/`. It is optional to provide this value and it can also be sourced from - // the `GITLAB_BASE_URL` environment variable. The value must end with a slash. - BaseUrl pulumi.StringPtrInput - // This is a file containing the ca cert to verify the gitlab instance. This is available for use when working with GitLab - // CE or Gitlab Enterprise with a locally-issued or self-signed certificate chain. - CacertFile pulumi.StringPtrInput - // File path to client certificate when GitLab instance is behind company proxy. File must contain PEM encoded data. - ClientCert pulumi.StringPtrInput - // File path to client key when GitLab instance is behind company proxy. File must contain PEM encoded data. Required when - // `clientCert` is set. - ClientKey pulumi.StringPtrInput - EarlyAuthCheck pulumi.BoolPtrInput - // A map of headers to append to all API request to the GitLab instance. - Headers pulumi.StringMapInput - // When set to true this disables SSL verification of the connection to the GitLab instance. - Insecure pulumi.BoolPtrInput - // The number of retries to execute when receiving a 429 Rate Limit error. Each retry will exponentially back off. - Retries pulumi.IntPtrInput - // The OAuth2 Token, Project, Group, Personal Access Token or CI Job Token used to connect to GitLab. The OAuth method is - // used in this provider for authentication (using Bearer authorization token). See - // https://docs.gitlab.com/api/#authentication for details. It may be sourced from the `GITLAB_TOKEN` environment variable. - Token pulumi.StringPtrInput -} - -func (ProviderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*providerArgs)(nil)).Elem() -} - -type ProviderInput interface { - pulumi.Input - - ToProviderOutput() ProviderOutput - ToProviderOutputWithContext(ctx context.Context) ProviderOutput -} - -func (*Provider) ElementType() reflect.Type { - return reflect.TypeOf((**Provider)(nil)).Elem() -} - -func (i *Provider) ToProviderOutput() ProviderOutput { - return i.ToProviderOutputWithContext(context.Background()) -} - -func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput { - return pulumi.ToOutputWithContext(ctx, i).(ProviderOutput) -} - -type ProviderOutput struct{ *pulumi.OutputState } - -func (ProviderOutput) ElementType() reflect.Type { - return reflect.TypeOf((**Provider)(nil)).Elem() -} - -func (o ProviderOutput) ToProviderOutput() ProviderOutput { - return o -} - -func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput { - return o -} - -// This is the target GitLab base API endpoint. Providing a value is a requirement when working with GitLab CE or GitLab -// Enterprise e.g. `https://my.gitlab.server/api/v4/`. It is optional to provide this value and it can also be sourced from -// the `GITLAB_BASE_URL` environment variable. The value must end with a slash. -func (o ProviderOutput) BaseUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.BaseUrl }).(pulumi.StringPtrOutput) -} - -// This is a file containing the ca cert to verify the gitlab instance. This is available for use when working with GitLab -// CE or Gitlab Enterprise with a locally-issued or self-signed certificate chain. -func (o ProviderOutput) CacertFile() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.CacertFile }).(pulumi.StringPtrOutput) -} - -// File path to client certificate when GitLab instance is behind company proxy. File must contain PEM encoded data. -func (o ProviderOutput) ClientCert() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ClientCert }).(pulumi.StringPtrOutput) -} - -// File path to client key when GitLab instance is behind company proxy. File must contain PEM encoded data. Required when -// `clientCert` is set. -func (o ProviderOutput) ClientKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ClientKey }).(pulumi.StringPtrOutput) -} - -// The OAuth2 Token, Project, Group, Personal Access Token or CI Job Token used to connect to GitLab. The OAuth method is -// used in this provider for authentication (using Bearer authorization token). See -// https://docs.gitlab.com/api/#authentication for details. It may be sourced from the `GITLAB_TOKEN` environment variable. -func (o ProviderOutput) Token() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Token }).(pulumi.StringPtrOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*ProviderInput)(nil)).Elem(), &Provider{}) - pulumi.RegisterOutputType(ProviderOutput{}) -} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceCustomIssueTracker.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceCustomIssueTracker.go deleted file mode 100644 index 2dbe5f1c9..000000000 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceCustomIssueTracker.go +++ /dev/null @@ -1,361 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package gitlab - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -// The `ServiceCustomIssueTracker` resource allows to manage the lifecycle of a project integration with Custom Issue Tracker. -// -// > This resource is deprecated. use `IntegrationCustomIssueTracker`instead! -// -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#custom-issue-tracker) -// -// ## Example Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ -// Name: pulumi.String("awesome_project"), -// Description: pulumi.String("My awesome project."), -// VisibilityLevel: pulumi.String("public"), -// }) -// if err != nil { -// return err -// } -// _, err = gitlab.NewServiceCustomIssueTracker(ctx, "tracker", &gitlab.ServiceCustomIssueTrackerArgs{ -// Project: awesomeProject.ID(), -// ProjectUrl: pulumi.String("https://customtracker.com/issues"), -// IssuesUrl: pulumi.String("https://customtracker.com/TEST-:id"), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_service_custom_issue_tracker`. For example: -// -// terraform -// -// import { -// -// to = gitlab_service_custom_issue_tracker.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import a gitlab_service_custom_issue_tracker state using the project ID, e.g. -// -// ```sh -// $ pulumi import gitlab:index/serviceCustomIssueTracker:ServiceCustomIssueTracker tracker 1 -// ``` -type ServiceCustomIssueTracker struct { - pulumi.CustomResourceState - - // Whether the integration is active. - Active pulumi.BoolOutput `pulumi:"active"` - // The ISO8601 date/time that this integration was activated at in UTC. - CreatedAt pulumi.StringOutput `pulumi:"createdAt"` - // The URL to view an issue in the external issue tracker. Must contain :id. - IssuesUrl pulumi.StringOutput `pulumi:"issuesUrl"` - // The ID or full path of the project for the custom issue tracker. - Project pulumi.StringOutput `pulumi:"project"` - // The URL to the project in the external issue tracker. - ProjectUrl pulumi.StringOutput `pulumi:"projectUrl"` - // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. - Slug pulumi.StringOutput `pulumi:"slug"` - // The ISO8601 date/time that this integration was last updated at in UTC. - UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` -} - -// NewServiceCustomIssueTracker registers a new resource with the given unique name, arguments, and options. -func NewServiceCustomIssueTracker(ctx *pulumi.Context, - name string, args *ServiceCustomIssueTrackerArgs, opts ...pulumi.ResourceOption) (*ServiceCustomIssueTracker, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.IssuesUrl == nil { - return nil, errors.New("invalid value for required argument 'IssuesUrl'") - } - if args.Project == nil { - return nil, errors.New("invalid value for required argument 'Project'") - } - if args.ProjectUrl == nil { - return nil, errors.New("invalid value for required argument 'ProjectUrl'") - } - opts = internal.PkgResourceDefaultOpts(opts) - var resource ServiceCustomIssueTracker - err := ctx.RegisterResource("gitlab:index/serviceCustomIssueTracker:ServiceCustomIssueTracker", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetServiceCustomIssueTracker gets an existing ServiceCustomIssueTracker resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetServiceCustomIssueTracker(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *ServiceCustomIssueTrackerState, opts ...pulumi.ResourceOption) (*ServiceCustomIssueTracker, error) { - var resource ServiceCustomIssueTracker - err := ctx.ReadResource("gitlab:index/serviceCustomIssueTracker:ServiceCustomIssueTracker", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering ServiceCustomIssueTracker resources. -type serviceCustomIssueTrackerState struct { - // Whether the integration is active. - Active *bool `pulumi:"active"` - // The ISO8601 date/time that this integration was activated at in UTC. - CreatedAt *string `pulumi:"createdAt"` - // The URL to view an issue in the external issue tracker. Must contain :id. - IssuesUrl *string `pulumi:"issuesUrl"` - // The ID or full path of the project for the custom issue tracker. - Project *string `pulumi:"project"` - // The URL to the project in the external issue tracker. - ProjectUrl *string `pulumi:"projectUrl"` - // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. - Slug *string `pulumi:"slug"` - // The ISO8601 date/time that this integration was last updated at in UTC. - UpdatedAt *string `pulumi:"updatedAt"` -} - -type ServiceCustomIssueTrackerState struct { - // Whether the integration is active. - Active pulumi.BoolPtrInput - // The ISO8601 date/time that this integration was activated at in UTC. - CreatedAt pulumi.StringPtrInput - // The URL to view an issue in the external issue tracker. Must contain :id. - IssuesUrl pulumi.StringPtrInput - // The ID or full path of the project for the custom issue tracker. - Project pulumi.StringPtrInput - // The URL to the project in the external issue tracker. - ProjectUrl pulumi.StringPtrInput - // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. - Slug pulumi.StringPtrInput - // The ISO8601 date/time that this integration was last updated at in UTC. - UpdatedAt pulumi.StringPtrInput -} - -func (ServiceCustomIssueTrackerState) ElementType() reflect.Type { - return reflect.TypeOf((*serviceCustomIssueTrackerState)(nil)).Elem() -} - -type serviceCustomIssueTrackerArgs struct { - // The URL to view an issue in the external issue tracker. Must contain :id. - IssuesUrl string `pulumi:"issuesUrl"` - // The ID or full path of the project for the custom issue tracker. - Project string `pulumi:"project"` - // The URL to the project in the external issue tracker. - ProjectUrl string `pulumi:"projectUrl"` -} - -// The set of arguments for constructing a ServiceCustomIssueTracker resource. -type ServiceCustomIssueTrackerArgs struct { - // The URL to view an issue in the external issue tracker. Must contain :id. - IssuesUrl pulumi.StringInput - // The ID or full path of the project for the custom issue tracker. - Project pulumi.StringInput - // The URL to the project in the external issue tracker. - ProjectUrl pulumi.StringInput -} - -func (ServiceCustomIssueTrackerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*serviceCustomIssueTrackerArgs)(nil)).Elem() -} - -type ServiceCustomIssueTrackerInput interface { - pulumi.Input - - ToServiceCustomIssueTrackerOutput() ServiceCustomIssueTrackerOutput - ToServiceCustomIssueTrackerOutputWithContext(ctx context.Context) ServiceCustomIssueTrackerOutput -} - -func (*ServiceCustomIssueTracker) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceCustomIssueTracker)(nil)).Elem() -} - -func (i *ServiceCustomIssueTracker) ToServiceCustomIssueTrackerOutput() ServiceCustomIssueTrackerOutput { - return i.ToServiceCustomIssueTrackerOutputWithContext(context.Background()) -} - -func (i *ServiceCustomIssueTracker) ToServiceCustomIssueTrackerOutputWithContext(ctx context.Context) ServiceCustomIssueTrackerOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceCustomIssueTrackerOutput) -} - -// ServiceCustomIssueTrackerArrayInput is an input type that accepts ServiceCustomIssueTrackerArray and ServiceCustomIssueTrackerArrayOutput values. -// You can construct a concrete instance of `ServiceCustomIssueTrackerArrayInput` via: -// -// ServiceCustomIssueTrackerArray{ ServiceCustomIssueTrackerArgs{...} } -type ServiceCustomIssueTrackerArrayInput interface { - pulumi.Input - - ToServiceCustomIssueTrackerArrayOutput() ServiceCustomIssueTrackerArrayOutput - ToServiceCustomIssueTrackerArrayOutputWithContext(context.Context) ServiceCustomIssueTrackerArrayOutput -} - -type ServiceCustomIssueTrackerArray []ServiceCustomIssueTrackerInput - -func (ServiceCustomIssueTrackerArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ServiceCustomIssueTracker)(nil)).Elem() -} - -func (i ServiceCustomIssueTrackerArray) ToServiceCustomIssueTrackerArrayOutput() ServiceCustomIssueTrackerArrayOutput { - return i.ToServiceCustomIssueTrackerArrayOutputWithContext(context.Background()) -} - -func (i ServiceCustomIssueTrackerArray) ToServiceCustomIssueTrackerArrayOutputWithContext(ctx context.Context) ServiceCustomIssueTrackerArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceCustomIssueTrackerArrayOutput) -} - -// ServiceCustomIssueTrackerMapInput is an input type that accepts ServiceCustomIssueTrackerMap and ServiceCustomIssueTrackerMapOutput values. -// You can construct a concrete instance of `ServiceCustomIssueTrackerMapInput` via: -// -// ServiceCustomIssueTrackerMap{ "key": ServiceCustomIssueTrackerArgs{...} } -type ServiceCustomIssueTrackerMapInput interface { - pulumi.Input - - ToServiceCustomIssueTrackerMapOutput() ServiceCustomIssueTrackerMapOutput - ToServiceCustomIssueTrackerMapOutputWithContext(context.Context) ServiceCustomIssueTrackerMapOutput -} - -type ServiceCustomIssueTrackerMap map[string]ServiceCustomIssueTrackerInput - -func (ServiceCustomIssueTrackerMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ServiceCustomIssueTracker)(nil)).Elem() -} - -func (i ServiceCustomIssueTrackerMap) ToServiceCustomIssueTrackerMapOutput() ServiceCustomIssueTrackerMapOutput { - return i.ToServiceCustomIssueTrackerMapOutputWithContext(context.Background()) -} - -func (i ServiceCustomIssueTrackerMap) ToServiceCustomIssueTrackerMapOutputWithContext(ctx context.Context) ServiceCustomIssueTrackerMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceCustomIssueTrackerMapOutput) -} - -type ServiceCustomIssueTrackerOutput struct{ *pulumi.OutputState } - -func (ServiceCustomIssueTrackerOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceCustomIssueTracker)(nil)).Elem() -} - -func (o ServiceCustomIssueTrackerOutput) ToServiceCustomIssueTrackerOutput() ServiceCustomIssueTrackerOutput { - return o -} - -func (o ServiceCustomIssueTrackerOutput) ToServiceCustomIssueTrackerOutputWithContext(ctx context.Context) ServiceCustomIssueTrackerOutput { - return o -} - -// Whether the integration is active. -func (o ServiceCustomIssueTrackerOutput) Active() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceCustomIssueTracker) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) -} - -// The ISO8601 date/time that this integration was activated at in UTC. -func (o ServiceCustomIssueTrackerOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceCustomIssueTracker) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) -} - -// The URL to view an issue in the external issue tracker. Must contain :id. -func (o ServiceCustomIssueTrackerOutput) IssuesUrl() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceCustomIssueTracker) pulumi.StringOutput { return v.IssuesUrl }).(pulumi.StringOutput) -} - -// The ID or full path of the project for the custom issue tracker. -func (o ServiceCustomIssueTrackerOutput) Project() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceCustomIssueTracker) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) -} - -// The URL to the project in the external issue tracker. -func (o ServiceCustomIssueTrackerOutput) ProjectUrl() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceCustomIssueTracker) pulumi.StringOutput { return v.ProjectUrl }).(pulumi.StringOutput) -} - -// The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. -func (o ServiceCustomIssueTrackerOutput) Slug() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceCustomIssueTracker) pulumi.StringOutput { return v.Slug }).(pulumi.StringOutput) -} - -// The ISO8601 date/time that this integration was last updated at in UTC. -func (o ServiceCustomIssueTrackerOutput) UpdatedAt() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceCustomIssueTracker) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) -} - -type ServiceCustomIssueTrackerArrayOutput struct{ *pulumi.OutputState } - -func (ServiceCustomIssueTrackerArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ServiceCustomIssueTracker)(nil)).Elem() -} - -func (o ServiceCustomIssueTrackerArrayOutput) ToServiceCustomIssueTrackerArrayOutput() ServiceCustomIssueTrackerArrayOutput { - return o -} - -func (o ServiceCustomIssueTrackerArrayOutput) ToServiceCustomIssueTrackerArrayOutputWithContext(ctx context.Context) ServiceCustomIssueTrackerArrayOutput { - return o -} - -func (o ServiceCustomIssueTrackerArrayOutput) Index(i pulumi.IntInput) ServiceCustomIssueTrackerOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ServiceCustomIssueTracker { - return vs[0].([]*ServiceCustomIssueTracker)[vs[1].(int)] - }).(ServiceCustomIssueTrackerOutput) -} - -type ServiceCustomIssueTrackerMapOutput struct{ *pulumi.OutputState } - -func (ServiceCustomIssueTrackerMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ServiceCustomIssueTracker)(nil)).Elem() -} - -func (o ServiceCustomIssueTrackerMapOutput) ToServiceCustomIssueTrackerMapOutput() ServiceCustomIssueTrackerMapOutput { - return o -} - -func (o ServiceCustomIssueTrackerMapOutput) ToServiceCustomIssueTrackerMapOutputWithContext(ctx context.Context) ServiceCustomIssueTrackerMapOutput { - return o -} - -func (o ServiceCustomIssueTrackerMapOutput) MapIndex(k pulumi.StringInput) ServiceCustomIssueTrackerOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ServiceCustomIssueTracker { - return vs[0].(map[string]*ServiceCustomIssueTracker)[vs[1].(string)] - }).(ServiceCustomIssueTrackerOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*ServiceCustomIssueTrackerInput)(nil)).Elem(), &ServiceCustomIssueTracker{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceCustomIssueTrackerArrayInput)(nil)).Elem(), ServiceCustomIssueTrackerArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceCustomIssueTrackerMapInput)(nil)).Elem(), ServiceCustomIssueTrackerMap{}) - pulumi.RegisterOutputType(ServiceCustomIssueTrackerOutput{}) - pulumi.RegisterOutputType(ServiceCustomIssueTrackerArrayOutput{}) - pulumi.RegisterOutputType(ServiceCustomIssueTrackerMapOutput{}) -} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceEmailsOnPush.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceEmailsOnPush.go deleted file mode 100644 index 6a2e55e18..000000000 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceEmailsOnPush.go +++ /dev/null @@ -1,428 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package gitlab - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -// The `ServiceEmailsOnPush` resource allows to manage the lifecycle of a project integration with Emails on Push Service. -// -// > This resource is deprecated. Please use `IntegrationEmailsOnPush` instead! -// -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#emails-on-push) -// -// ## Example Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ -// Name: pulumi.String("awesome_project"), -// Description: pulumi.String("My awesome project."), -// VisibilityLevel: pulumi.String("public"), -// }) -// if err != nil { -// return err -// } -// _, err = gitlab.NewServiceEmailsOnPush(ctx, "emails", &gitlab.ServiceEmailsOnPushArgs{ -// Project: awesomeProject.ID(), -// Recipients: pulumi.String("myrecipient@example.com myotherrecipient@example.com"), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_service_emails_on_push`. For example: -// -// terraform -// -// import { -// -// to = gitlab_service_emails_on_push.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import a gitlab_service_emails_on_push state using the project ID, e.g. -// -// ```sh -// $ pulumi import gitlab:index/serviceEmailsOnPush:ServiceEmailsOnPush emails 1 -// ``` -type ServiceEmailsOnPush struct { - pulumi.CustomResourceState - - // Whether the integration is active. - Active pulumi.BoolOutput `pulumi:"active"` - // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Notifications are always fired for tag pushes. - BranchesToBeNotified pulumi.StringPtrOutput `pulumi:"branchesToBeNotified"` - // The ISO8601 date/time that this integration was activated at in UTC. - CreatedAt pulumi.StringOutput `pulumi:"createdAt"` - // Disable code diffs. - DisableDiffs pulumi.BoolPtrOutput `pulumi:"disableDiffs"` - // ID or full-path of the project you want to activate integration on. - Project pulumi.StringOutput `pulumi:"project"` - // Enable notifications for push events. - PushEvents pulumi.BoolPtrOutput `pulumi:"pushEvents"` - // Emails separated by whitespace. - Recipients pulumi.StringOutput `pulumi:"recipients"` - // Send from committer. - SendFromCommitterEmail pulumi.BoolPtrOutput `pulumi:"sendFromCommitterEmail"` - // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. - Slug pulumi.StringOutput `pulumi:"slug"` - // Enable notifications for tag push events. - TagPushEvents pulumi.BoolPtrOutput `pulumi:"tagPushEvents"` - // Title of the integration. - Title pulumi.StringOutput `pulumi:"title"` - // The ISO8601 date/time that this integration was last updated at in UTC. - UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` -} - -// NewServiceEmailsOnPush registers a new resource with the given unique name, arguments, and options. -func NewServiceEmailsOnPush(ctx *pulumi.Context, - name string, args *ServiceEmailsOnPushArgs, opts ...pulumi.ResourceOption) (*ServiceEmailsOnPush, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.Project == nil { - return nil, errors.New("invalid value for required argument 'Project'") - } - if args.Recipients == nil { - return nil, errors.New("invalid value for required argument 'Recipients'") - } - opts = internal.PkgResourceDefaultOpts(opts) - var resource ServiceEmailsOnPush - err := ctx.RegisterResource("gitlab:index/serviceEmailsOnPush:ServiceEmailsOnPush", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetServiceEmailsOnPush gets an existing ServiceEmailsOnPush resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetServiceEmailsOnPush(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *ServiceEmailsOnPushState, opts ...pulumi.ResourceOption) (*ServiceEmailsOnPush, error) { - var resource ServiceEmailsOnPush - err := ctx.ReadResource("gitlab:index/serviceEmailsOnPush:ServiceEmailsOnPush", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering ServiceEmailsOnPush resources. -type serviceEmailsOnPushState struct { - // Whether the integration is active. - Active *bool `pulumi:"active"` - // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Notifications are always fired for tag pushes. - BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` - // The ISO8601 date/time that this integration was activated at in UTC. - CreatedAt *string `pulumi:"createdAt"` - // Disable code diffs. - DisableDiffs *bool `pulumi:"disableDiffs"` - // ID or full-path of the project you want to activate integration on. - Project *string `pulumi:"project"` - // Enable notifications for push events. - PushEvents *bool `pulumi:"pushEvents"` - // Emails separated by whitespace. - Recipients *string `pulumi:"recipients"` - // Send from committer. - SendFromCommitterEmail *bool `pulumi:"sendFromCommitterEmail"` - // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. - Slug *string `pulumi:"slug"` - // Enable notifications for tag push events. - TagPushEvents *bool `pulumi:"tagPushEvents"` - // Title of the integration. - Title *string `pulumi:"title"` - // The ISO8601 date/time that this integration was last updated at in UTC. - UpdatedAt *string `pulumi:"updatedAt"` -} - -type ServiceEmailsOnPushState struct { - // Whether the integration is active. - Active pulumi.BoolPtrInput - // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Notifications are always fired for tag pushes. - BranchesToBeNotified pulumi.StringPtrInput - // The ISO8601 date/time that this integration was activated at in UTC. - CreatedAt pulumi.StringPtrInput - // Disable code diffs. - DisableDiffs pulumi.BoolPtrInput - // ID or full-path of the project you want to activate integration on. - Project pulumi.StringPtrInput - // Enable notifications for push events. - PushEvents pulumi.BoolPtrInput - // Emails separated by whitespace. - Recipients pulumi.StringPtrInput - // Send from committer. - SendFromCommitterEmail pulumi.BoolPtrInput - // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. - Slug pulumi.StringPtrInput - // Enable notifications for tag push events. - TagPushEvents pulumi.BoolPtrInput - // Title of the integration. - Title pulumi.StringPtrInput - // The ISO8601 date/time that this integration was last updated at in UTC. - UpdatedAt pulumi.StringPtrInput -} - -func (ServiceEmailsOnPushState) ElementType() reflect.Type { - return reflect.TypeOf((*serviceEmailsOnPushState)(nil)).Elem() -} - -type serviceEmailsOnPushArgs struct { - // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Notifications are always fired for tag pushes. - BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` - // Disable code diffs. - DisableDiffs *bool `pulumi:"disableDiffs"` - // ID or full-path of the project you want to activate integration on. - Project string `pulumi:"project"` - // Enable notifications for push events. - PushEvents *bool `pulumi:"pushEvents"` - // Emails separated by whitespace. - Recipients string `pulumi:"recipients"` - // Send from committer. - SendFromCommitterEmail *bool `pulumi:"sendFromCommitterEmail"` - // Enable notifications for tag push events. - TagPushEvents *bool `pulumi:"tagPushEvents"` -} - -// The set of arguments for constructing a ServiceEmailsOnPush resource. -type ServiceEmailsOnPushArgs struct { - // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Notifications are always fired for tag pushes. - BranchesToBeNotified pulumi.StringPtrInput - // Disable code diffs. - DisableDiffs pulumi.BoolPtrInput - // ID or full-path of the project you want to activate integration on. - Project pulumi.StringInput - // Enable notifications for push events. - PushEvents pulumi.BoolPtrInput - // Emails separated by whitespace. - Recipients pulumi.StringInput - // Send from committer. - SendFromCommitterEmail pulumi.BoolPtrInput - // Enable notifications for tag push events. - TagPushEvents pulumi.BoolPtrInput -} - -func (ServiceEmailsOnPushArgs) ElementType() reflect.Type { - return reflect.TypeOf((*serviceEmailsOnPushArgs)(nil)).Elem() -} - -type ServiceEmailsOnPushInput interface { - pulumi.Input - - ToServiceEmailsOnPushOutput() ServiceEmailsOnPushOutput - ToServiceEmailsOnPushOutputWithContext(ctx context.Context) ServiceEmailsOnPushOutput -} - -func (*ServiceEmailsOnPush) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceEmailsOnPush)(nil)).Elem() -} - -func (i *ServiceEmailsOnPush) ToServiceEmailsOnPushOutput() ServiceEmailsOnPushOutput { - return i.ToServiceEmailsOnPushOutputWithContext(context.Background()) -} - -func (i *ServiceEmailsOnPush) ToServiceEmailsOnPushOutputWithContext(ctx context.Context) ServiceEmailsOnPushOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceEmailsOnPushOutput) -} - -// ServiceEmailsOnPushArrayInput is an input type that accepts ServiceEmailsOnPushArray and ServiceEmailsOnPushArrayOutput values. -// You can construct a concrete instance of `ServiceEmailsOnPushArrayInput` via: -// -// ServiceEmailsOnPushArray{ ServiceEmailsOnPushArgs{...} } -type ServiceEmailsOnPushArrayInput interface { - pulumi.Input - - ToServiceEmailsOnPushArrayOutput() ServiceEmailsOnPushArrayOutput - ToServiceEmailsOnPushArrayOutputWithContext(context.Context) ServiceEmailsOnPushArrayOutput -} - -type ServiceEmailsOnPushArray []ServiceEmailsOnPushInput - -func (ServiceEmailsOnPushArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ServiceEmailsOnPush)(nil)).Elem() -} - -func (i ServiceEmailsOnPushArray) ToServiceEmailsOnPushArrayOutput() ServiceEmailsOnPushArrayOutput { - return i.ToServiceEmailsOnPushArrayOutputWithContext(context.Background()) -} - -func (i ServiceEmailsOnPushArray) ToServiceEmailsOnPushArrayOutputWithContext(ctx context.Context) ServiceEmailsOnPushArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceEmailsOnPushArrayOutput) -} - -// ServiceEmailsOnPushMapInput is an input type that accepts ServiceEmailsOnPushMap and ServiceEmailsOnPushMapOutput values. -// You can construct a concrete instance of `ServiceEmailsOnPushMapInput` via: -// -// ServiceEmailsOnPushMap{ "key": ServiceEmailsOnPushArgs{...} } -type ServiceEmailsOnPushMapInput interface { - pulumi.Input - - ToServiceEmailsOnPushMapOutput() ServiceEmailsOnPushMapOutput - ToServiceEmailsOnPushMapOutputWithContext(context.Context) ServiceEmailsOnPushMapOutput -} - -type ServiceEmailsOnPushMap map[string]ServiceEmailsOnPushInput - -func (ServiceEmailsOnPushMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ServiceEmailsOnPush)(nil)).Elem() -} - -func (i ServiceEmailsOnPushMap) ToServiceEmailsOnPushMapOutput() ServiceEmailsOnPushMapOutput { - return i.ToServiceEmailsOnPushMapOutputWithContext(context.Background()) -} - -func (i ServiceEmailsOnPushMap) ToServiceEmailsOnPushMapOutputWithContext(ctx context.Context) ServiceEmailsOnPushMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceEmailsOnPushMapOutput) -} - -type ServiceEmailsOnPushOutput struct{ *pulumi.OutputState } - -func (ServiceEmailsOnPushOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceEmailsOnPush)(nil)).Elem() -} - -func (o ServiceEmailsOnPushOutput) ToServiceEmailsOnPushOutput() ServiceEmailsOnPushOutput { - return o -} - -func (o ServiceEmailsOnPushOutput) ToServiceEmailsOnPushOutputWithContext(ctx context.Context) ServiceEmailsOnPushOutput { - return o -} - -// Whether the integration is active. -func (o ServiceEmailsOnPushOutput) Active() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceEmailsOnPush) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) -} - -// Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Notifications are always fired for tag pushes. -func (o ServiceEmailsOnPushOutput) BranchesToBeNotified() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceEmailsOnPush) pulumi.StringPtrOutput { return v.BranchesToBeNotified }).(pulumi.StringPtrOutput) -} - -// The ISO8601 date/time that this integration was activated at in UTC. -func (o ServiceEmailsOnPushOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceEmailsOnPush) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) -} - -// Disable code diffs. -func (o ServiceEmailsOnPushOutput) DisableDiffs() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceEmailsOnPush) pulumi.BoolPtrOutput { return v.DisableDiffs }).(pulumi.BoolPtrOutput) -} - -// ID or full-path of the project you want to activate integration on. -func (o ServiceEmailsOnPushOutput) Project() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceEmailsOnPush) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) -} - -// Enable notifications for push events. -func (o ServiceEmailsOnPushOutput) PushEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceEmailsOnPush) pulumi.BoolPtrOutput { return v.PushEvents }).(pulumi.BoolPtrOutput) -} - -// Emails separated by whitespace. -func (o ServiceEmailsOnPushOutput) Recipients() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceEmailsOnPush) pulumi.StringOutput { return v.Recipients }).(pulumi.StringOutput) -} - -// Send from committer. -func (o ServiceEmailsOnPushOutput) SendFromCommitterEmail() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceEmailsOnPush) pulumi.BoolPtrOutput { return v.SendFromCommitterEmail }).(pulumi.BoolPtrOutput) -} - -// The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. -func (o ServiceEmailsOnPushOutput) Slug() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceEmailsOnPush) pulumi.StringOutput { return v.Slug }).(pulumi.StringOutput) -} - -// Enable notifications for tag push events. -func (o ServiceEmailsOnPushOutput) TagPushEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceEmailsOnPush) pulumi.BoolPtrOutput { return v.TagPushEvents }).(pulumi.BoolPtrOutput) -} - -// Title of the integration. -func (o ServiceEmailsOnPushOutput) Title() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceEmailsOnPush) pulumi.StringOutput { return v.Title }).(pulumi.StringOutput) -} - -// The ISO8601 date/time that this integration was last updated at in UTC. -func (o ServiceEmailsOnPushOutput) UpdatedAt() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceEmailsOnPush) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) -} - -type ServiceEmailsOnPushArrayOutput struct{ *pulumi.OutputState } - -func (ServiceEmailsOnPushArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ServiceEmailsOnPush)(nil)).Elem() -} - -func (o ServiceEmailsOnPushArrayOutput) ToServiceEmailsOnPushArrayOutput() ServiceEmailsOnPushArrayOutput { - return o -} - -func (o ServiceEmailsOnPushArrayOutput) ToServiceEmailsOnPushArrayOutputWithContext(ctx context.Context) ServiceEmailsOnPushArrayOutput { - return o -} - -func (o ServiceEmailsOnPushArrayOutput) Index(i pulumi.IntInput) ServiceEmailsOnPushOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ServiceEmailsOnPush { - return vs[0].([]*ServiceEmailsOnPush)[vs[1].(int)] - }).(ServiceEmailsOnPushOutput) -} - -type ServiceEmailsOnPushMapOutput struct{ *pulumi.OutputState } - -func (ServiceEmailsOnPushMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ServiceEmailsOnPush)(nil)).Elem() -} - -func (o ServiceEmailsOnPushMapOutput) ToServiceEmailsOnPushMapOutput() ServiceEmailsOnPushMapOutput { - return o -} - -func (o ServiceEmailsOnPushMapOutput) ToServiceEmailsOnPushMapOutputWithContext(ctx context.Context) ServiceEmailsOnPushMapOutput { - return o -} - -func (o ServiceEmailsOnPushMapOutput) MapIndex(k pulumi.StringInput) ServiceEmailsOnPushOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ServiceEmailsOnPush { - return vs[0].(map[string]*ServiceEmailsOnPush)[vs[1].(string)] - }).(ServiceEmailsOnPushOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*ServiceEmailsOnPushInput)(nil)).Elem(), &ServiceEmailsOnPush{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceEmailsOnPushArrayInput)(nil)).Elem(), ServiceEmailsOnPushArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceEmailsOnPushMapInput)(nil)).Elem(), ServiceEmailsOnPushMap{}) - pulumi.RegisterOutputType(ServiceEmailsOnPushOutput{}) - pulumi.RegisterOutputType(ServiceEmailsOnPushArrayOutput{}) - pulumi.RegisterOutputType(ServiceEmailsOnPushMapOutput{}) -} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceExternalWiki.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceExternalWiki.go deleted file mode 100644 index 85ac58a61..000000000 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceExternalWiki.go +++ /dev/null @@ -1,353 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package gitlab - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -// The `ServiceExternalWiki` resource allows to manage the lifecycle of a project integration with External Wiki Service. -// -// > This resource is deprecated. use `IntegrationExternalWiki`instead! -// -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#external-wiki) -// -// ## Example Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ -// Name: pulumi.String("awesome_project"), -// Description: pulumi.String("My awesome project."), -// VisibilityLevel: pulumi.String("public"), -// }) -// if err != nil { -// return err -// } -// _, err = gitlab.NewServiceExternalWiki(ctx, "wiki", &gitlab.ServiceExternalWikiArgs{ -// Project: awesomeProject.ID(), -// ExternalWikiUrl: pulumi.String("https://MyAwesomeExternalWikiURL.com"), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_service_external_wiki`. For example: -// -// terraform -// -// import { -// -// to = gitlab_service_external_wiki.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import a gitlab_service_external_wiki state using the project ID, e.g. -// -// ```sh -// $ pulumi import gitlab:index/serviceExternalWiki:ServiceExternalWiki wiki 1 -// ``` -type ServiceExternalWiki struct { - pulumi.CustomResourceState - - // Whether the integration is active. - Active pulumi.BoolOutput `pulumi:"active"` - // The ISO8601 date/time that this integration was activated at in UTC. - CreatedAt pulumi.StringOutput `pulumi:"createdAt"` - // The URL of the external wiki. - ExternalWikiUrl pulumi.StringOutput `pulumi:"externalWikiUrl"` - // ID of the project you want to activate integration on. - Project pulumi.StringOutput `pulumi:"project"` - // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. - Slug pulumi.StringOutput `pulumi:"slug"` - // Title of the integration. - Title pulumi.StringOutput `pulumi:"title"` - // The ISO8601 date/time that this integration was last updated at in UTC. - UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` -} - -// NewServiceExternalWiki registers a new resource with the given unique name, arguments, and options. -func NewServiceExternalWiki(ctx *pulumi.Context, - name string, args *ServiceExternalWikiArgs, opts ...pulumi.ResourceOption) (*ServiceExternalWiki, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.ExternalWikiUrl == nil { - return nil, errors.New("invalid value for required argument 'ExternalWikiUrl'") - } - if args.Project == nil { - return nil, errors.New("invalid value for required argument 'Project'") - } - opts = internal.PkgResourceDefaultOpts(opts) - var resource ServiceExternalWiki - err := ctx.RegisterResource("gitlab:index/serviceExternalWiki:ServiceExternalWiki", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetServiceExternalWiki gets an existing ServiceExternalWiki resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetServiceExternalWiki(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *ServiceExternalWikiState, opts ...pulumi.ResourceOption) (*ServiceExternalWiki, error) { - var resource ServiceExternalWiki - err := ctx.ReadResource("gitlab:index/serviceExternalWiki:ServiceExternalWiki", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering ServiceExternalWiki resources. -type serviceExternalWikiState struct { - // Whether the integration is active. - Active *bool `pulumi:"active"` - // The ISO8601 date/time that this integration was activated at in UTC. - CreatedAt *string `pulumi:"createdAt"` - // The URL of the external wiki. - ExternalWikiUrl *string `pulumi:"externalWikiUrl"` - // ID of the project you want to activate integration on. - Project *string `pulumi:"project"` - // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. - Slug *string `pulumi:"slug"` - // Title of the integration. - Title *string `pulumi:"title"` - // The ISO8601 date/time that this integration was last updated at in UTC. - UpdatedAt *string `pulumi:"updatedAt"` -} - -type ServiceExternalWikiState struct { - // Whether the integration is active. - Active pulumi.BoolPtrInput - // The ISO8601 date/time that this integration was activated at in UTC. - CreatedAt pulumi.StringPtrInput - // The URL of the external wiki. - ExternalWikiUrl pulumi.StringPtrInput - // ID of the project you want to activate integration on. - Project pulumi.StringPtrInput - // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. - Slug pulumi.StringPtrInput - // Title of the integration. - Title pulumi.StringPtrInput - // The ISO8601 date/time that this integration was last updated at in UTC. - UpdatedAt pulumi.StringPtrInput -} - -func (ServiceExternalWikiState) ElementType() reflect.Type { - return reflect.TypeOf((*serviceExternalWikiState)(nil)).Elem() -} - -type serviceExternalWikiArgs struct { - // The URL of the external wiki. - ExternalWikiUrl string `pulumi:"externalWikiUrl"` - // ID of the project you want to activate integration on. - Project string `pulumi:"project"` -} - -// The set of arguments for constructing a ServiceExternalWiki resource. -type ServiceExternalWikiArgs struct { - // The URL of the external wiki. - ExternalWikiUrl pulumi.StringInput - // ID of the project you want to activate integration on. - Project pulumi.StringInput -} - -func (ServiceExternalWikiArgs) ElementType() reflect.Type { - return reflect.TypeOf((*serviceExternalWikiArgs)(nil)).Elem() -} - -type ServiceExternalWikiInput interface { - pulumi.Input - - ToServiceExternalWikiOutput() ServiceExternalWikiOutput - ToServiceExternalWikiOutputWithContext(ctx context.Context) ServiceExternalWikiOutput -} - -func (*ServiceExternalWiki) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceExternalWiki)(nil)).Elem() -} - -func (i *ServiceExternalWiki) ToServiceExternalWikiOutput() ServiceExternalWikiOutput { - return i.ToServiceExternalWikiOutputWithContext(context.Background()) -} - -func (i *ServiceExternalWiki) ToServiceExternalWikiOutputWithContext(ctx context.Context) ServiceExternalWikiOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceExternalWikiOutput) -} - -// ServiceExternalWikiArrayInput is an input type that accepts ServiceExternalWikiArray and ServiceExternalWikiArrayOutput values. -// You can construct a concrete instance of `ServiceExternalWikiArrayInput` via: -// -// ServiceExternalWikiArray{ ServiceExternalWikiArgs{...} } -type ServiceExternalWikiArrayInput interface { - pulumi.Input - - ToServiceExternalWikiArrayOutput() ServiceExternalWikiArrayOutput - ToServiceExternalWikiArrayOutputWithContext(context.Context) ServiceExternalWikiArrayOutput -} - -type ServiceExternalWikiArray []ServiceExternalWikiInput - -func (ServiceExternalWikiArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ServiceExternalWiki)(nil)).Elem() -} - -func (i ServiceExternalWikiArray) ToServiceExternalWikiArrayOutput() ServiceExternalWikiArrayOutput { - return i.ToServiceExternalWikiArrayOutputWithContext(context.Background()) -} - -func (i ServiceExternalWikiArray) ToServiceExternalWikiArrayOutputWithContext(ctx context.Context) ServiceExternalWikiArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceExternalWikiArrayOutput) -} - -// ServiceExternalWikiMapInput is an input type that accepts ServiceExternalWikiMap and ServiceExternalWikiMapOutput values. -// You can construct a concrete instance of `ServiceExternalWikiMapInput` via: -// -// ServiceExternalWikiMap{ "key": ServiceExternalWikiArgs{...} } -type ServiceExternalWikiMapInput interface { - pulumi.Input - - ToServiceExternalWikiMapOutput() ServiceExternalWikiMapOutput - ToServiceExternalWikiMapOutputWithContext(context.Context) ServiceExternalWikiMapOutput -} - -type ServiceExternalWikiMap map[string]ServiceExternalWikiInput - -func (ServiceExternalWikiMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ServiceExternalWiki)(nil)).Elem() -} - -func (i ServiceExternalWikiMap) ToServiceExternalWikiMapOutput() ServiceExternalWikiMapOutput { - return i.ToServiceExternalWikiMapOutputWithContext(context.Background()) -} - -func (i ServiceExternalWikiMap) ToServiceExternalWikiMapOutputWithContext(ctx context.Context) ServiceExternalWikiMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceExternalWikiMapOutput) -} - -type ServiceExternalWikiOutput struct{ *pulumi.OutputState } - -func (ServiceExternalWikiOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceExternalWiki)(nil)).Elem() -} - -func (o ServiceExternalWikiOutput) ToServiceExternalWikiOutput() ServiceExternalWikiOutput { - return o -} - -func (o ServiceExternalWikiOutput) ToServiceExternalWikiOutputWithContext(ctx context.Context) ServiceExternalWikiOutput { - return o -} - -// Whether the integration is active. -func (o ServiceExternalWikiOutput) Active() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceExternalWiki) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) -} - -// The ISO8601 date/time that this integration was activated at in UTC. -func (o ServiceExternalWikiOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceExternalWiki) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) -} - -// The URL of the external wiki. -func (o ServiceExternalWikiOutput) ExternalWikiUrl() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceExternalWiki) pulumi.StringOutput { return v.ExternalWikiUrl }).(pulumi.StringOutput) -} - -// ID of the project you want to activate integration on. -func (o ServiceExternalWikiOutput) Project() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceExternalWiki) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) -} - -// The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. -func (o ServiceExternalWikiOutput) Slug() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceExternalWiki) pulumi.StringOutput { return v.Slug }).(pulumi.StringOutput) -} - -// Title of the integration. -func (o ServiceExternalWikiOutput) Title() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceExternalWiki) pulumi.StringOutput { return v.Title }).(pulumi.StringOutput) -} - -// The ISO8601 date/time that this integration was last updated at in UTC. -func (o ServiceExternalWikiOutput) UpdatedAt() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceExternalWiki) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) -} - -type ServiceExternalWikiArrayOutput struct{ *pulumi.OutputState } - -func (ServiceExternalWikiArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ServiceExternalWiki)(nil)).Elem() -} - -func (o ServiceExternalWikiArrayOutput) ToServiceExternalWikiArrayOutput() ServiceExternalWikiArrayOutput { - return o -} - -func (o ServiceExternalWikiArrayOutput) ToServiceExternalWikiArrayOutputWithContext(ctx context.Context) ServiceExternalWikiArrayOutput { - return o -} - -func (o ServiceExternalWikiArrayOutput) Index(i pulumi.IntInput) ServiceExternalWikiOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ServiceExternalWiki { - return vs[0].([]*ServiceExternalWiki)[vs[1].(int)] - }).(ServiceExternalWikiOutput) -} - -type ServiceExternalWikiMapOutput struct{ *pulumi.OutputState } - -func (ServiceExternalWikiMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ServiceExternalWiki)(nil)).Elem() -} - -func (o ServiceExternalWikiMapOutput) ToServiceExternalWikiMapOutput() ServiceExternalWikiMapOutput { - return o -} - -func (o ServiceExternalWikiMapOutput) ToServiceExternalWikiMapOutputWithContext(ctx context.Context) ServiceExternalWikiMapOutput { - return o -} - -func (o ServiceExternalWikiMapOutput) MapIndex(k pulumi.StringInput) ServiceExternalWikiOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ServiceExternalWiki { - return vs[0].(map[string]*ServiceExternalWiki)[vs[1].(string)] - }).(ServiceExternalWikiOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*ServiceExternalWikiInput)(nil)).Elem(), &ServiceExternalWiki{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceExternalWikiArrayInput)(nil)).Elem(), ServiceExternalWikiArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceExternalWikiMapInput)(nil)).Elem(), ServiceExternalWikiMap{}) - pulumi.RegisterOutputType(ServiceExternalWikiOutput{}) - pulumi.RegisterOutputType(ServiceExternalWikiArrayOutput{}) - pulumi.RegisterOutputType(ServiceExternalWikiMapOutput{}) -} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceGithub.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceGithub.go deleted file mode 100644 index 8ccaf53c2..000000000 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceGithub.go +++ /dev/null @@ -1,381 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package gitlab - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -// The `ServiceGithub` resource allows to manage the lifecycle of a project integration with GitHub. -// -// > This resource requires a GitLab Enterprise instance. -// -// > This resource is deprecated. use `IntegrationGithub`instead! -// -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#github) -// -// ## Example Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ -// Name: pulumi.String("awesome_project"), -// Description: pulumi.String("My awesome project."), -// VisibilityLevel: pulumi.String("public"), -// }) -// if err != nil { -// return err -// } -// _, err = gitlab.NewServiceGithub(ctx, "github", &gitlab.ServiceGithubArgs{ -// Project: awesomeProject.ID(), -// Token: pulumi.String("REDACTED"), -// RepositoryUrl: pulumi.String("https://github.com/gitlabhq/terraform-provider-gitlab"), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_service_github`. For example: -// -// terraform -// -// import { -// -// to = gitlab_service_github.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// ```sh -// $ pulumi import gitlab:index/serviceGithub:ServiceGithub You can import a gitlab_service_github state using ` `: -// ``` -// -// ```sh -// $ pulumi import gitlab:index/serviceGithub:ServiceGithub github 1 -// ``` -type ServiceGithub struct { - pulumi.CustomResourceState - - // Whether the integration is active. - Active pulumi.BoolOutput `pulumi:"active"` - // Create time. - CreatedAt pulumi.StringOutput `pulumi:"createdAt"` - // ID of the project you want to activate integration on. - Project pulumi.StringOutput `pulumi:"project"` - RepositoryUrl pulumi.StringOutput `pulumi:"repositoryUrl"` - // Append instance name instead of branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. - StaticContext pulumi.BoolPtrOutput `pulumi:"staticContext"` - // Title. - Title pulumi.StringOutput `pulumi:"title"` - // A GitHub personal access token with at least `repo:status` scope. - Token pulumi.StringOutput `pulumi:"token"` - // Update time. - UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` -} - -// NewServiceGithub registers a new resource with the given unique name, arguments, and options. -func NewServiceGithub(ctx *pulumi.Context, - name string, args *ServiceGithubArgs, opts ...pulumi.ResourceOption) (*ServiceGithub, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.Project == nil { - return nil, errors.New("invalid value for required argument 'Project'") - } - if args.RepositoryUrl == nil { - return nil, errors.New("invalid value for required argument 'RepositoryUrl'") - } - if args.Token == nil { - return nil, errors.New("invalid value for required argument 'Token'") - } - if args.Token != nil { - args.Token = pulumi.ToSecret(args.Token).(pulumi.StringInput) - } - secrets := pulumi.AdditionalSecretOutputs([]string{ - "token", - }) - opts = append(opts, secrets) - opts = internal.PkgResourceDefaultOpts(opts) - var resource ServiceGithub - err := ctx.RegisterResource("gitlab:index/serviceGithub:ServiceGithub", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetServiceGithub gets an existing ServiceGithub resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetServiceGithub(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *ServiceGithubState, opts ...pulumi.ResourceOption) (*ServiceGithub, error) { - var resource ServiceGithub - err := ctx.ReadResource("gitlab:index/serviceGithub:ServiceGithub", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering ServiceGithub resources. -type serviceGithubState struct { - // Whether the integration is active. - Active *bool `pulumi:"active"` - // Create time. - CreatedAt *string `pulumi:"createdAt"` - // ID of the project you want to activate integration on. - Project *string `pulumi:"project"` - RepositoryUrl *string `pulumi:"repositoryUrl"` - // Append instance name instead of branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. - StaticContext *bool `pulumi:"staticContext"` - // Title. - Title *string `pulumi:"title"` - // A GitHub personal access token with at least `repo:status` scope. - Token *string `pulumi:"token"` - // Update time. - UpdatedAt *string `pulumi:"updatedAt"` -} - -type ServiceGithubState struct { - // Whether the integration is active. - Active pulumi.BoolPtrInput - // Create time. - CreatedAt pulumi.StringPtrInput - // ID of the project you want to activate integration on. - Project pulumi.StringPtrInput - RepositoryUrl pulumi.StringPtrInput - // Append instance name instead of branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. - StaticContext pulumi.BoolPtrInput - // Title. - Title pulumi.StringPtrInput - // A GitHub personal access token with at least `repo:status` scope. - Token pulumi.StringPtrInput - // Update time. - UpdatedAt pulumi.StringPtrInput -} - -func (ServiceGithubState) ElementType() reflect.Type { - return reflect.TypeOf((*serviceGithubState)(nil)).Elem() -} - -type serviceGithubArgs struct { - // ID of the project you want to activate integration on. - Project string `pulumi:"project"` - RepositoryUrl string `pulumi:"repositoryUrl"` - // Append instance name instead of branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. - StaticContext *bool `pulumi:"staticContext"` - // A GitHub personal access token with at least `repo:status` scope. - Token string `pulumi:"token"` -} - -// The set of arguments for constructing a ServiceGithub resource. -type ServiceGithubArgs struct { - // ID of the project you want to activate integration on. - Project pulumi.StringInput - RepositoryUrl pulumi.StringInput - // Append instance name instead of branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. - StaticContext pulumi.BoolPtrInput - // A GitHub personal access token with at least `repo:status` scope. - Token pulumi.StringInput -} - -func (ServiceGithubArgs) ElementType() reflect.Type { - return reflect.TypeOf((*serviceGithubArgs)(nil)).Elem() -} - -type ServiceGithubInput interface { - pulumi.Input - - ToServiceGithubOutput() ServiceGithubOutput - ToServiceGithubOutputWithContext(ctx context.Context) ServiceGithubOutput -} - -func (*ServiceGithub) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceGithub)(nil)).Elem() -} - -func (i *ServiceGithub) ToServiceGithubOutput() ServiceGithubOutput { - return i.ToServiceGithubOutputWithContext(context.Background()) -} - -func (i *ServiceGithub) ToServiceGithubOutputWithContext(ctx context.Context) ServiceGithubOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceGithubOutput) -} - -// ServiceGithubArrayInput is an input type that accepts ServiceGithubArray and ServiceGithubArrayOutput values. -// You can construct a concrete instance of `ServiceGithubArrayInput` via: -// -// ServiceGithubArray{ ServiceGithubArgs{...} } -type ServiceGithubArrayInput interface { - pulumi.Input - - ToServiceGithubArrayOutput() ServiceGithubArrayOutput - ToServiceGithubArrayOutputWithContext(context.Context) ServiceGithubArrayOutput -} - -type ServiceGithubArray []ServiceGithubInput - -func (ServiceGithubArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ServiceGithub)(nil)).Elem() -} - -func (i ServiceGithubArray) ToServiceGithubArrayOutput() ServiceGithubArrayOutput { - return i.ToServiceGithubArrayOutputWithContext(context.Background()) -} - -func (i ServiceGithubArray) ToServiceGithubArrayOutputWithContext(ctx context.Context) ServiceGithubArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceGithubArrayOutput) -} - -// ServiceGithubMapInput is an input type that accepts ServiceGithubMap and ServiceGithubMapOutput values. -// You can construct a concrete instance of `ServiceGithubMapInput` via: -// -// ServiceGithubMap{ "key": ServiceGithubArgs{...} } -type ServiceGithubMapInput interface { - pulumi.Input - - ToServiceGithubMapOutput() ServiceGithubMapOutput - ToServiceGithubMapOutputWithContext(context.Context) ServiceGithubMapOutput -} - -type ServiceGithubMap map[string]ServiceGithubInput - -func (ServiceGithubMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ServiceGithub)(nil)).Elem() -} - -func (i ServiceGithubMap) ToServiceGithubMapOutput() ServiceGithubMapOutput { - return i.ToServiceGithubMapOutputWithContext(context.Background()) -} - -func (i ServiceGithubMap) ToServiceGithubMapOutputWithContext(ctx context.Context) ServiceGithubMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceGithubMapOutput) -} - -type ServiceGithubOutput struct{ *pulumi.OutputState } - -func (ServiceGithubOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceGithub)(nil)).Elem() -} - -func (o ServiceGithubOutput) ToServiceGithubOutput() ServiceGithubOutput { - return o -} - -func (o ServiceGithubOutput) ToServiceGithubOutputWithContext(ctx context.Context) ServiceGithubOutput { - return o -} - -// Whether the integration is active. -func (o ServiceGithubOutput) Active() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceGithub) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) -} - -// Create time. -func (o ServiceGithubOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceGithub) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) -} - -// ID of the project you want to activate integration on. -func (o ServiceGithubOutput) Project() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceGithub) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) -} - -func (o ServiceGithubOutput) RepositoryUrl() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceGithub) pulumi.StringOutput { return v.RepositoryUrl }).(pulumi.StringOutput) -} - -// Append instance name instead of branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. -func (o ServiceGithubOutput) StaticContext() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceGithub) pulumi.BoolPtrOutput { return v.StaticContext }).(pulumi.BoolPtrOutput) -} - -// Title. -func (o ServiceGithubOutput) Title() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceGithub) pulumi.StringOutput { return v.Title }).(pulumi.StringOutput) -} - -// A GitHub personal access token with at least `repo:status` scope. -func (o ServiceGithubOutput) Token() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceGithub) pulumi.StringOutput { return v.Token }).(pulumi.StringOutput) -} - -// Update time. -func (o ServiceGithubOutput) UpdatedAt() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceGithub) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) -} - -type ServiceGithubArrayOutput struct{ *pulumi.OutputState } - -func (ServiceGithubArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ServiceGithub)(nil)).Elem() -} - -func (o ServiceGithubArrayOutput) ToServiceGithubArrayOutput() ServiceGithubArrayOutput { - return o -} - -func (o ServiceGithubArrayOutput) ToServiceGithubArrayOutputWithContext(ctx context.Context) ServiceGithubArrayOutput { - return o -} - -func (o ServiceGithubArrayOutput) Index(i pulumi.IntInput) ServiceGithubOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ServiceGithub { - return vs[0].([]*ServiceGithub)[vs[1].(int)] - }).(ServiceGithubOutput) -} - -type ServiceGithubMapOutput struct{ *pulumi.OutputState } - -func (ServiceGithubMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ServiceGithub)(nil)).Elem() -} - -func (o ServiceGithubMapOutput) ToServiceGithubMapOutput() ServiceGithubMapOutput { - return o -} - -func (o ServiceGithubMapOutput) ToServiceGithubMapOutputWithContext(ctx context.Context) ServiceGithubMapOutput { - return o -} - -func (o ServiceGithubMapOutput) MapIndex(k pulumi.StringInput) ServiceGithubOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ServiceGithub { - return vs[0].(map[string]*ServiceGithub)[vs[1].(string)] - }).(ServiceGithubOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*ServiceGithubInput)(nil)).Elem(), &ServiceGithub{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceGithubArrayInput)(nil)).Elem(), ServiceGithubArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceGithubMapInput)(nil)).Elem(), ServiceGithubMap{}) - pulumi.RegisterOutputType(ServiceGithubOutput{}) - pulumi.RegisterOutputType(ServiceGithubArrayOutput{}) - pulumi.RegisterOutputType(ServiceGithubMapOutput{}) -} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceMicrosoftTeams.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceMicrosoftTeams.go deleted file mode 100644 index 431aa6eb6..000000000 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceMicrosoftTeams.go +++ /dev/null @@ -1,497 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package gitlab - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -// The `ServiceMicrosoftTeams` resource allows to manage the lifecycle of a project integration with Microsoft Teams. -// -// > This resource is deprecated. use `IntegrationMicrosoftTeams`instead! -// -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#microsoft-teams-notifications) -// -// ## Example Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ -// Name: pulumi.String("awesome_project"), -// Description: pulumi.String("My awesome project."), -// VisibilityLevel: pulumi.String("public"), -// }) -// if err != nil { -// return err -// } -// _, err = gitlab.NewServiceMicrosoftTeams(ctx, "teams", &gitlab.ServiceMicrosoftTeamsArgs{ -// Project: awesomeProject.ID(), -// Webhook: pulumi.String("https://testurl.com/?token=XYZ"), -// PushEvents: pulumi.Bool(true), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_service_microsoft_teams`. For example: -// -// terraform -// -// import { -// -// to = gitlab_service_microsoft_teams.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import a gitlab_service_microsoft_teams state using the project ID, e.g. -// -// ```sh -// $ pulumi import gitlab:index/serviceMicrosoftTeams:ServiceMicrosoftTeams teams 1 -// ``` -type ServiceMicrosoftTeams struct { - pulumi.CustomResourceState - - // Whether the integration is active. - Active pulumi.BoolOutput `pulumi:"active"` - // Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default*and*protected”. The default value is “default” - BranchesToBeNotified pulumi.StringPtrOutput `pulumi:"branchesToBeNotified"` - // Enable notifications for confidential issue events - ConfidentialIssuesEvents pulumi.BoolPtrOutput `pulumi:"confidentialIssuesEvents"` - // Enable notifications for confidential note events - ConfidentialNoteEvents pulumi.BoolPtrOutput `pulumi:"confidentialNoteEvents"` - // Create time. - CreatedAt pulumi.StringOutput `pulumi:"createdAt"` - // Enable notifications for issue events - IssuesEvents pulumi.BoolPtrOutput `pulumi:"issuesEvents"` - // Enable notifications for merge request events - MergeRequestsEvents pulumi.BoolPtrOutput `pulumi:"mergeRequestsEvents"` - // Enable notifications for note events - NoteEvents pulumi.BoolPtrOutput `pulumi:"noteEvents"` - // Send notifications for broken pipelines - NotifyOnlyBrokenPipelines pulumi.BoolPtrOutput `pulumi:"notifyOnlyBrokenPipelines"` - // Enable notifications for pipeline events - PipelineEvents pulumi.BoolPtrOutput `pulumi:"pipelineEvents"` - // ID of the project you want to activate integration on. - Project pulumi.StringOutput `pulumi:"project"` - // Enable notifications for push events - PushEvents pulumi.BoolPtrOutput `pulumi:"pushEvents"` - // Enable notifications for tag push events - TagPushEvents pulumi.BoolPtrOutput `pulumi:"tagPushEvents"` - // Update time. - UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` - // The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. - Webhook pulumi.StringOutput `pulumi:"webhook"` - // Enable notifications for wiki page events - WikiPageEvents pulumi.BoolPtrOutput `pulumi:"wikiPageEvents"` -} - -// NewServiceMicrosoftTeams registers a new resource with the given unique name, arguments, and options. -func NewServiceMicrosoftTeams(ctx *pulumi.Context, - name string, args *ServiceMicrosoftTeamsArgs, opts ...pulumi.ResourceOption) (*ServiceMicrosoftTeams, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.Project == nil { - return nil, errors.New("invalid value for required argument 'Project'") - } - if args.Webhook == nil { - return nil, errors.New("invalid value for required argument 'Webhook'") - } - opts = internal.PkgResourceDefaultOpts(opts) - var resource ServiceMicrosoftTeams - err := ctx.RegisterResource("gitlab:index/serviceMicrosoftTeams:ServiceMicrosoftTeams", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetServiceMicrosoftTeams gets an existing ServiceMicrosoftTeams resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetServiceMicrosoftTeams(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *ServiceMicrosoftTeamsState, opts ...pulumi.ResourceOption) (*ServiceMicrosoftTeams, error) { - var resource ServiceMicrosoftTeams - err := ctx.ReadResource("gitlab:index/serviceMicrosoftTeams:ServiceMicrosoftTeams", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering ServiceMicrosoftTeams resources. -type serviceMicrosoftTeamsState struct { - // Whether the integration is active. - Active *bool `pulumi:"active"` - // Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default*and*protected”. The default value is “default” - BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` - // Enable notifications for confidential issue events - ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` - // Enable notifications for confidential note events - ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` - // Create time. - CreatedAt *string `pulumi:"createdAt"` - // Enable notifications for issue events - IssuesEvents *bool `pulumi:"issuesEvents"` - // Enable notifications for merge request events - MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` - // Enable notifications for note events - NoteEvents *bool `pulumi:"noteEvents"` - // Send notifications for broken pipelines - NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` - // Enable notifications for pipeline events - PipelineEvents *bool `pulumi:"pipelineEvents"` - // ID of the project you want to activate integration on. - Project *string `pulumi:"project"` - // Enable notifications for push events - PushEvents *bool `pulumi:"pushEvents"` - // Enable notifications for tag push events - TagPushEvents *bool `pulumi:"tagPushEvents"` - // Update time. - UpdatedAt *string `pulumi:"updatedAt"` - // The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. - Webhook *string `pulumi:"webhook"` - // Enable notifications for wiki page events - WikiPageEvents *bool `pulumi:"wikiPageEvents"` -} - -type ServiceMicrosoftTeamsState struct { - // Whether the integration is active. - Active pulumi.BoolPtrInput - // Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default*and*protected”. The default value is “default” - BranchesToBeNotified pulumi.StringPtrInput - // Enable notifications for confidential issue events - ConfidentialIssuesEvents pulumi.BoolPtrInput - // Enable notifications for confidential note events - ConfidentialNoteEvents pulumi.BoolPtrInput - // Create time. - CreatedAt pulumi.StringPtrInput - // Enable notifications for issue events - IssuesEvents pulumi.BoolPtrInput - // Enable notifications for merge request events - MergeRequestsEvents pulumi.BoolPtrInput - // Enable notifications for note events - NoteEvents pulumi.BoolPtrInput - // Send notifications for broken pipelines - NotifyOnlyBrokenPipelines pulumi.BoolPtrInput - // Enable notifications for pipeline events - PipelineEvents pulumi.BoolPtrInput - // ID of the project you want to activate integration on. - Project pulumi.StringPtrInput - // Enable notifications for push events - PushEvents pulumi.BoolPtrInput - // Enable notifications for tag push events - TagPushEvents pulumi.BoolPtrInput - // Update time. - UpdatedAt pulumi.StringPtrInput - // The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. - Webhook pulumi.StringPtrInput - // Enable notifications for wiki page events - WikiPageEvents pulumi.BoolPtrInput -} - -func (ServiceMicrosoftTeamsState) ElementType() reflect.Type { - return reflect.TypeOf((*serviceMicrosoftTeamsState)(nil)).Elem() -} - -type serviceMicrosoftTeamsArgs struct { - // Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default*and*protected”. The default value is “default” - BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` - // Enable notifications for confidential issue events - ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` - // Enable notifications for confidential note events - ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` - // Enable notifications for issue events - IssuesEvents *bool `pulumi:"issuesEvents"` - // Enable notifications for merge request events - MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` - // Enable notifications for note events - NoteEvents *bool `pulumi:"noteEvents"` - // Send notifications for broken pipelines - NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` - // Enable notifications for pipeline events - PipelineEvents *bool `pulumi:"pipelineEvents"` - // ID of the project you want to activate integration on. - Project string `pulumi:"project"` - // Enable notifications for push events - PushEvents *bool `pulumi:"pushEvents"` - // Enable notifications for tag push events - TagPushEvents *bool `pulumi:"tagPushEvents"` - // The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. - Webhook string `pulumi:"webhook"` - // Enable notifications for wiki page events - WikiPageEvents *bool `pulumi:"wikiPageEvents"` -} - -// The set of arguments for constructing a ServiceMicrosoftTeams resource. -type ServiceMicrosoftTeamsArgs struct { - // Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default*and*protected”. The default value is “default” - BranchesToBeNotified pulumi.StringPtrInput - // Enable notifications for confidential issue events - ConfidentialIssuesEvents pulumi.BoolPtrInput - // Enable notifications for confidential note events - ConfidentialNoteEvents pulumi.BoolPtrInput - // Enable notifications for issue events - IssuesEvents pulumi.BoolPtrInput - // Enable notifications for merge request events - MergeRequestsEvents pulumi.BoolPtrInput - // Enable notifications for note events - NoteEvents pulumi.BoolPtrInput - // Send notifications for broken pipelines - NotifyOnlyBrokenPipelines pulumi.BoolPtrInput - // Enable notifications for pipeline events - PipelineEvents pulumi.BoolPtrInput - // ID of the project you want to activate integration on. - Project pulumi.StringInput - // Enable notifications for push events - PushEvents pulumi.BoolPtrInput - // Enable notifications for tag push events - TagPushEvents pulumi.BoolPtrInput - // The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. - Webhook pulumi.StringInput - // Enable notifications for wiki page events - WikiPageEvents pulumi.BoolPtrInput -} - -func (ServiceMicrosoftTeamsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*serviceMicrosoftTeamsArgs)(nil)).Elem() -} - -type ServiceMicrosoftTeamsInput interface { - pulumi.Input - - ToServiceMicrosoftTeamsOutput() ServiceMicrosoftTeamsOutput - ToServiceMicrosoftTeamsOutputWithContext(ctx context.Context) ServiceMicrosoftTeamsOutput -} - -func (*ServiceMicrosoftTeams) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceMicrosoftTeams)(nil)).Elem() -} - -func (i *ServiceMicrosoftTeams) ToServiceMicrosoftTeamsOutput() ServiceMicrosoftTeamsOutput { - return i.ToServiceMicrosoftTeamsOutputWithContext(context.Background()) -} - -func (i *ServiceMicrosoftTeams) ToServiceMicrosoftTeamsOutputWithContext(ctx context.Context) ServiceMicrosoftTeamsOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceMicrosoftTeamsOutput) -} - -// ServiceMicrosoftTeamsArrayInput is an input type that accepts ServiceMicrosoftTeamsArray and ServiceMicrosoftTeamsArrayOutput values. -// You can construct a concrete instance of `ServiceMicrosoftTeamsArrayInput` via: -// -// ServiceMicrosoftTeamsArray{ ServiceMicrosoftTeamsArgs{...} } -type ServiceMicrosoftTeamsArrayInput interface { - pulumi.Input - - ToServiceMicrosoftTeamsArrayOutput() ServiceMicrosoftTeamsArrayOutput - ToServiceMicrosoftTeamsArrayOutputWithContext(context.Context) ServiceMicrosoftTeamsArrayOutput -} - -type ServiceMicrosoftTeamsArray []ServiceMicrosoftTeamsInput - -func (ServiceMicrosoftTeamsArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ServiceMicrosoftTeams)(nil)).Elem() -} - -func (i ServiceMicrosoftTeamsArray) ToServiceMicrosoftTeamsArrayOutput() ServiceMicrosoftTeamsArrayOutput { - return i.ToServiceMicrosoftTeamsArrayOutputWithContext(context.Background()) -} - -func (i ServiceMicrosoftTeamsArray) ToServiceMicrosoftTeamsArrayOutputWithContext(ctx context.Context) ServiceMicrosoftTeamsArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceMicrosoftTeamsArrayOutput) -} - -// ServiceMicrosoftTeamsMapInput is an input type that accepts ServiceMicrosoftTeamsMap and ServiceMicrosoftTeamsMapOutput values. -// You can construct a concrete instance of `ServiceMicrosoftTeamsMapInput` via: -// -// ServiceMicrosoftTeamsMap{ "key": ServiceMicrosoftTeamsArgs{...} } -type ServiceMicrosoftTeamsMapInput interface { - pulumi.Input - - ToServiceMicrosoftTeamsMapOutput() ServiceMicrosoftTeamsMapOutput - ToServiceMicrosoftTeamsMapOutputWithContext(context.Context) ServiceMicrosoftTeamsMapOutput -} - -type ServiceMicrosoftTeamsMap map[string]ServiceMicrosoftTeamsInput - -func (ServiceMicrosoftTeamsMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ServiceMicrosoftTeams)(nil)).Elem() -} - -func (i ServiceMicrosoftTeamsMap) ToServiceMicrosoftTeamsMapOutput() ServiceMicrosoftTeamsMapOutput { - return i.ToServiceMicrosoftTeamsMapOutputWithContext(context.Background()) -} - -func (i ServiceMicrosoftTeamsMap) ToServiceMicrosoftTeamsMapOutputWithContext(ctx context.Context) ServiceMicrosoftTeamsMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceMicrosoftTeamsMapOutput) -} - -type ServiceMicrosoftTeamsOutput struct{ *pulumi.OutputState } - -func (ServiceMicrosoftTeamsOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceMicrosoftTeams)(nil)).Elem() -} - -func (o ServiceMicrosoftTeamsOutput) ToServiceMicrosoftTeamsOutput() ServiceMicrosoftTeamsOutput { - return o -} - -func (o ServiceMicrosoftTeamsOutput) ToServiceMicrosoftTeamsOutputWithContext(ctx context.Context) ServiceMicrosoftTeamsOutput { - return o -} - -// Whether the integration is active. -func (o ServiceMicrosoftTeamsOutput) Active() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceMicrosoftTeams) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) -} - -// Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default*and*protected”. The default value is “default” -func (o ServiceMicrosoftTeamsOutput) BranchesToBeNotified() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceMicrosoftTeams) pulumi.StringPtrOutput { return v.BranchesToBeNotified }).(pulumi.StringPtrOutput) -} - -// Enable notifications for confidential issue events -func (o ServiceMicrosoftTeamsOutput) ConfidentialIssuesEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceMicrosoftTeams) pulumi.BoolPtrOutput { return v.ConfidentialIssuesEvents }).(pulumi.BoolPtrOutput) -} - -// Enable notifications for confidential note events -func (o ServiceMicrosoftTeamsOutput) ConfidentialNoteEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceMicrosoftTeams) pulumi.BoolPtrOutput { return v.ConfidentialNoteEvents }).(pulumi.BoolPtrOutput) -} - -// Create time. -func (o ServiceMicrosoftTeamsOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceMicrosoftTeams) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) -} - -// Enable notifications for issue events -func (o ServiceMicrosoftTeamsOutput) IssuesEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceMicrosoftTeams) pulumi.BoolPtrOutput { return v.IssuesEvents }).(pulumi.BoolPtrOutput) -} - -// Enable notifications for merge request events -func (o ServiceMicrosoftTeamsOutput) MergeRequestsEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceMicrosoftTeams) pulumi.BoolPtrOutput { return v.MergeRequestsEvents }).(pulumi.BoolPtrOutput) -} - -// Enable notifications for note events -func (o ServiceMicrosoftTeamsOutput) NoteEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceMicrosoftTeams) pulumi.BoolPtrOutput { return v.NoteEvents }).(pulumi.BoolPtrOutput) -} - -// Send notifications for broken pipelines -func (o ServiceMicrosoftTeamsOutput) NotifyOnlyBrokenPipelines() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceMicrosoftTeams) pulumi.BoolPtrOutput { return v.NotifyOnlyBrokenPipelines }).(pulumi.BoolPtrOutput) -} - -// Enable notifications for pipeline events -func (o ServiceMicrosoftTeamsOutput) PipelineEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceMicrosoftTeams) pulumi.BoolPtrOutput { return v.PipelineEvents }).(pulumi.BoolPtrOutput) -} - -// ID of the project you want to activate integration on. -func (o ServiceMicrosoftTeamsOutput) Project() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceMicrosoftTeams) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) -} - -// Enable notifications for push events -func (o ServiceMicrosoftTeamsOutput) PushEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceMicrosoftTeams) pulumi.BoolPtrOutput { return v.PushEvents }).(pulumi.BoolPtrOutput) -} - -// Enable notifications for tag push events -func (o ServiceMicrosoftTeamsOutput) TagPushEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceMicrosoftTeams) pulumi.BoolPtrOutput { return v.TagPushEvents }).(pulumi.BoolPtrOutput) -} - -// Update time. -func (o ServiceMicrosoftTeamsOutput) UpdatedAt() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceMicrosoftTeams) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) -} - -// The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. -func (o ServiceMicrosoftTeamsOutput) Webhook() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceMicrosoftTeams) pulumi.StringOutput { return v.Webhook }).(pulumi.StringOutput) -} - -// Enable notifications for wiki page events -func (o ServiceMicrosoftTeamsOutput) WikiPageEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceMicrosoftTeams) pulumi.BoolPtrOutput { return v.WikiPageEvents }).(pulumi.BoolPtrOutput) -} - -type ServiceMicrosoftTeamsArrayOutput struct{ *pulumi.OutputState } - -func (ServiceMicrosoftTeamsArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ServiceMicrosoftTeams)(nil)).Elem() -} - -func (o ServiceMicrosoftTeamsArrayOutput) ToServiceMicrosoftTeamsArrayOutput() ServiceMicrosoftTeamsArrayOutput { - return o -} - -func (o ServiceMicrosoftTeamsArrayOutput) ToServiceMicrosoftTeamsArrayOutputWithContext(ctx context.Context) ServiceMicrosoftTeamsArrayOutput { - return o -} - -func (o ServiceMicrosoftTeamsArrayOutput) Index(i pulumi.IntInput) ServiceMicrosoftTeamsOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ServiceMicrosoftTeams { - return vs[0].([]*ServiceMicrosoftTeams)[vs[1].(int)] - }).(ServiceMicrosoftTeamsOutput) -} - -type ServiceMicrosoftTeamsMapOutput struct{ *pulumi.OutputState } - -func (ServiceMicrosoftTeamsMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ServiceMicrosoftTeams)(nil)).Elem() -} - -func (o ServiceMicrosoftTeamsMapOutput) ToServiceMicrosoftTeamsMapOutput() ServiceMicrosoftTeamsMapOutput { - return o -} - -func (o ServiceMicrosoftTeamsMapOutput) ToServiceMicrosoftTeamsMapOutputWithContext(ctx context.Context) ServiceMicrosoftTeamsMapOutput { - return o -} - -func (o ServiceMicrosoftTeamsMapOutput) MapIndex(k pulumi.StringInput) ServiceMicrosoftTeamsOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ServiceMicrosoftTeams { - return vs[0].(map[string]*ServiceMicrosoftTeams)[vs[1].(string)] - }).(ServiceMicrosoftTeamsOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*ServiceMicrosoftTeamsInput)(nil)).Elem(), &ServiceMicrosoftTeams{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceMicrosoftTeamsArrayInput)(nil)).Elem(), ServiceMicrosoftTeamsArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceMicrosoftTeamsMapInput)(nil)).Elem(), ServiceMicrosoftTeamsMap{}) - pulumi.RegisterOutputType(ServiceMicrosoftTeamsOutput{}) - pulumi.RegisterOutputType(ServiceMicrosoftTeamsArrayOutput{}) - pulumi.RegisterOutputType(ServiceMicrosoftTeamsMapOutput{}) -} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/servicePipelinesEmail.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/servicePipelinesEmail.go deleted file mode 100644 index 9ef6d1bc4..000000000 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/servicePipelinesEmail.go +++ /dev/null @@ -1,332 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package gitlab - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -// The `ServicePipelinesEmail` resource allows to manage the lifecycle of a project integration with Pipeline Emails Service. -// -// > This resource is deprecated. use `IntegrationPipelinesEmail`instead! -// -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#pipeline-status-emails) -// -// ## Example Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ -// Name: pulumi.String("awesome_project"), -// Description: pulumi.String("My awesome project."), -// VisibilityLevel: pulumi.String("public"), -// }) -// if err != nil { -// return err -// } -// _, err = gitlab.NewServicePipelinesEmail(ctx, "email", &gitlab.ServicePipelinesEmailArgs{ -// Project: awesomeProject.ID(), -// Recipients: pulumi.StringArray{ -// pulumi.String("gitlab@user.create"), -// }, -// NotifyOnlyBrokenPipelines: pulumi.Bool(true), -// BranchesToBeNotified: pulumi.String("all"), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_service_pipelines_email`. For example: -// -// terraform -// -// import { -// -// to = gitlab_service_pipelines_email.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import a gitlab_service_pipelines_email state using the project ID, e.g. -// -// ```sh -// $ pulumi import gitlab:index/servicePipelinesEmail:ServicePipelinesEmail email 1 -// ``` -type ServicePipelinesEmail struct { - pulumi.CustomResourceState - - // Branches to send notifications for. Valid options are `all`, `default`, `protected`, and `defaultAndProtected`. Default is `default` - BranchesToBeNotified pulumi.StringPtrOutput `pulumi:"branchesToBeNotified"` - // Notify only broken pipelines. Default is true. - NotifyOnlyBrokenPipelines pulumi.BoolPtrOutput `pulumi:"notifyOnlyBrokenPipelines"` - // ID of the project you want to activate integration on. - Project pulumi.StringOutput `pulumi:"project"` - // ) email addresses where notifications are sent. - Recipients pulumi.StringArrayOutput `pulumi:"recipients"` -} - -// NewServicePipelinesEmail registers a new resource with the given unique name, arguments, and options. -func NewServicePipelinesEmail(ctx *pulumi.Context, - name string, args *ServicePipelinesEmailArgs, opts ...pulumi.ResourceOption) (*ServicePipelinesEmail, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.Project == nil { - return nil, errors.New("invalid value for required argument 'Project'") - } - if args.Recipients == nil { - return nil, errors.New("invalid value for required argument 'Recipients'") - } - opts = internal.PkgResourceDefaultOpts(opts) - var resource ServicePipelinesEmail - err := ctx.RegisterResource("gitlab:index/servicePipelinesEmail:ServicePipelinesEmail", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetServicePipelinesEmail gets an existing ServicePipelinesEmail resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetServicePipelinesEmail(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *ServicePipelinesEmailState, opts ...pulumi.ResourceOption) (*ServicePipelinesEmail, error) { - var resource ServicePipelinesEmail - err := ctx.ReadResource("gitlab:index/servicePipelinesEmail:ServicePipelinesEmail", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering ServicePipelinesEmail resources. -type servicePipelinesEmailState struct { - // Branches to send notifications for. Valid options are `all`, `default`, `protected`, and `defaultAndProtected`. Default is `default` - BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` - // Notify only broken pipelines. Default is true. - NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` - // ID of the project you want to activate integration on. - Project *string `pulumi:"project"` - // ) email addresses where notifications are sent. - Recipients []string `pulumi:"recipients"` -} - -type ServicePipelinesEmailState struct { - // Branches to send notifications for. Valid options are `all`, `default`, `protected`, and `defaultAndProtected`. Default is `default` - BranchesToBeNotified pulumi.StringPtrInput - // Notify only broken pipelines. Default is true. - NotifyOnlyBrokenPipelines pulumi.BoolPtrInput - // ID of the project you want to activate integration on. - Project pulumi.StringPtrInput - // ) email addresses where notifications are sent. - Recipients pulumi.StringArrayInput -} - -func (ServicePipelinesEmailState) ElementType() reflect.Type { - return reflect.TypeOf((*servicePipelinesEmailState)(nil)).Elem() -} - -type servicePipelinesEmailArgs struct { - // Branches to send notifications for. Valid options are `all`, `default`, `protected`, and `defaultAndProtected`. Default is `default` - BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` - // Notify only broken pipelines. Default is true. - NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` - // ID of the project you want to activate integration on. - Project string `pulumi:"project"` - // ) email addresses where notifications are sent. - Recipients []string `pulumi:"recipients"` -} - -// The set of arguments for constructing a ServicePipelinesEmail resource. -type ServicePipelinesEmailArgs struct { - // Branches to send notifications for. Valid options are `all`, `default`, `protected`, and `defaultAndProtected`. Default is `default` - BranchesToBeNotified pulumi.StringPtrInput - // Notify only broken pipelines. Default is true. - NotifyOnlyBrokenPipelines pulumi.BoolPtrInput - // ID of the project you want to activate integration on. - Project pulumi.StringInput - // ) email addresses where notifications are sent. - Recipients pulumi.StringArrayInput -} - -func (ServicePipelinesEmailArgs) ElementType() reflect.Type { - return reflect.TypeOf((*servicePipelinesEmailArgs)(nil)).Elem() -} - -type ServicePipelinesEmailInput interface { - pulumi.Input - - ToServicePipelinesEmailOutput() ServicePipelinesEmailOutput - ToServicePipelinesEmailOutputWithContext(ctx context.Context) ServicePipelinesEmailOutput -} - -func (*ServicePipelinesEmail) ElementType() reflect.Type { - return reflect.TypeOf((**ServicePipelinesEmail)(nil)).Elem() -} - -func (i *ServicePipelinesEmail) ToServicePipelinesEmailOutput() ServicePipelinesEmailOutput { - return i.ToServicePipelinesEmailOutputWithContext(context.Background()) -} - -func (i *ServicePipelinesEmail) ToServicePipelinesEmailOutputWithContext(ctx context.Context) ServicePipelinesEmailOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServicePipelinesEmailOutput) -} - -// ServicePipelinesEmailArrayInput is an input type that accepts ServicePipelinesEmailArray and ServicePipelinesEmailArrayOutput values. -// You can construct a concrete instance of `ServicePipelinesEmailArrayInput` via: -// -// ServicePipelinesEmailArray{ ServicePipelinesEmailArgs{...} } -type ServicePipelinesEmailArrayInput interface { - pulumi.Input - - ToServicePipelinesEmailArrayOutput() ServicePipelinesEmailArrayOutput - ToServicePipelinesEmailArrayOutputWithContext(context.Context) ServicePipelinesEmailArrayOutput -} - -type ServicePipelinesEmailArray []ServicePipelinesEmailInput - -func (ServicePipelinesEmailArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ServicePipelinesEmail)(nil)).Elem() -} - -func (i ServicePipelinesEmailArray) ToServicePipelinesEmailArrayOutput() ServicePipelinesEmailArrayOutput { - return i.ToServicePipelinesEmailArrayOutputWithContext(context.Background()) -} - -func (i ServicePipelinesEmailArray) ToServicePipelinesEmailArrayOutputWithContext(ctx context.Context) ServicePipelinesEmailArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServicePipelinesEmailArrayOutput) -} - -// ServicePipelinesEmailMapInput is an input type that accepts ServicePipelinesEmailMap and ServicePipelinesEmailMapOutput values. -// You can construct a concrete instance of `ServicePipelinesEmailMapInput` via: -// -// ServicePipelinesEmailMap{ "key": ServicePipelinesEmailArgs{...} } -type ServicePipelinesEmailMapInput interface { - pulumi.Input - - ToServicePipelinesEmailMapOutput() ServicePipelinesEmailMapOutput - ToServicePipelinesEmailMapOutputWithContext(context.Context) ServicePipelinesEmailMapOutput -} - -type ServicePipelinesEmailMap map[string]ServicePipelinesEmailInput - -func (ServicePipelinesEmailMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ServicePipelinesEmail)(nil)).Elem() -} - -func (i ServicePipelinesEmailMap) ToServicePipelinesEmailMapOutput() ServicePipelinesEmailMapOutput { - return i.ToServicePipelinesEmailMapOutputWithContext(context.Background()) -} - -func (i ServicePipelinesEmailMap) ToServicePipelinesEmailMapOutputWithContext(ctx context.Context) ServicePipelinesEmailMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServicePipelinesEmailMapOutput) -} - -type ServicePipelinesEmailOutput struct{ *pulumi.OutputState } - -func (ServicePipelinesEmailOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ServicePipelinesEmail)(nil)).Elem() -} - -func (o ServicePipelinesEmailOutput) ToServicePipelinesEmailOutput() ServicePipelinesEmailOutput { - return o -} - -func (o ServicePipelinesEmailOutput) ToServicePipelinesEmailOutputWithContext(ctx context.Context) ServicePipelinesEmailOutput { - return o -} - -// Branches to send notifications for. Valid options are `all`, `default`, `protected`, and `defaultAndProtected`. Default is `default` -func (o ServicePipelinesEmailOutput) BranchesToBeNotified() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServicePipelinesEmail) pulumi.StringPtrOutput { return v.BranchesToBeNotified }).(pulumi.StringPtrOutput) -} - -// Notify only broken pipelines. Default is true. -func (o ServicePipelinesEmailOutput) NotifyOnlyBrokenPipelines() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServicePipelinesEmail) pulumi.BoolPtrOutput { return v.NotifyOnlyBrokenPipelines }).(pulumi.BoolPtrOutput) -} - -// ID of the project you want to activate integration on. -func (o ServicePipelinesEmailOutput) Project() pulumi.StringOutput { - return o.ApplyT(func(v *ServicePipelinesEmail) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) -} - -// ) email addresses where notifications are sent. -func (o ServicePipelinesEmailOutput) Recipients() pulumi.StringArrayOutput { - return o.ApplyT(func(v *ServicePipelinesEmail) pulumi.StringArrayOutput { return v.Recipients }).(pulumi.StringArrayOutput) -} - -type ServicePipelinesEmailArrayOutput struct{ *pulumi.OutputState } - -func (ServicePipelinesEmailArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ServicePipelinesEmail)(nil)).Elem() -} - -func (o ServicePipelinesEmailArrayOutput) ToServicePipelinesEmailArrayOutput() ServicePipelinesEmailArrayOutput { - return o -} - -func (o ServicePipelinesEmailArrayOutput) ToServicePipelinesEmailArrayOutputWithContext(ctx context.Context) ServicePipelinesEmailArrayOutput { - return o -} - -func (o ServicePipelinesEmailArrayOutput) Index(i pulumi.IntInput) ServicePipelinesEmailOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ServicePipelinesEmail { - return vs[0].([]*ServicePipelinesEmail)[vs[1].(int)] - }).(ServicePipelinesEmailOutput) -} - -type ServicePipelinesEmailMapOutput struct{ *pulumi.OutputState } - -func (ServicePipelinesEmailMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ServicePipelinesEmail)(nil)).Elem() -} - -func (o ServicePipelinesEmailMapOutput) ToServicePipelinesEmailMapOutput() ServicePipelinesEmailMapOutput { - return o -} - -func (o ServicePipelinesEmailMapOutput) ToServicePipelinesEmailMapOutputWithContext(ctx context.Context) ServicePipelinesEmailMapOutput { - return o -} - -func (o ServicePipelinesEmailMapOutput) MapIndex(k pulumi.StringInput) ServicePipelinesEmailOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ServicePipelinesEmail { - return vs[0].(map[string]*ServicePipelinesEmail)[vs[1].(string)] - }).(ServicePipelinesEmailOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*ServicePipelinesEmailInput)(nil)).Elem(), &ServicePipelinesEmail{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServicePipelinesEmailArrayInput)(nil)).Elem(), ServicePipelinesEmailArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServicePipelinesEmailMapInput)(nil)).Elem(), ServicePipelinesEmailMap{}) - pulumi.RegisterOutputType(ServicePipelinesEmailOutput{}) - pulumi.RegisterOutputType(ServicePipelinesEmailArrayOutput{}) - pulumi.RegisterOutputType(ServicePipelinesEmailMapOutput{}) -} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceSlack.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceSlack.go deleted file mode 100644 index a7aa5751b..000000000 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceSlack.go +++ /dev/null @@ -1,654 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package gitlab - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -// The `ServiceSlack` resource allows to manage the lifecycle of a project integration with Slack. -// -// > This resource is deprecated. use `IntegrationSlack`instead! -// -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#slack-notifications) -// -// ## Example Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ -// Name: pulumi.String("awesome_project"), -// Description: pulumi.String("My awesome project."), -// VisibilityLevel: pulumi.String("public"), -// }) -// if err != nil { -// return err -// } -// _, err = gitlab.NewServiceSlack(ctx, "slack", &gitlab.ServiceSlackArgs{ -// Project: awesomeProject.ID(), -// Webhook: pulumi.String("https://webhook.com"), -// Username: pulumi.String("myuser"), -// PushEvents: pulumi.Bool(true), -// PushChannel: pulumi.String("push_chan"), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_service_slack`. For example: -// -// terraform -// -// import { -// -// to = gitlab_service_slack.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import a gitlab_service_slack.slack state using the project ID, e.g. -// -// ```sh -// $ pulumi import gitlab:index/serviceSlack:ServiceSlack email 1 -// ``` -type ServiceSlack struct { - pulumi.CustomResourceState - - // Branches to send notifications for. Valid options are "all", "default", "protected", and "default*and*protected". - BranchesToBeNotified pulumi.StringOutput `pulumi:"branchesToBeNotified"` - // The name of the channel to receive confidential issue events notifications. - ConfidentialIssueChannel pulumi.StringPtrOutput `pulumi:"confidentialIssueChannel"` - // Enable notifications for confidential issues events. - ConfidentialIssuesEvents pulumi.BoolOutput `pulumi:"confidentialIssuesEvents"` - // The name of the channel to receive confidential note events notifications. - ConfidentialNoteChannel pulumi.StringOutput `pulumi:"confidentialNoteChannel"` - // Enable notifications for confidential note events. - ConfidentialNoteEvents pulumi.BoolOutput `pulumi:"confidentialNoteEvents"` - // The name of the channel to receive issue events notifications. - IssueChannel pulumi.StringPtrOutput `pulumi:"issueChannel"` - // Enable notifications for issues events. - IssuesEvents pulumi.BoolOutput `pulumi:"issuesEvents"` - // Enable notifications for job events. **ATTENTION**: This attribute is currently not being submitted to the GitLab API, due to https://gitlab.com/gitlab-org/api/client-go/issues/1354. - JobEvents pulumi.BoolOutput `pulumi:"jobEvents"` - // The name of the channel to receive merge request events notifications. - MergeRequestChannel pulumi.StringPtrOutput `pulumi:"mergeRequestChannel"` - // Enable notifications for merge requests events. - MergeRequestsEvents pulumi.BoolOutput `pulumi:"mergeRequestsEvents"` - // The name of the channel to receive note events notifications. - NoteChannel pulumi.StringPtrOutput `pulumi:"noteChannel"` - // Enable notifications for note events. - NoteEvents pulumi.BoolOutput `pulumi:"noteEvents"` - // Send notifications for broken pipelines. - NotifyOnlyBrokenPipelines pulumi.BoolOutput `pulumi:"notifyOnlyBrokenPipelines"` - // This parameter has been replaced with `branchesToBeNotified`. - // - // Deprecated: use 'branches_to_be_notified' argument instead - NotifyOnlyDefaultBranch pulumi.BoolOutput `pulumi:"notifyOnlyDefaultBranch"` - // The name of the channel to receive pipeline events notifications. - PipelineChannel pulumi.StringPtrOutput `pulumi:"pipelineChannel"` - // Enable notifications for pipeline events. - PipelineEvents pulumi.BoolOutput `pulumi:"pipelineEvents"` - // ID of the project you want to activate integration on. - Project pulumi.StringOutput `pulumi:"project"` - // The name of the channel to receive push events notifications. - PushChannel pulumi.StringPtrOutput `pulumi:"pushChannel"` - // Enable notifications for push events. - PushEvents pulumi.BoolOutput `pulumi:"pushEvents"` - // The name of the channel to receive tag push events notifications. - TagPushChannel pulumi.StringPtrOutput `pulumi:"tagPushChannel"` - // Enable notifications for tag push events. - TagPushEvents pulumi.BoolOutput `pulumi:"tagPushEvents"` - // Username to use. - Username pulumi.StringPtrOutput `pulumi:"username"` - // Webhook URL (Example, https://hooks.slack.com/services/...). This value cannot be imported. - Webhook pulumi.StringOutput `pulumi:"webhook"` - // The name of the channel to receive wiki page events notifications. - WikiPageChannel pulumi.StringPtrOutput `pulumi:"wikiPageChannel"` - // Enable notifications for wiki page events. - WikiPageEvents pulumi.BoolOutput `pulumi:"wikiPageEvents"` -} - -// NewServiceSlack registers a new resource with the given unique name, arguments, and options. -func NewServiceSlack(ctx *pulumi.Context, - name string, args *ServiceSlackArgs, opts ...pulumi.ResourceOption) (*ServiceSlack, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.Project == nil { - return nil, errors.New("invalid value for required argument 'Project'") - } - if args.Webhook == nil { - return nil, errors.New("invalid value for required argument 'Webhook'") - } - opts = internal.PkgResourceDefaultOpts(opts) - var resource ServiceSlack - err := ctx.RegisterResource("gitlab:index/serviceSlack:ServiceSlack", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetServiceSlack gets an existing ServiceSlack resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetServiceSlack(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *ServiceSlackState, opts ...pulumi.ResourceOption) (*ServiceSlack, error) { - var resource ServiceSlack - err := ctx.ReadResource("gitlab:index/serviceSlack:ServiceSlack", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering ServiceSlack resources. -type serviceSlackState struct { - // Branches to send notifications for. Valid options are "all", "default", "protected", and "default*and*protected". - BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` - // The name of the channel to receive confidential issue events notifications. - ConfidentialIssueChannel *string `pulumi:"confidentialIssueChannel"` - // Enable notifications for confidential issues events. - ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` - // The name of the channel to receive confidential note events notifications. - ConfidentialNoteChannel *string `pulumi:"confidentialNoteChannel"` - // Enable notifications for confidential note events. - ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` - // The name of the channel to receive issue events notifications. - IssueChannel *string `pulumi:"issueChannel"` - // Enable notifications for issues events. - IssuesEvents *bool `pulumi:"issuesEvents"` - // Enable notifications for job events. **ATTENTION**: This attribute is currently not being submitted to the GitLab API, due to https://gitlab.com/gitlab-org/api/client-go/issues/1354. - JobEvents *bool `pulumi:"jobEvents"` - // The name of the channel to receive merge request events notifications. - MergeRequestChannel *string `pulumi:"mergeRequestChannel"` - // Enable notifications for merge requests events. - MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` - // The name of the channel to receive note events notifications. - NoteChannel *string `pulumi:"noteChannel"` - // Enable notifications for note events. - NoteEvents *bool `pulumi:"noteEvents"` - // Send notifications for broken pipelines. - NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` - // This parameter has been replaced with `branchesToBeNotified`. - // - // Deprecated: use 'branches_to_be_notified' argument instead - NotifyOnlyDefaultBranch *bool `pulumi:"notifyOnlyDefaultBranch"` - // The name of the channel to receive pipeline events notifications. - PipelineChannel *string `pulumi:"pipelineChannel"` - // Enable notifications for pipeline events. - PipelineEvents *bool `pulumi:"pipelineEvents"` - // ID of the project you want to activate integration on. - Project *string `pulumi:"project"` - // The name of the channel to receive push events notifications. - PushChannel *string `pulumi:"pushChannel"` - // Enable notifications for push events. - PushEvents *bool `pulumi:"pushEvents"` - // The name of the channel to receive tag push events notifications. - TagPushChannel *string `pulumi:"tagPushChannel"` - // Enable notifications for tag push events. - TagPushEvents *bool `pulumi:"tagPushEvents"` - // Username to use. - Username *string `pulumi:"username"` - // Webhook URL (Example, https://hooks.slack.com/services/...). This value cannot be imported. - Webhook *string `pulumi:"webhook"` - // The name of the channel to receive wiki page events notifications. - WikiPageChannel *string `pulumi:"wikiPageChannel"` - // Enable notifications for wiki page events. - WikiPageEvents *bool `pulumi:"wikiPageEvents"` -} - -type ServiceSlackState struct { - // Branches to send notifications for. Valid options are "all", "default", "protected", and "default*and*protected". - BranchesToBeNotified pulumi.StringPtrInput - // The name of the channel to receive confidential issue events notifications. - ConfidentialIssueChannel pulumi.StringPtrInput - // Enable notifications for confidential issues events. - ConfidentialIssuesEvents pulumi.BoolPtrInput - // The name of the channel to receive confidential note events notifications. - ConfidentialNoteChannel pulumi.StringPtrInput - // Enable notifications for confidential note events. - ConfidentialNoteEvents pulumi.BoolPtrInput - // The name of the channel to receive issue events notifications. - IssueChannel pulumi.StringPtrInput - // Enable notifications for issues events. - IssuesEvents pulumi.BoolPtrInput - // Enable notifications for job events. **ATTENTION**: This attribute is currently not being submitted to the GitLab API, due to https://gitlab.com/gitlab-org/api/client-go/issues/1354. - JobEvents pulumi.BoolPtrInput - // The name of the channel to receive merge request events notifications. - MergeRequestChannel pulumi.StringPtrInput - // Enable notifications for merge requests events. - MergeRequestsEvents pulumi.BoolPtrInput - // The name of the channel to receive note events notifications. - NoteChannel pulumi.StringPtrInput - // Enable notifications for note events. - NoteEvents pulumi.BoolPtrInput - // Send notifications for broken pipelines. - NotifyOnlyBrokenPipelines pulumi.BoolPtrInput - // This parameter has been replaced with `branchesToBeNotified`. - // - // Deprecated: use 'branches_to_be_notified' argument instead - NotifyOnlyDefaultBranch pulumi.BoolPtrInput - // The name of the channel to receive pipeline events notifications. - PipelineChannel pulumi.StringPtrInput - // Enable notifications for pipeline events. - PipelineEvents pulumi.BoolPtrInput - // ID of the project you want to activate integration on. - Project pulumi.StringPtrInput - // The name of the channel to receive push events notifications. - PushChannel pulumi.StringPtrInput - // Enable notifications for push events. - PushEvents pulumi.BoolPtrInput - // The name of the channel to receive tag push events notifications. - TagPushChannel pulumi.StringPtrInput - // Enable notifications for tag push events. - TagPushEvents pulumi.BoolPtrInput - // Username to use. - Username pulumi.StringPtrInput - // Webhook URL (Example, https://hooks.slack.com/services/...). This value cannot be imported. - Webhook pulumi.StringPtrInput - // The name of the channel to receive wiki page events notifications. - WikiPageChannel pulumi.StringPtrInput - // Enable notifications for wiki page events. - WikiPageEvents pulumi.BoolPtrInput -} - -func (ServiceSlackState) ElementType() reflect.Type { - return reflect.TypeOf((*serviceSlackState)(nil)).Elem() -} - -type serviceSlackArgs struct { - // Branches to send notifications for. Valid options are "all", "default", "protected", and "default*and*protected". - BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` - // The name of the channel to receive confidential issue events notifications. - ConfidentialIssueChannel *string `pulumi:"confidentialIssueChannel"` - // Enable notifications for confidential issues events. - ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` - // The name of the channel to receive confidential note events notifications. - ConfidentialNoteChannel *string `pulumi:"confidentialNoteChannel"` - // Enable notifications for confidential note events. - ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` - // The name of the channel to receive issue events notifications. - IssueChannel *string `pulumi:"issueChannel"` - // Enable notifications for issues events. - IssuesEvents *bool `pulumi:"issuesEvents"` - // The name of the channel to receive merge request events notifications. - MergeRequestChannel *string `pulumi:"mergeRequestChannel"` - // Enable notifications for merge requests events. - MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` - // The name of the channel to receive note events notifications. - NoteChannel *string `pulumi:"noteChannel"` - // Enable notifications for note events. - NoteEvents *bool `pulumi:"noteEvents"` - // Send notifications for broken pipelines. - NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` - // This parameter has been replaced with `branchesToBeNotified`. - // - // Deprecated: use 'branches_to_be_notified' argument instead - NotifyOnlyDefaultBranch *bool `pulumi:"notifyOnlyDefaultBranch"` - // The name of the channel to receive pipeline events notifications. - PipelineChannel *string `pulumi:"pipelineChannel"` - // Enable notifications for pipeline events. - PipelineEvents *bool `pulumi:"pipelineEvents"` - // ID of the project you want to activate integration on. - Project string `pulumi:"project"` - // The name of the channel to receive push events notifications. - PushChannel *string `pulumi:"pushChannel"` - // Enable notifications for push events. - PushEvents *bool `pulumi:"pushEvents"` - // The name of the channel to receive tag push events notifications. - TagPushChannel *string `pulumi:"tagPushChannel"` - // Enable notifications for tag push events. - TagPushEvents *bool `pulumi:"tagPushEvents"` - // Username to use. - Username *string `pulumi:"username"` - // Webhook URL (Example, https://hooks.slack.com/services/...). This value cannot be imported. - Webhook string `pulumi:"webhook"` - // The name of the channel to receive wiki page events notifications. - WikiPageChannel *string `pulumi:"wikiPageChannel"` - // Enable notifications for wiki page events. - WikiPageEvents *bool `pulumi:"wikiPageEvents"` -} - -// The set of arguments for constructing a ServiceSlack resource. -type ServiceSlackArgs struct { - // Branches to send notifications for. Valid options are "all", "default", "protected", and "default*and*protected". - BranchesToBeNotified pulumi.StringPtrInput - // The name of the channel to receive confidential issue events notifications. - ConfidentialIssueChannel pulumi.StringPtrInput - // Enable notifications for confidential issues events. - ConfidentialIssuesEvents pulumi.BoolPtrInput - // The name of the channel to receive confidential note events notifications. - ConfidentialNoteChannel pulumi.StringPtrInput - // Enable notifications for confidential note events. - ConfidentialNoteEvents pulumi.BoolPtrInput - // The name of the channel to receive issue events notifications. - IssueChannel pulumi.StringPtrInput - // Enable notifications for issues events. - IssuesEvents pulumi.BoolPtrInput - // The name of the channel to receive merge request events notifications. - MergeRequestChannel pulumi.StringPtrInput - // Enable notifications for merge requests events. - MergeRequestsEvents pulumi.BoolPtrInput - // The name of the channel to receive note events notifications. - NoteChannel pulumi.StringPtrInput - // Enable notifications for note events. - NoteEvents pulumi.BoolPtrInput - // Send notifications for broken pipelines. - NotifyOnlyBrokenPipelines pulumi.BoolPtrInput - // This parameter has been replaced with `branchesToBeNotified`. - // - // Deprecated: use 'branches_to_be_notified' argument instead - NotifyOnlyDefaultBranch pulumi.BoolPtrInput - // The name of the channel to receive pipeline events notifications. - PipelineChannel pulumi.StringPtrInput - // Enable notifications for pipeline events. - PipelineEvents pulumi.BoolPtrInput - // ID of the project you want to activate integration on. - Project pulumi.StringInput - // The name of the channel to receive push events notifications. - PushChannel pulumi.StringPtrInput - // Enable notifications for push events. - PushEvents pulumi.BoolPtrInput - // The name of the channel to receive tag push events notifications. - TagPushChannel pulumi.StringPtrInput - // Enable notifications for tag push events. - TagPushEvents pulumi.BoolPtrInput - // Username to use. - Username pulumi.StringPtrInput - // Webhook URL (Example, https://hooks.slack.com/services/...). This value cannot be imported. - Webhook pulumi.StringInput - // The name of the channel to receive wiki page events notifications. - WikiPageChannel pulumi.StringPtrInput - // Enable notifications for wiki page events. - WikiPageEvents pulumi.BoolPtrInput -} - -func (ServiceSlackArgs) ElementType() reflect.Type { - return reflect.TypeOf((*serviceSlackArgs)(nil)).Elem() -} - -type ServiceSlackInput interface { - pulumi.Input - - ToServiceSlackOutput() ServiceSlackOutput - ToServiceSlackOutputWithContext(ctx context.Context) ServiceSlackOutput -} - -func (*ServiceSlack) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceSlack)(nil)).Elem() -} - -func (i *ServiceSlack) ToServiceSlackOutput() ServiceSlackOutput { - return i.ToServiceSlackOutputWithContext(context.Background()) -} - -func (i *ServiceSlack) ToServiceSlackOutputWithContext(ctx context.Context) ServiceSlackOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceSlackOutput) -} - -// ServiceSlackArrayInput is an input type that accepts ServiceSlackArray and ServiceSlackArrayOutput values. -// You can construct a concrete instance of `ServiceSlackArrayInput` via: -// -// ServiceSlackArray{ ServiceSlackArgs{...} } -type ServiceSlackArrayInput interface { - pulumi.Input - - ToServiceSlackArrayOutput() ServiceSlackArrayOutput - ToServiceSlackArrayOutputWithContext(context.Context) ServiceSlackArrayOutput -} - -type ServiceSlackArray []ServiceSlackInput - -func (ServiceSlackArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ServiceSlack)(nil)).Elem() -} - -func (i ServiceSlackArray) ToServiceSlackArrayOutput() ServiceSlackArrayOutput { - return i.ToServiceSlackArrayOutputWithContext(context.Background()) -} - -func (i ServiceSlackArray) ToServiceSlackArrayOutputWithContext(ctx context.Context) ServiceSlackArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceSlackArrayOutput) -} - -// ServiceSlackMapInput is an input type that accepts ServiceSlackMap and ServiceSlackMapOutput values. -// You can construct a concrete instance of `ServiceSlackMapInput` via: -// -// ServiceSlackMap{ "key": ServiceSlackArgs{...} } -type ServiceSlackMapInput interface { - pulumi.Input - - ToServiceSlackMapOutput() ServiceSlackMapOutput - ToServiceSlackMapOutputWithContext(context.Context) ServiceSlackMapOutput -} - -type ServiceSlackMap map[string]ServiceSlackInput - -func (ServiceSlackMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ServiceSlack)(nil)).Elem() -} - -func (i ServiceSlackMap) ToServiceSlackMapOutput() ServiceSlackMapOutput { - return i.ToServiceSlackMapOutputWithContext(context.Background()) -} - -func (i ServiceSlackMap) ToServiceSlackMapOutputWithContext(ctx context.Context) ServiceSlackMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceSlackMapOutput) -} - -type ServiceSlackOutput struct{ *pulumi.OutputState } - -func (ServiceSlackOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceSlack)(nil)).Elem() -} - -func (o ServiceSlackOutput) ToServiceSlackOutput() ServiceSlackOutput { - return o -} - -func (o ServiceSlackOutput) ToServiceSlackOutputWithContext(ctx context.Context) ServiceSlackOutput { - return o -} - -// Branches to send notifications for. Valid options are "all", "default", "protected", and "default*and*protected". -func (o ServiceSlackOutput) BranchesToBeNotified() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.StringOutput { return v.BranchesToBeNotified }).(pulumi.StringOutput) -} - -// The name of the channel to receive confidential issue events notifications. -func (o ServiceSlackOutput) ConfidentialIssueChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.StringPtrOutput { return v.ConfidentialIssueChannel }).(pulumi.StringPtrOutput) -} - -// Enable notifications for confidential issues events. -func (o ServiceSlackOutput) ConfidentialIssuesEvents() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.BoolOutput { return v.ConfidentialIssuesEvents }).(pulumi.BoolOutput) -} - -// The name of the channel to receive confidential note events notifications. -func (o ServiceSlackOutput) ConfidentialNoteChannel() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.StringOutput { return v.ConfidentialNoteChannel }).(pulumi.StringOutput) -} - -// Enable notifications for confidential note events. -func (o ServiceSlackOutput) ConfidentialNoteEvents() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.BoolOutput { return v.ConfidentialNoteEvents }).(pulumi.BoolOutput) -} - -// The name of the channel to receive issue events notifications. -func (o ServiceSlackOutput) IssueChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.StringPtrOutput { return v.IssueChannel }).(pulumi.StringPtrOutput) -} - -// Enable notifications for issues events. -func (o ServiceSlackOutput) IssuesEvents() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.BoolOutput { return v.IssuesEvents }).(pulumi.BoolOutput) -} - -// Enable notifications for job events. **ATTENTION**: This attribute is currently not being submitted to the GitLab API, due to https://gitlab.com/gitlab-org/api/client-go/issues/1354. -func (o ServiceSlackOutput) JobEvents() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.BoolOutput { return v.JobEvents }).(pulumi.BoolOutput) -} - -// The name of the channel to receive merge request events notifications. -func (o ServiceSlackOutput) MergeRequestChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.StringPtrOutput { return v.MergeRequestChannel }).(pulumi.StringPtrOutput) -} - -// Enable notifications for merge requests events. -func (o ServiceSlackOutput) MergeRequestsEvents() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.BoolOutput { return v.MergeRequestsEvents }).(pulumi.BoolOutput) -} - -// The name of the channel to receive note events notifications. -func (o ServiceSlackOutput) NoteChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.StringPtrOutput { return v.NoteChannel }).(pulumi.StringPtrOutput) -} - -// Enable notifications for note events. -func (o ServiceSlackOutput) NoteEvents() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.BoolOutput { return v.NoteEvents }).(pulumi.BoolOutput) -} - -// Send notifications for broken pipelines. -func (o ServiceSlackOutput) NotifyOnlyBrokenPipelines() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.BoolOutput { return v.NotifyOnlyBrokenPipelines }).(pulumi.BoolOutput) -} - -// This parameter has been replaced with `branchesToBeNotified`. -// -// Deprecated: use 'branches_to_be_notified' argument instead -func (o ServiceSlackOutput) NotifyOnlyDefaultBranch() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.BoolOutput { return v.NotifyOnlyDefaultBranch }).(pulumi.BoolOutput) -} - -// The name of the channel to receive pipeline events notifications. -func (o ServiceSlackOutput) PipelineChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.StringPtrOutput { return v.PipelineChannel }).(pulumi.StringPtrOutput) -} - -// Enable notifications for pipeline events. -func (o ServiceSlackOutput) PipelineEvents() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.BoolOutput { return v.PipelineEvents }).(pulumi.BoolOutput) -} - -// ID of the project you want to activate integration on. -func (o ServiceSlackOutput) Project() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) -} - -// The name of the channel to receive push events notifications. -func (o ServiceSlackOutput) PushChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.StringPtrOutput { return v.PushChannel }).(pulumi.StringPtrOutput) -} - -// Enable notifications for push events. -func (o ServiceSlackOutput) PushEvents() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.BoolOutput { return v.PushEvents }).(pulumi.BoolOutput) -} - -// The name of the channel to receive tag push events notifications. -func (o ServiceSlackOutput) TagPushChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.StringPtrOutput { return v.TagPushChannel }).(pulumi.StringPtrOutput) -} - -// Enable notifications for tag push events. -func (o ServiceSlackOutput) TagPushEvents() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.BoolOutput { return v.TagPushEvents }).(pulumi.BoolOutput) -} - -// Username to use. -func (o ServiceSlackOutput) Username() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.StringPtrOutput { return v.Username }).(pulumi.StringPtrOutput) -} - -// Webhook URL (Example, https://hooks.slack.com/services/...). This value cannot be imported. -func (o ServiceSlackOutput) Webhook() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.StringOutput { return v.Webhook }).(pulumi.StringOutput) -} - -// The name of the channel to receive wiki page events notifications. -func (o ServiceSlackOutput) WikiPageChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.StringPtrOutput { return v.WikiPageChannel }).(pulumi.StringPtrOutput) -} - -// Enable notifications for wiki page events. -func (o ServiceSlackOutput) WikiPageEvents() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceSlack) pulumi.BoolOutput { return v.WikiPageEvents }).(pulumi.BoolOutput) -} - -type ServiceSlackArrayOutput struct{ *pulumi.OutputState } - -func (ServiceSlackArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ServiceSlack)(nil)).Elem() -} - -func (o ServiceSlackArrayOutput) ToServiceSlackArrayOutput() ServiceSlackArrayOutput { - return o -} - -func (o ServiceSlackArrayOutput) ToServiceSlackArrayOutputWithContext(ctx context.Context) ServiceSlackArrayOutput { - return o -} - -func (o ServiceSlackArrayOutput) Index(i pulumi.IntInput) ServiceSlackOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ServiceSlack { - return vs[0].([]*ServiceSlack)[vs[1].(int)] - }).(ServiceSlackOutput) -} - -type ServiceSlackMapOutput struct{ *pulumi.OutputState } - -func (ServiceSlackMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ServiceSlack)(nil)).Elem() -} - -func (o ServiceSlackMapOutput) ToServiceSlackMapOutput() ServiceSlackMapOutput { - return o -} - -func (o ServiceSlackMapOutput) ToServiceSlackMapOutputWithContext(ctx context.Context) ServiceSlackMapOutput { - return o -} - -func (o ServiceSlackMapOutput) MapIndex(k pulumi.StringInput) ServiceSlackOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ServiceSlack { - return vs[0].(map[string]*ServiceSlack)[vs[1].(string)] - }).(ServiceSlackOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*ServiceSlackInput)(nil)).Elem(), &ServiceSlack{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceSlackArrayInput)(nil)).Elem(), ServiceSlackArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceSlackMapInput)(nil)).Elem(), ServiceSlackMap{}) - pulumi.RegisterOutputType(ServiceSlackOutput{}) - pulumi.RegisterOutputType(ServiceSlackArrayOutput{}) - pulumi.RegisterOutputType(ServiceSlackMapOutput{}) -} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/LICENSE b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/LICENSE similarity index 100% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/LICENSE rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/LICENSE diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/application.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/application.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/application.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/application.go index 62dbecc51..a5adcc84c 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/application.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/application.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `Application` resource allows to manage the lifecycle of applications in gitlab. +// The `Application` resource manages the lifecycle of applications in gitlab. // // > In order to use a user for a user to create an application, they must have admin privileges at the instance level. // To create an OIDC application, a scope of "openid". @@ -26,7 +26,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -52,21 +52,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_application`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `Application`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_application.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// Gitlab applications can be imported with their id, e.g. +// Gitlab applications can be imported with their id, for example: // // ```sh // $ pulumi import gitlab:index/application:Application example "1" diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/applicationAppearance.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/applicationAppearance.go new file mode 100644 index 000000000..d4fee466b --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/applicationAppearance.go @@ -0,0 +1,433 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ApplicationAppearance` resource manages the GitLab application appearance. +// +// > This is an **experimental resource**. By nature it doesn't properly fit into how Terraform resources are meant to work. +// +// > All `ApplicationAppearance` resources use the same ID `gitlab`. +// +// > When you destroy the resource, you can control if appearance settings are saved or not. Set `keepSettingsOnDestroy` to `true` (default) to save changes to appearance settings. Set `keepSettingsOnDestroy` to `false` to reset the appearance to its original values. +// The original values are saved in state when you create the resource. You can change the `keepSettingsOnDestroy` value before destroying the resource to control this behavior. +// +// > Requires administrative privileges on GitLab. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/appearance/) +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ApplicationAppearance`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// Gitlab application appearance can be imported with the hard-coded key `gitlab`, for example: +// +// ```sh +// $ pulumi import gitlab:index/applicationAppearance:ApplicationAppearance example "gitlab" +// ``` +type ApplicationAppearance struct { + pulumi.CustomResourceState + + // Markdown text shown on the sign-in and sign-up page. + Description pulumi.StringOutput `pulumi:"description"` + // Add header and footer to all outgoing emails if enabled. + EmailHeaderAndFooterEnabled pulumi.BoolOutput `pulumi:"emailHeaderAndFooterEnabled"` + // Message in the system footer bar. + FooterMessage pulumi.StringOutput `pulumi:"footerMessage"` + // Message in the system header bar. + HeaderMessage pulumi.StringOutput `pulumi:"headerMessage"` + // Set to true if the appearance settings should not be reset to their pre-terraform defaults on destroy. + KeepSettingsOnDestroy pulumi.BoolOutput `pulumi:"keepSettingsOnDestroy"` + // Markdown text shown on the group or project member page for users with permission to change members. + MemberGuidelines pulumi.StringOutput `pulumi:"memberGuidelines"` + // Background color for the system header or footer bar, in CSS hex notation. + MessageBackgroundColor pulumi.StringOutput `pulumi:"messageBackgroundColor"` + // Font color for the system header or footer bar, in CSS hex notation. + MessageFontColor pulumi.StringOutput `pulumi:"messageFontColor"` + // Markdown text shown on the new project page. + NewProjectGuidelines pulumi.StringOutput `pulumi:"newProjectGuidelines"` + // Markdown text shown on the profile page below the Public Avatar. + ProfileImageGuidelines pulumi.StringOutput `pulumi:"profileImageGuidelines"` + // An explanation of what the Progressive Web App does. Used for the attribute `description` in `manifest.json`. + PwaDescription pulumi.StringOutput `pulumi:"pwaDescription"` + // Full name of the Progressive Web App. Used for the attribute `name` in `manifest.json`. + PwaName pulumi.StringOutput `pulumi:"pwaName"` + // Short name for Progressive Web App. + PwaShortName pulumi.StringOutput `pulumi:"pwaShortName"` + // Application title on the sign-in and sign-up page. + Title pulumi.StringOutput `pulumi:"title"` +} + +// NewApplicationAppearance registers a new resource with the given unique name, arguments, and options. +func NewApplicationAppearance(ctx *pulumi.Context, + name string, args *ApplicationAppearanceArgs, opts ...pulumi.ResourceOption) (*ApplicationAppearance, error) { + if args == nil { + args = &ApplicationAppearanceArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource ApplicationAppearance + err := ctx.RegisterResource("gitlab:index/applicationAppearance:ApplicationAppearance", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetApplicationAppearance gets an existing ApplicationAppearance resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetApplicationAppearance(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ApplicationAppearanceState, opts ...pulumi.ResourceOption) (*ApplicationAppearance, error) { + var resource ApplicationAppearance + err := ctx.ReadResource("gitlab:index/applicationAppearance:ApplicationAppearance", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ApplicationAppearance resources. +type applicationAppearanceState struct { + // Markdown text shown on the sign-in and sign-up page. + Description *string `pulumi:"description"` + // Add header and footer to all outgoing emails if enabled. + EmailHeaderAndFooterEnabled *bool `pulumi:"emailHeaderAndFooterEnabled"` + // Message in the system footer bar. + FooterMessage *string `pulumi:"footerMessage"` + // Message in the system header bar. + HeaderMessage *string `pulumi:"headerMessage"` + // Set to true if the appearance settings should not be reset to their pre-terraform defaults on destroy. + KeepSettingsOnDestroy *bool `pulumi:"keepSettingsOnDestroy"` + // Markdown text shown on the group or project member page for users with permission to change members. + MemberGuidelines *string `pulumi:"memberGuidelines"` + // Background color for the system header or footer bar, in CSS hex notation. + MessageBackgroundColor *string `pulumi:"messageBackgroundColor"` + // Font color for the system header or footer bar, in CSS hex notation. + MessageFontColor *string `pulumi:"messageFontColor"` + // Markdown text shown on the new project page. + NewProjectGuidelines *string `pulumi:"newProjectGuidelines"` + // Markdown text shown on the profile page below the Public Avatar. + ProfileImageGuidelines *string `pulumi:"profileImageGuidelines"` + // An explanation of what the Progressive Web App does. Used for the attribute `description` in `manifest.json`. + PwaDescription *string `pulumi:"pwaDescription"` + // Full name of the Progressive Web App. Used for the attribute `name` in `manifest.json`. + PwaName *string `pulumi:"pwaName"` + // Short name for Progressive Web App. + PwaShortName *string `pulumi:"pwaShortName"` + // Application title on the sign-in and sign-up page. + Title *string `pulumi:"title"` +} + +type ApplicationAppearanceState struct { + // Markdown text shown on the sign-in and sign-up page. + Description pulumi.StringPtrInput + // Add header and footer to all outgoing emails if enabled. + EmailHeaderAndFooterEnabled pulumi.BoolPtrInput + // Message in the system footer bar. + FooterMessage pulumi.StringPtrInput + // Message in the system header bar. + HeaderMessage pulumi.StringPtrInput + // Set to true if the appearance settings should not be reset to their pre-terraform defaults on destroy. + KeepSettingsOnDestroy pulumi.BoolPtrInput + // Markdown text shown on the group or project member page for users with permission to change members. + MemberGuidelines pulumi.StringPtrInput + // Background color for the system header or footer bar, in CSS hex notation. + MessageBackgroundColor pulumi.StringPtrInput + // Font color for the system header or footer bar, in CSS hex notation. + MessageFontColor pulumi.StringPtrInput + // Markdown text shown on the new project page. + NewProjectGuidelines pulumi.StringPtrInput + // Markdown text shown on the profile page below the Public Avatar. + ProfileImageGuidelines pulumi.StringPtrInput + // An explanation of what the Progressive Web App does. Used for the attribute `description` in `manifest.json`. + PwaDescription pulumi.StringPtrInput + // Full name of the Progressive Web App. Used for the attribute `name` in `manifest.json`. + PwaName pulumi.StringPtrInput + // Short name for Progressive Web App. + PwaShortName pulumi.StringPtrInput + // Application title on the sign-in and sign-up page. + Title pulumi.StringPtrInput +} + +func (ApplicationAppearanceState) ElementType() reflect.Type { + return reflect.TypeOf((*applicationAppearanceState)(nil)).Elem() +} + +type applicationAppearanceArgs struct { + // Markdown text shown on the sign-in and sign-up page. + Description *string `pulumi:"description"` + // Add header and footer to all outgoing emails if enabled. + EmailHeaderAndFooterEnabled *bool `pulumi:"emailHeaderAndFooterEnabled"` + // Message in the system footer bar. + FooterMessage *string `pulumi:"footerMessage"` + // Message in the system header bar. + HeaderMessage *string `pulumi:"headerMessage"` + // Set to true if the appearance settings should not be reset to their pre-terraform defaults on destroy. + KeepSettingsOnDestroy *bool `pulumi:"keepSettingsOnDestroy"` + // Markdown text shown on the group or project member page for users with permission to change members. + MemberGuidelines *string `pulumi:"memberGuidelines"` + // Background color for the system header or footer bar, in CSS hex notation. + MessageBackgroundColor *string `pulumi:"messageBackgroundColor"` + // Font color for the system header or footer bar, in CSS hex notation. + MessageFontColor *string `pulumi:"messageFontColor"` + // Markdown text shown on the new project page. + NewProjectGuidelines *string `pulumi:"newProjectGuidelines"` + // Markdown text shown on the profile page below the Public Avatar. + ProfileImageGuidelines *string `pulumi:"profileImageGuidelines"` + // An explanation of what the Progressive Web App does. Used for the attribute `description` in `manifest.json`. + PwaDescription *string `pulumi:"pwaDescription"` + // Full name of the Progressive Web App. Used for the attribute `name` in `manifest.json`. + PwaName *string `pulumi:"pwaName"` + // Short name for Progressive Web App. + PwaShortName *string `pulumi:"pwaShortName"` + // Application title on the sign-in and sign-up page. + Title *string `pulumi:"title"` +} + +// The set of arguments for constructing a ApplicationAppearance resource. +type ApplicationAppearanceArgs struct { + // Markdown text shown on the sign-in and sign-up page. + Description pulumi.StringPtrInput + // Add header and footer to all outgoing emails if enabled. + EmailHeaderAndFooterEnabled pulumi.BoolPtrInput + // Message in the system footer bar. + FooterMessage pulumi.StringPtrInput + // Message in the system header bar. + HeaderMessage pulumi.StringPtrInput + // Set to true if the appearance settings should not be reset to their pre-terraform defaults on destroy. + KeepSettingsOnDestroy pulumi.BoolPtrInput + // Markdown text shown on the group or project member page for users with permission to change members. + MemberGuidelines pulumi.StringPtrInput + // Background color for the system header or footer bar, in CSS hex notation. + MessageBackgroundColor pulumi.StringPtrInput + // Font color for the system header or footer bar, in CSS hex notation. + MessageFontColor pulumi.StringPtrInput + // Markdown text shown on the new project page. + NewProjectGuidelines pulumi.StringPtrInput + // Markdown text shown on the profile page below the Public Avatar. + ProfileImageGuidelines pulumi.StringPtrInput + // An explanation of what the Progressive Web App does. Used for the attribute `description` in `manifest.json`. + PwaDescription pulumi.StringPtrInput + // Full name of the Progressive Web App. Used for the attribute `name` in `manifest.json`. + PwaName pulumi.StringPtrInput + // Short name for Progressive Web App. + PwaShortName pulumi.StringPtrInput + // Application title on the sign-in and sign-up page. + Title pulumi.StringPtrInput +} + +func (ApplicationAppearanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*applicationAppearanceArgs)(nil)).Elem() +} + +type ApplicationAppearanceInput interface { + pulumi.Input + + ToApplicationAppearanceOutput() ApplicationAppearanceOutput + ToApplicationAppearanceOutputWithContext(ctx context.Context) ApplicationAppearanceOutput +} + +func (*ApplicationAppearance) ElementType() reflect.Type { + return reflect.TypeOf((**ApplicationAppearance)(nil)).Elem() +} + +func (i *ApplicationAppearance) ToApplicationAppearanceOutput() ApplicationAppearanceOutput { + return i.ToApplicationAppearanceOutputWithContext(context.Background()) +} + +func (i *ApplicationAppearance) ToApplicationAppearanceOutputWithContext(ctx context.Context) ApplicationAppearanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(ApplicationAppearanceOutput) +} + +// ApplicationAppearanceArrayInput is an input type that accepts ApplicationAppearanceArray and ApplicationAppearanceArrayOutput values. +// You can construct a concrete instance of `ApplicationAppearanceArrayInput` via: +// +// ApplicationAppearanceArray{ ApplicationAppearanceArgs{...} } +type ApplicationAppearanceArrayInput interface { + pulumi.Input + + ToApplicationAppearanceArrayOutput() ApplicationAppearanceArrayOutput + ToApplicationAppearanceArrayOutputWithContext(context.Context) ApplicationAppearanceArrayOutput +} + +type ApplicationAppearanceArray []ApplicationAppearanceInput + +func (ApplicationAppearanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ApplicationAppearance)(nil)).Elem() +} + +func (i ApplicationAppearanceArray) ToApplicationAppearanceArrayOutput() ApplicationAppearanceArrayOutput { + return i.ToApplicationAppearanceArrayOutputWithContext(context.Background()) +} + +func (i ApplicationAppearanceArray) ToApplicationAppearanceArrayOutputWithContext(ctx context.Context) ApplicationAppearanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ApplicationAppearanceArrayOutput) +} + +// ApplicationAppearanceMapInput is an input type that accepts ApplicationAppearanceMap and ApplicationAppearanceMapOutput values. +// You can construct a concrete instance of `ApplicationAppearanceMapInput` via: +// +// ApplicationAppearanceMap{ "key": ApplicationAppearanceArgs{...} } +type ApplicationAppearanceMapInput interface { + pulumi.Input + + ToApplicationAppearanceMapOutput() ApplicationAppearanceMapOutput + ToApplicationAppearanceMapOutputWithContext(context.Context) ApplicationAppearanceMapOutput +} + +type ApplicationAppearanceMap map[string]ApplicationAppearanceInput + +func (ApplicationAppearanceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ApplicationAppearance)(nil)).Elem() +} + +func (i ApplicationAppearanceMap) ToApplicationAppearanceMapOutput() ApplicationAppearanceMapOutput { + return i.ToApplicationAppearanceMapOutputWithContext(context.Background()) +} + +func (i ApplicationAppearanceMap) ToApplicationAppearanceMapOutputWithContext(ctx context.Context) ApplicationAppearanceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ApplicationAppearanceMapOutput) +} + +type ApplicationAppearanceOutput struct{ *pulumi.OutputState } + +func (ApplicationAppearanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ApplicationAppearance)(nil)).Elem() +} + +func (o ApplicationAppearanceOutput) ToApplicationAppearanceOutput() ApplicationAppearanceOutput { + return o +} + +func (o ApplicationAppearanceOutput) ToApplicationAppearanceOutputWithContext(ctx context.Context) ApplicationAppearanceOutput { + return o +} + +// Markdown text shown on the sign-in and sign-up page. +func (o ApplicationAppearanceOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationAppearance) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// Add header and footer to all outgoing emails if enabled. +func (o ApplicationAppearanceOutput) EmailHeaderAndFooterEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *ApplicationAppearance) pulumi.BoolOutput { return v.EmailHeaderAndFooterEnabled }).(pulumi.BoolOutput) +} + +// Message in the system footer bar. +func (o ApplicationAppearanceOutput) FooterMessage() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationAppearance) pulumi.StringOutput { return v.FooterMessage }).(pulumi.StringOutput) +} + +// Message in the system header bar. +func (o ApplicationAppearanceOutput) HeaderMessage() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationAppearance) pulumi.StringOutput { return v.HeaderMessage }).(pulumi.StringOutput) +} + +// Set to true if the appearance settings should not be reset to their pre-terraform defaults on destroy. +func (o ApplicationAppearanceOutput) KeepSettingsOnDestroy() pulumi.BoolOutput { + return o.ApplyT(func(v *ApplicationAppearance) pulumi.BoolOutput { return v.KeepSettingsOnDestroy }).(pulumi.BoolOutput) +} + +// Markdown text shown on the group or project member page for users with permission to change members. +func (o ApplicationAppearanceOutput) MemberGuidelines() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationAppearance) pulumi.StringOutput { return v.MemberGuidelines }).(pulumi.StringOutput) +} + +// Background color for the system header or footer bar, in CSS hex notation. +func (o ApplicationAppearanceOutput) MessageBackgroundColor() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationAppearance) pulumi.StringOutput { return v.MessageBackgroundColor }).(pulumi.StringOutput) +} + +// Font color for the system header or footer bar, in CSS hex notation. +func (o ApplicationAppearanceOutput) MessageFontColor() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationAppearance) pulumi.StringOutput { return v.MessageFontColor }).(pulumi.StringOutput) +} + +// Markdown text shown on the new project page. +func (o ApplicationAppearanceOutput) NewProjectGuidelines() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationAppearance) pulumi.StringOutput { return v.NewProjectGuidelines }).(pulumi.StringOutput) +} + +// Markdown text shown on the profile page below the Public Avatar. +func (o ApplicationAppearanceOutput) ProfileImageGuidelines() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationAppearance) pulumi.StringOutput { return v.ProfileImageGuidelines }).(pulumi.StringOutput) +} + +// An explanation of what the Progressive Web App does. Used for the attribute `description` in `manifest.json`. +func (o ApplicationAppearanceOutput) PwaDescription() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationAppearance) pulumi.StringOutput { return v.PwaDescription }).(pulumi.StringOutput) +} + +// Full name of the Progressive Web App. Used for the attribute `name` in `manifest.json`. +func (o ApplicationAppearanceOutput) PwaName() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationAppearance) pulumi.StringOutput { return v.PwaName }).(pulumi.StringOutput) +} + +// Short name for Progressive Web App. +func (o ApplicationAppearanceOutput) PwaShortName() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationAppearance) pulumi.StringOutput { return v.PwaShortName }).(pulumi.StringOutput) +} + +// Application title on the sign-in and sign-up page. +func (o ApplicationAppearanceOutput) Title() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationAppearance) pulumi.StringOutput { return v.Title }).(pulumi.StringOutput) +} + +type ApplicationAppearanceArrayOutput struct{ *pulumi.OutputState } + +func (ApplicationAppearanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ApplicationAppearance)(nil)).Elem() +} + +func (o ApplicationAppearanceArrayOutput) ToApplicationAppearanceArrayOutput() ApplicationAppearanceArrayOutput { + return o +} + +func (o ApplicationAppearanceArrayOutput) ToApplicationAppearanceArrayOutputWithContext(ctx context.Context) ApplicationAppearanceArrayOutput { + return o +} + +func (o ApplicationAppearanceArrayOutput) Index(i pulumi.IntInput) ApplicationAppearanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ApplicationAppearance { + return vs[0].([]*ApplicationAppearance)[vs[1].(int)] + }).(ApplicationAppearanceOutput) +} + +type ApplicationAppearanceMapOutput struct{ *pulumi.OutputState } + +func (ApplicationAppearanceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ApplicationAppearance)(nil)).Elem() +} + +func (o ApplicationAppearanceMapOutput) ToApplicationAppearanceMapOutput() ApplicationAppearanceMapOutput { + return o +} + +func (o ApplicationAppearanceMapOutput) ToApplicationAppearanceMapOutputWithContext(ctx context.Context) ApplicationAppearanceMapOutput { + return o +} + +func (o ApplicationAppearanceMapOutput) MapIndex(k pulumi.StringInput) ApplicationAppearanceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ApplicationAppearance { + return vs[0].(map[string]*ApplicationAppearance)[vs[1].(string)] + }).(ApplicationAppearanceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ApplicationAppearanceInput)(nil)).Elem(), &ApplicationAppearance{}) + pulumi.RegisterInputType(reflect.TypeOf((*ApplicationAppearanceArrayInput)(nil)).Elem(), ApplicationAppearanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ApplicationAppearanceMapInput)(nil)).Elem(), ApplicationAppearanceMap{}) + pulumi.RegisterOutputType(ApplicationAppearanceOutput{}) + pulumi.RegisterOutputType(ApplicationAppearanceArrayOutput{}) + pulumi.RegisterOutputType(ApplicationAppearanceMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/applicationSettings.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/applicationSettings.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/applicationSettings.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/applicationSettings.go index b7c89e656..7c29e21e4 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/applicationSettings.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/applicationSettings.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,11 +7,26 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// ## Example Usage +// The `ApplicationSettings` resource manages the GitLab application settings. +// +// > This is an **experimental resource**. By nature it doesn't properly fit into how Terraform resources are meant to work. +// +// Feel free to join the discussion if you have any +// ideas or questions regarding this resource. +// +// > All `ApplicationSettings` use the same ID `gitlab`. +// +// !> This resource does not implement any destroy logic, it's a no-op at this point. +// +// It's also not possible to revert to the previous settings. +// +// > Requires at administrative privileges on GitLab. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/settings/) type ApplicationSettings struct { pulumi.CustomResourceState @@ -71,6 +86,8 @@ type ApplicationSettings struct { CanCreateGroup pulumi.BoolOutput `pulumi:"canCreateGroup"` // Enabling this makes only licensed EE features available to projects if the project namespace’s plan includes the feature or if the project is public. CheckNamespacePlan pulumi.BoolOutput `pulumi:"checkNamespacePlan"` + // Turns on incremental logging for job logs. When turned on, archived job logs are incrementally uploaded to object storage. Object storage must be configured. + CiJobLiveTraceEnabled pulumi.BoolOutput `pulumi:"ciJobLiveTraceEnabled"` // The maximum number of includes per pipeline. CiMaxIncludes pulumi.IntOutput `pulumi:"ciMaxIncludes"` // The maximum amount of memory, in bytes, that can be allocated for the pipeline configuration, with all included YAML configuration files. @@ -105,7 +122,9 @@ type ApplicationSettings struct { DefaultArtifactsExpireIn pulumi.StringOutput `pulumi:"defaultArtifactsExpireIn"` // Instance-level custom initial branch name DefaultBranchName pulumi.StringOutput `pulumi:"defaultBranchName"` - // Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. + // Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. Use `defaultBranchProtectionDefaults` instead. To be removed in 19.0. + // + // Deprecated: Use `defaultBranchProtectionDefaults` instead. To be removed in 19.0. DefaultBranchProtection pulumi.IntOutput `pulumi:"defaultBranchProtection"` // The default*branch*protection*defaults attribute describes the default branch protection defaults. All parameters are optional. DefaultBranchProtectionDefaults ApplicationSettingsDefaultBranchProtectionDefaultsOutput `pulumi:"defaultBranchProtectionDefaults"` @@ -145,6 +164,8 @@ type ApplicationSettings struct { DisableAdminOauthScopes pulumi.BoolOutput `pulumi:"disableAdminOauthScopes"` // Disable display of RSS/Atom and calendar feed tokens. DisableFeedToken pulumi.BoolOutput `pulumi:"disableFeedToken"` + // Prevent editing approval rules in projects and merge requests. + DisableOverridingApproversPerMergeRequest pulumi.BoolOutput `pulumi:"disableOverridingApproversPerMergeRequest"` // Disable personal access tokens. Self-managed, Premium and Ultimate only. There is no method available to enable a personal access token that’s been disabled through the API. This is a known issue. DisablePersonalAccessTokens pulumi.BoolOutput `pulumi:"disablePersonalAccessTokens"` // Disabled OAuth sign-in sources. @@ -293,8 +314,6 @@ type ApplicationSettings struct { GravatarEnabled pulumi.BoolOutput `pulumi:"gravatarEnabled"` // Prevent overrides of default branch protection. GroupOwnersCanManageDefaultBranchProtection pulumi.BoolOutput `pulumi:"groupOwnersCanManageDefaultBranchProtection"` - // Create new projects using hashed storage paths: Enable immutable, hash-based paths and repository names to store repositories on disk. This prevents repositories from having to be moved or renamed when the Project URL changes and may improve disk I/O performance. (Always enabled in GitLab versions 13.0 and later, configuration is scheduled for removal in 14.0). - HashedStorageEnabled pulumi.BoolOutput `pulumi:"hashedStorageEnabled"` // Hide marketing-related entries from help. HelpPageHideCommercialContent pulumi.BoolOutput `pulumi:"helpPageHideCommercialContent"` // Alternate support URL for help page and help dropdown. @@ -307,23 +326,9 @@ type ApplicationSettings struct { HideThirdPartyOffers pulumi.BoolOutput `pulumi:"hideThirdPartyOffers"` // Redirect to this URL when not logged in. HomePageUrl pulumi.StringOutput `pulumi:"homePageUrl"` - // Enable or disable Git housekeeping. - // If enabled, requires either housekeeping*optimize*repository*period OR housekeeping*bitmaps*enabled, housekeeping*full*repack*period, housekeeping*gc*period, and housekeeping*incremental*repack*period. - // Options housekeeping*bitmaps*enabled, housekeeping*full*repack*period, housekeeping*gc*period, and housekeeping*incremental*repack*period are deprecated. Use housekeeping*optimize*repository*period instead. + // Enable or disable Git housekeeping. If enabled, requires housekeeping*optimize*repository_period. HousekeepingEnabled pulumi.BoolOutput `pulumi:"housekeepingEnabled"` - // Number of Git pushes after which an incremental git repack is run. - // - // Deprecated: housekeeping_full_repack_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. - HousekeepingFullRepackPeriod pulumi.IntOutput `pulumi:"housekeepingFullRepackPeriod"` - // Number of Git pushes after which git gc is run. - // - // Deprecated: housekeeping_gc_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. - HousekeepingGcPeriod pulumi.IntOutput `pulumi:"housekeepingGcPeriod"` - // Number of Git pushes after which an incremental git repack is run. - // - // Deprecated: housekeeping_incremental_repack_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. - HousekeepingIncrementalRepackPeriod pulumi.IntOutput `pulumi:"housekeepingIncrementalRepackPeriod"` - // Number of Git pushes after which an incremental git repack is run. + // Number of Git pushes after which an incremental git-repack is run. HousekeepingOptimizeRepositoryPeriod pulumi.IntOutput `pulumi:"housekeepingOptimizeRepositoryPeriod"` // Enable HTML emails. HtmlEmailsEnabled pulumi.BoolOutput `pulumi:"htmlEmailsEnabled"` @@ -337,6 +342,8 @@ type ApplicationSettings struct { InactiveProjectsMinSizeMb pulumi.IntOutput `pulumi:"inactiveProjectsMinSizeMb"` // If delete*inactive*projects is true, sets the time (in months) to wait before emailing maintainers that the project is scheduled be deleted because it is inactive. InactiveProjectsSendWarningEmailAfterMonths pulumi.IntOutput `pulumi:"inactiveProjectsSendWarningEmailAfterMonths"` + // Specifies retention period for inactive project and group access tokens. Default is 30. + InactiveResourceAccessTokensDeleteAfterDays pulumi.IntOutput `pulumi:"inactiveResourceAccessTokensDeleteAfterDays"` // Whether or not optional metrics are enabled in Service Ping. IncludeOptionalMetricsInServicePing pulumi.BoolOutput `pulumi:"includeOptionalMetricsInServicePing"` // Enable Invisible CAPTCHA spam detection during sign-up. @@ -351,12 +358,20 @@ type ApplicationSettings struct { JiraConnectPublicKeyStorageEnabled pulumi.BoolOutput `pulumi:"jiraConnectPublicKeyStorageEnabled"` // Prevent the deletion of the artifacts from the most recent successful jobs, regardless of the expiry time. KeepLatestArtifact pulumi.BoolOutput `pulumi:"keepLatestArtifact"` + // (If enabled, requires: kroki_url) Enable Kroki integration. + KrokiEnabled pulumi.BoolOutput `pulumi:"krokiEnabled"` + // Configuration for formats supported by the Kroki instance. + KrokiFormats pulumi.BoolMapOutput `pulumi:"krokiFormats"` + // The Kroki instance URL for integration. + KrokiUrl pulumi.StringOutput `pulumi:"krokiUrl"` // Increase this value when any cached Markdown should be invalidated. LocalMarkdownVersion pulumi.IntOutput `pulumi:"localMarkdownVersion"` // Indicates whether the GitLab Duo features enabled setting is enforced for all subgroups. Self-managed, Premium and Ultimate only. LockDuoFeaturesEnabled pulumi.BoolOutput `pulumi:"lockDuoFeaturesEnabled"` // Set to true to lock all memberships to LDAP. Premium and Ultimate only. LockMembershipsToLdap pulumi.BoolOutput `pulumi:"lockMembershipsToLdap"` + // Set to true to lock all memberships to SAML. Premium and Ultimate only. + LockMembershipsToSaml pulumi.BoolOutput `pulumi:"lockMembershipsToSaml"` // Enable Mailgun event receiver. MailgunEventsEnabled pulumi.BoolOutput `pulumi:"mailgunEventsEnabled"` // The Mailgun HTTP webhook signing key for receiving events from webhook. @@ -390,7 +405,8 @@ type ApplicationSettings struct { // Maximum allowable lifetime for access tokens in days. MaxPersonalAccessTokenLifetime pulumi.IntOutput `pulumi:"maxPersonalAccessTokenLifetime"` // Maximum allowable lifetime for SSH keys in days. - MaxSshKeyLifetime pulumi.IntOutput `pulumi:"maxSshKeyLifetime"` + MaxSshKeyLifetime pulumi.IntOutput `pulumi:"maxSshKeyLifetime"` + // Maximum size in bytes of the Terraform state files. Set this to 0 for unlimited file size. MaxTerraformStateSizeBytes pulumi.IntOutput `pulumi:"maxTerraformStateSizeBytes"` // A method call is only tracked when it takes longer than the given amount of milliseconds. MetricsMethodCallThreshold pulumi.IntOutput `pulumi:"metricsMethodCallThreshold"` @@ -404,9 +420,11 @@ type ApplicationSettings struct { MirrorMaxCapacity pulumi.IntOutput `pulumi:"mirrorMaxCapacity"` // Maximum time (in minutes) between updates that a mirror can have when scheduled to synchronize. MirrorMaxDelay pulumi.IntOutput `pulumi:"mirrorMaxDelay"` + // Enable sending notification if sign in from unknown IP address happens + NotifyOnUnknownSignIn pulumi.BoolOutput `pulumi:"notifyOnUnknownSignIn"` // Use npmjs.org as a default remote repository when the package is not found in the GitLab Package Registry for npm. NpmPackageRequestsForwarding pulumi.BoolOutput `pulumi:"npmPackageRequestsForwarding"` - // Indicates whether to skip metadata URL validation for the NuGet package. Introduced in GitLab 17.0. + // Indicates whether to skip metadata URL validation for the NuGet package. NugetSkipMetadataUrlValidation pulumi.BoolOutput `pulumi:"nugetSkipMetadataUrlValidation"` // Define a list of trusted domains or IP addresses to which local requests are allowed when local requests for hooks and services are disabled. OutboundLocalRequestsWhitelists pulumi.StringArrayOutput `pulumi:"outboundLocalRequestsWhitelists"` @@ -442,6 +460,10 @@ type ApplicationSettings struct { PlantumlUrl pulumi.StringOutput `pulumi:"plantumlUrl"` // Interval multiplier used by endpoints that perform polling. Set to 0 to disable polling. PollingIntervalMultiplier pulumi.Float64Output `pulumi:"pollingIntervalMultiplier"` + // Prevent approval by merge request creator (author). + PreventMergeRequestsAuthorApproval pulumi.BoolOutput `pulumi:"preventMergeRequestsAuthorApproval"` + // Prevent approval by committers to merge requests. + PreventMergeRequestsCommittersApproval pulumi.BoolOutput `pulumi:"preventMergeRequestsCommittersApproval"` // Enable project export. ProjectExportEnabled pulumi.BoolOutput `pulumi:"projectExportEnabled"` // Maximum authenticated requests to /project/:id/jobs per minute. @@ -478,9 +500,7 @@ type ApplicationSettings struct { RepositoryChecksEnabled pulumi.BoolOutput `pulumi:"repositoryChecksEnabled"` // Size limit per repository (MB). RepositorySizeLimit pulumi.IntOutput `pulumi:"repositorySizeLimit"` - // (GitLab 13.0 and earlier) List of names of enabled storage paths, taken from gitlab.yml. New projects are created in one of these stores, chosen at random. - RepositoryStorages pulumi.StringArrayOutput `pulumi:"repositoryStorages"` - // (GitLab 13.1 and later) Hash of names of taken from gitlab.yml to weights. New projects are created in one of these stores, chosen by a weighted random selection. + // Hash of names taken from gitlab.yml to weights. New projects are created in one of these stores, chosen by a weighted random selection. RepositoryStoragesWeighted pulumi.IntMapOutput `pulumi:"repositoryStoragesWeighted"` // When enabled, any user that signs up for an account using the registration form is placed under a Pending approval state and has to be explicitly approved by an administrator. RequireAdminApprovalAfterUserSignup pulumi.BoolOutput `pulumi:"requireAdminApprovalAfterUserSignup"` @@ -580,6 +600,12 @@ type ApplicationSettings struct { ThrottleAuthenticatedApiPeriodInSeconds pulumi.IntOutput `pulumi:"throttleAuthenticatedApiPeriodInSeconds"` // Maximum requests per period per user. ThrottleAuthenticatedApiRequestsPerPeriod pulumi.IntOutput `pulumi:"throttleAuthenticatedApiRequestsPerPeriod"` + // Enable authenticated Git LFS request rate limit. + ThrottleAuthenticatedGitLfsEnabled pulumi.BoolOutput `pulumi:"throttleAuthenticatedGitLfsEnabled"` + // Rate limit period (in seconds). + ThrottleAuthenticatedGitLfsPeriodInSeconds pulumi.IntOutput `pulumi:"throttleAuthenticatedGitLfsPeriodInSeconds"` + // Maximum requests per period per user. + ThrottleAuthenticatedGitLfsRequestsPerPeriod pulumi.IntOutput `pulumi:"throttleAuthenticatedGitLfsRequestsPerPeriod"` // (If enabled, requires: throttle*authenticated*packages*api*period*in*seconds and throttle*authenticated*packages*api*requests*per*period) Enable authenticated API request rate limit. Helps reduce request volume (for example, from crawlers or abusive bots). View Package Registry rate limits for more details. ThrottleAuthenticatedPackagesApiEnabled pulumi.BoolOutput `pulumi:"throttleAuthenticatedPackagesApiEnabled"` // Rate limit period (in seconds). View Package Registry rate limits for more details. @@ -624,6 +650,8 @@ type ApplicationSettings struct { UniqueIpsLimitTimeWindow pulumi.IntOutput `pulumi:"uniqueIpsLimitTimeWindow"` // Fetch GitLab Runner release version data from GitLab.com. UpdateRunnerVersionsEnabled pulumi.BoolOutput `pulumi:"updateRunnerVersionsEnabled"` + // Disable user profile name changes. + UpdatingNameDisabledForUsers pulumi.BoolOutput `pulumi:"updatingNameDisabledForUsers"` // Every week GitLab reports license usage back to GitLab, Inc. UsagePingEnabled pulumi.BoolOutput `pulumi:"usagePingEnabled"` // Enables ClickHouse as a data source for analytics reports. ClickHouse must be configured for this setting to take effect. Available on Premium and Ultimate only. @@ -809,6 +837,8 @@ type applicationSettingsState struct { CanCreateGroup *bool `pulumi:"canCreateGroup"` // Enabling this makes only licensed EE features available to projects if the project namespace’s plan includes the feature or if the project is public. CheckNamespacePlan *bool `pulumi:"checkNamespacePlan"` + // Turns on incremental logging for job logs. When turned on, archived job logs are incrementally uploaded to object storage. Object storage must be configured. + CiJobLiveTraceEnabled *bool `pulumi:"ciJobLiveTraceEnabled"` // The maximum number of includes per pipeline. CiMaxIncludes *int `pulumi:"ciMaxIncludes"` // The maximum amount of memory, in bytes, that can be allocated for the pipeline configuration, with all included YAML configuration files. @@ -843,7 +873,9 @@ type applicationSettingsState struct { DefaultArtifactsExpireIn *string `pulumi:"defaultArtifactsExpireIn"` // Instance-level custom initial branch name DefaultBranchName *string `pulumi:"defaultBranchName"` - // Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. + // Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. Use `defaultBranchProtectionDefaults` instead. To be removed in 19.0. + // + // Deprecated: Use `defaultBranchProtectionDefaults` instead. To be removed in 19.0. DefaultBranchProtection *int `pulumi:"defaultBranchProtection"` // The default*branch*protection*defaults attribute describes the default branch protection defaults. All parameters are optional. DefaultBranchProtectionDefaults *ApplicationSettingsDefaultBranchProtectionDefaults `pulumi:"defaultBranchProtectionDefaults"` @@ -883,6 +915,8 @@ type applicationSettingsState struct { DisableAdminOauthScopes *bool `pulumi:"disableAdminOauthScopes"` // Disable display of RSS/Atom and calendar feed tokens. DisableFeedToken *bool `pulumi:"disableFeedToken"` + // Prevent editing approval rules in projects and merge requests. + DisableOverridingApproversPerMergeRequest *bool `pulumi:"disableOverridingApproversPerMergeRequest"` // Disable personal access tokens. Self-managed, Premium and Ultimate only. There is no method available to enable a personal access token that’s been disabled through the API. This is a known issue. DisablePersonalAccessTokens *bool `pulumi:"disablePersonalAccessTokens"` // Disabled OAuth sign-in sources. @@ -1031,8 +1065,6 @@ type applicationSettingsState struct { GravatarEnabled *bool `pulumi:"gravatarEnabled"` // Prevent overrides of default branch protection. GroupOwnersCanManageDefaultBranchProtection *bool `pulumi:"groupOwnersCanManageDefaultBranchProtection"` - // Create new projects using hashed storage paths: Enable immutable, hash-based paths and repository names to store repositories on disk. This prevents repositories from having to be moved or renamed when the Project URL changes and may improve disk I/O performance. (Always enabled in GitLab versions 13.0 and later, configuration is scheduled for removal in 14.0). - HashedStorageEnabled *bool `pulumi:"hashedStorageEnabled"` // Hide marketing-related entries from help. HelpPageHideCommercialContent *bool `pulumi:"helpPageHideCommercialContent"` // Alternate support URL for help page and help dropdown. @@ -1045,23 +1077,9 @@ type applicationSettingsState struct { HideThirdPartyOffers *bool `pulumi:"hideThirdPartyOffers"` // Redirect to this URL when not logged in. HomePageUrl *string `pulumi:"homePageUrl"` - // Enable or disable Git housekeeping. - // If enabled, requires either housekeeping*optimize*repository*period OR housekeeping*bitmaps*enabled, housekeeping*full*repack*period, housekeeping*gc*period, and housekeeping*incremental*repack*period. - // Options housekeeping*bitmaps*enabled, housekeeping*full*repack*period, housekeeping*gc*period, and housekeeping*incremental*repack*period are deprecated. Use housekeeping*optimize*repository*period instead. + // Enable or disable Git housekeeping. If enabled, requires housekeeping*optimize*repository_period. HousekeepingEnabled *bool `pulumi:"housekeepingEnabled"` - // Number of Git pushes after which an incremental git repack is run. - // - // Deprecated: housekeeping_full_repack_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. - HousekeepingFullRepackPeriod *int `pulumi:"housekeepingFullRepackPeriod"` - // Number of Git pushes after which git gc is run. - // - // Deprecated: housekeeping_gc_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. - HousekeepingGcPeriod *int `pulumi:"housekeepingGcPeriod"` - // Number of Git pushes after which an incremental git repack is run. - // - // Deprecated: housekeeping_incremental_repack_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. - HousekeepingIncrementalRepackPeriod *int `pulumi:"housekeepingIncrementalRepackPeriod"` - // Number of Git pushes after which an incremental git repack is run. + // Number of Git pushes after which an incremental git-repack is run. HousekeepingOptimizeRepositoryPeriod *int `pulumi:"housekeepingOptimizeRepositoryPeriod"` // Enable HTML emails. HtmlEmailsEnabled *bool `pulumi:"htmlEmailsEnabled"` @@ -1075,6 +1093,8 @@ type applicationSettingsState struct { InactiveProjectsMinSizeMb *int `pulumi:"inactiveProjectsMinSizeMb"` // If delete*inactive*projects is true, sets the time (in months) to wait before emailing maintainers that the project is scheduled be deleted because it is inactive. InactiveProjectsSendWarningEmailAfterMonths *int `pulumi:"inactiveProjectsSendWarningEmailAfterMonths"` + // Specifies retention period for inactive project and group access tokens. Default is 30. + InactiveResourceAccessTokensDeleteAfterDays *int `pulumi:"inactiveResourceAccessTokensDeleteAfterDays"` // Whether or not optional metrics are enabled in Service Ping. IncludeOptionalMetricsInServicePing *bool `pulumi:"includeOptionalMetricsInServicePing"` // Enable Invisible CAPTCHA spam detection during sign-up. @@ -1089,12 +1109,20 @@ type applicationSettingsState struct { JiraConnectPublicKeyStorageEnabled *bool `pulumi:"jiraConnectPublicKeyStorageEnabled"` // Prevent the deletion of the artifacts from the most recent successful jobs, regardless of the expiry time. KeepLatestArtifact *bool `pulumi:"keepLatestArtifact"` + // (If enabled, requires: kroki_url) Enable Kroki integration. + KrokiEnabled *bool `pulumi:"krokiEnabled"` + // Configuration for formats supported by the Kroki instance. + KrokiFormats map[string]bool `pulumi:"krokiFormats"` + // The Kroki instance URL for integration. + KrokiUrl *string `pulumi:"krokiUrl"` // Increase this value when any cached Markdown should be invalidated. LocalMarkdownVersion *int `pulumi:"localMarkdownVersion"` // Indicates whether the GitLab Duo features enabled setting is enforced for all subgroups. Self-managed, Premium and Ultimate only. LockDuoFeaturesEnabled *bool `pulumi:"lockDuoFeaturesEnabled"` // Set to true to lock all memberships to LDAP. Premium and Ultimate only. LockMembershipsToLdap *bool `pulumi:"lockMembershipsToLdap"` + // Set to true to lock all memberships to SAML. Premium and Ultimate only. + LockMembershipsToSaml *bool `pulumi:"lockMembershipsToSaml"` // Enable Mailgun event receiver. MailgunEventsEnabled *bool `pulumi:"mailgunEventsEnabled"` // The Mailgun HTTP webhook signing key for receiving events from webhook. @@ -1128,7 +1156,8 @@ type applicationSettingsState struct { // Maximum allowable lifetime for access tokens in days. MaxPersonalAccessTokenLifetime *int `pulumi:"maxPersonalAccessTokenLifetime"` // Maximum allowable lifetime for SSH keys in days. - MaxSshKeyLifetime *int `pulumi:"maxSshKeyLifetime"` + MaxSshKeyLifetime *int `pulumi:"maxSshKeyLifetime"` + // Maximum size in bytes of the Terraform state files. Set this to 0 for unlimited file size. MaxTerraformStateSizeBytes *int `pulumi:"maxTerraformStateSizeBytes"` // A method call is only tracked when it takes longer than the given amount of milliseconds. MetricsMethodCallThreshold *int `pulumi:"metricsMethodCallThreshold"` @@ -1142,9 +1171,11 @@ type applicationSettingsState struct { MirrorMaxCapacity *int `pulumi:"mirrorMaxCapacity"` // Maximum time (in minutes) between updates that a mirror can have when scheduled to synchronize. MirrorMaxDelay *int `pulumi:"mirrorMaxDelay"` + // Enable sending notification if sign in from unknown IP address happens + NotifyOnUnknownSignIn *bool `pulumi:"notifyOnUnknownSignIn"` // Use npmjs.org as a default remote repository when the package is not found in the GitLab Package Registry for npm. NpmPackageRequestsForwarding *bool `pulumi:"npmPackageRequestsForwarding"` - // Indicates whether to skip metadata URL validation for the NuGet package. Introduced in GitLab 17.0. + // Indicates whether to skip metadata URL validation for the NuGet package. NugetSkipMetadataUrlValidation *bool `pulumi:"nugetSkipMetadataUrlValidation"` // Define a list of trusted domains or IP addresses to which local requests are allowed when local requests for hooks and services are disabled. OutboundLocalRequestsWhitelists []string `pulumi:"outboundLocalRequestsWhitelists"` @@ -1180,6 +1211,10 @@ type applicationSettingsState struct { PlantumlUrl *string `pulumi:"plantumlUrl"` // Interval multiplier used by endpoints that perform polling. Set to 0 to disable polling. PollingIntervalMultiplier *float64 `pulumi:"pollingIntervalMultiplier"` + // Prevent approval by merge request creator (author). + PreventMergeRequestsAuthorApproval *bool `pulumi:"preventMergeRequestsAuthorApproval"` + // Prevent approval by committers to merge requests. + PreventMergeRequestsCommittersApproval *bool `pulumi:"preventMergeRequestsCommittersApproval"` // Enable project export. ProjectExportEnabled *bool `pulumi:"projectExportEnabled"` // Maximum authenticated requests to /project/:id/jobs per minute. @@ -1216,9 +1251,7 @@ type applicationSettingsState struct { RepositoryChecksEnabled *bool `pulumi:"repositoryChecksEnabled"` // Size limit per repository (MB). RepositorySizeLimit *int `pulumi:"repositorySizeLimit"` - // (GitLab 13.0 and earlier) List of names of enabled storage paths, taken from gitlab.yml. New projects are created in one of these stores, chosen at random. - RepositoryStorages []string `pulumi:"repositoryStorages"` - // (GitLab 13.1 and later) Hash of names of taken from gitlab.yml to weights. New projects are created in one of these stores, chosen by a weighted random selection. + // Hash of names taken from gitlab.yml to weights. New projects are created in one of these stores, chosen by a weighted random selection. RepositoryStoragesWeighted map[string]int `pulumi:"repositoryStoragesWeighted"` // When enabled, any user that signs up for an account using the registration form is placed under a Pending approval state and has to be explicitly approved by an administrator. RequireAdminApprovalAfterUserSignup *bool `pulumi:"requireAdminApprovalAfterUserSignup"` @@ -1318,6 +1351,12 @@ type applicationSettingsState struct { ThrottleAuthenticatedApiPeriodInSeconds *int `pulumi:"throttleAuthenticatedApiPeriodInSeconds"` // Maximum requests per period per user. ThrottleAuthenticatedApiRequestsPerPeriod *int `pulumi:"throttleAuthenticatedApiRequestsPerPeriod"` + // Enable authenticated Git LFS request rate limit. + ThrottleAuthenticatedGitLfsEnabled *bool `pulumi:"throttleAuthenticatedGitLfsEnabled"` + // Rate limit period (in seconds). + ThrottleAuthenticatedGitLfsPeriodInSeconds *int `pulumi:"throttleAuthenticatedGitLfsPeriodInSeconds"` + // Maximum requests per period per user. + ThrottleAuthenticatedGitLfsRequestsPerPeriod *int `pulumi:"throttleAuthenticatedGitLfsRequestsPerPeriod"` // (If enabled, requires: throttle*authenticated*packages*api*period*in*seconds and throttle*authenticated*packages*api*requests*per*period) Enable authenticated API request rate limit. Helps reduce request volume (for example, from crawlers or abusive bots). View Package Registry rate limits for more details. ThrottleAuthenticatedPackagesApiEnabled *bool `pulumi:"throttleAuthenticatedPackagesApiEnabled"` // Rate limit period (in seconds). View Package Registry rate limits for more details. @@ -1362,6 +1401,8 @@ type applicationSettingsState struct { UniqueIpsLimitTimeWindow *int `pulumi:"uniqueIpsLimitTimeWindow"` // Fetch GitLab Runner release version data from GitLab.com. UpdateRunnerVersionsEnabled *bool `pulumi:"updateRunnerVersionsEnabled"` + // Disable user profile name changes. + UpdatingNameDisabledForUsers *bool `pulumi:"updatingNameDisabledForUsers"` // Every week GitLab reports license usage back to GitLab, Inc. UsagePingEnabled *bool `pulumi:"usagePingEnabled"` // Enables ClickHouse as a data source for analytics reports. ClickHouse must be configured for this setting to take effect. Available on Premium and Ultimate only. @@ -1447,6 +1488,8 @@ type ApplicationSettingsState struct { CanCreateGroup pulumi.BoolPtrInput // Enabling this makes only licensed EE features available to projects if the project namespace’s plan includes the feature or if the project is public. CheckNamespacePlan pulumi.BoolPtrInput + // Turns on incremental logging for job logs. When turned on, archived job logs are incrementally uploaded to object storage. Object storage must be configured. + CiJobLiveTraceEnabled pulumi.BoolPtrInput // The maximum number of includes per pipeline. CiMaxIncludes pulumi.IntPtrInput // The maximum amount of memory, in bytes, that can be allocated for the pipeline configuration, with all included YAML configuration files. @@ -1481,7 +1524,9 @@ type ApplicationSettingsState struct { DefaultArtifactsExpireIn pulumi.StringPtrInput // Instance-level custom initial branch name DefaultBranchName pulumi.StringPtrInput - // Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. + // Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. Use `defaultBranchProtectionDefaults` instead. To be removed in 19.0. + // + // Deprecated: Use `defaultBranchProtectionDefaults` instead. To be removed in 19.0. DefaultBranchProtection pulumi.IntPtrInput // The default*branch*protection*defaults attribute describes the default branch protection defaults. All parameters are optional. DefaultBranchProtectionDefaults ApplicationSettingsDefaultBranchProtectionDefaultsPtrInput @@ -1521,6 +1566,8 @@ type ApplicationSettingsState struct { DisableAdminOauthScopes pulumi.BoolPtrInput // Disable display of RSS/Atom and calendar feed tokens. DisableFeedToken pulumi.BoolPtrInput + // Prevent editing approval rules in projects and merge requests. + DisableOverridingApproversPerMergeRequest pulumi.BoolPtrInput // Disable personal access tokens. Self-managed, Premium and Ultimate only. There is no method available to enable a personal access token that’s been disabled through the API. This is a known issue. DisablePersonalAccessTokens pulumi.BoolPtrInput // Disabled OAuth sign-in sources. @@ -1669,8 +1716,6 @@ type ApplicationSettingsState struct { GravatarEnabled pulumi.BoolPtrInput // Prevent overrides of default branch protection. GroupOwnersCanManageDefaultBranchProtection pulumi.BoolPtrInput - // Create new projects using hashed storage paths: Enable immutable, hash-based paths and repository names to store repositories on disk. This prevents repositories from having to be moved or renamed when the Project URL changes and may improve disk I/O performance. (Always enabled in GitLab versions 13.0 and later, configuration is scheduled for removal in 14.0). - HashedStorageEnabled pulumi.BoolPtrInput // Hide marketing-related entries from help. HelpPageHideCommercialContent pulumi.BoolPtrInput // Alternate support URL for help page and help dropdown. @@ -1683,23 +1728,9 @@ type ApplicationSettingsState struct { HideThirdPartyOffers pulumi.BoolPtrInput // Redirect to this URL when not logged in. HomePageUrl pulumi.StringPtrInput - // Enable or disable Git housekeeping. - // If enabled, requires either housekeeping*optimize*repository*period OR housekeeping*bitmaps*enabled, housekeeping*full*repack*period, housekeeping*gc*period, and housekeeping*incremental*repack*period. - // Options housekeeping*bitmaps*enabled, housekeeping*full*repack*period, housekeeping*gc*period, and housekeeping*incremental*repack*period are deprecated. Use housekeeping*optimize*repository*period instead. + // Enable or disable Git housekeeping. If enabled, requires housekeeping*optimize*repository_period. HousekeepingEnabled pulumi.BoolPtrInput - // Number of Git pushes after which an incremental git repack is run. - // - // Deprecated: housekeeping_full_repack_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. - HousekeepingFullRepackPeriod pulumi.IntPtrInput - // Number of Git pushes after which git gc is run. - // - // Deprecated: housekeeping_gc_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. - HousekeepingGcPeriod pulumi.IntPtrInput - // Number of Git pushes after which an incremental git repack is run. - // - // Deprecated: housekeeping_incremental_repack_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. - HousekeepingIncrementalRepackPeriod pulumi.IntPtrInput - // Number of Git pushes after which an incremental git repack is run. + // Number of Git pushes after which an incremental git-repack is run. HousekeepingOptimizeRepositoryPeriod pulumi.IntPtrInput // Enable HTML emails. HtmlEmailsEnabled pulumi.BoolPtrInput @@ -1713,6 +1744,8 @@ type ApplicationSettingsState struct { InactiveProjectsMinSizeMb pulumi.IntPtrInput // If delete*inactive*projects is true, sets the time (in months) to wait before emailing maintainers that the project is scheduled be deleted because it is inactive. InactiveProjectsSendWarningEmailAfterMonths pulumi.IntPtrInput + // Specifies retention period for inactive project and group access tokens. Default is 30. + InactiveResourceAccessTokensDeleteAfterDays pulumi.IntPtrInput // Whether or not optional metrics are enabled in Service Ping. IncludeOptionalMetricsInServicePing pulumi.BoolPtrInput // Enable Invisible CAPTCHA spam detection during sign-up. @@ -1727,12 +1760,20 @@ type ApplicationSettingsState struct { JiraConnectPublicKeyStorageEnabled pulumi.BoolPtrInput // Prevent the deletion of the artifacts from the most recent successful jobs, regardless of the expiry time. KeepLatestArtifact pulumi.BoolPtrInput + // (If enabled, requires: kroki_url) Enable Kroki integration. + KrokiEnabled pulumi.BoolPtrInput + // Configuration for formats supported by the Kroki instance. + KrokiFormats pulumi.BoolMapInput + // The Kroki instance URL for integration. + KrokiUrl pulumi.StringPtrInput // Increase this value when any cached Markdown should be invalidated. LocalMarkdownVersion pulumi.IntPtrInput // Indicates whether the GitLab Duo features enabled setting is enforced for all subgroups. Self-managed, Premium and Ultimate only. LockDuoFeaturesEnabled pulumi.BoolPtrInput // Set to true to lock all memberships to LDAP. Premium and Ultimate only. LockMembershipsToLdap pulumi.BoolPtrInput + // Set to true to lock all memberships to SAML. Premium and Ultimate only. + LockMembershipsToSaml pulumi.BoolPtrInput // Enable Mailgun event receiver. MailgunEventsEnabled pulumi.BoolPtrInput // The Mailgun HTTP webhook signing key for receiving events from webhook. @@ -1766,7 +1807,8 @@ type ApplicationSettingsState struct { // Maximum allowable lifetime for access tokens in days. MaxPersonalAccessTokenLifetime pulumi.IntPtrInput // Maximum allowable lifetime for SSH keys in days. - MaxSshKeyLifetime pulumi.IntPtrInput + MaxSshKeyLifetime pulumi.IntPtrInput + // Maximum size in bytes of the Terraform state files. Set this to 0 for unlimited file size. MaxTerraformStateSizeBytes pulumi.IntPtrInput // A method call is only tracked when it takes longer than the given amount of milliseconds. MetricsMethodCallThreshold pulumi.IntPtrInput @@ -1780,9 +1822,11 @@ type ApplicationSettingsState struct { MirrorMaxCapacity pulumi.IntPtrInput // Maximum time (in minutes) between updates that a mirror can have when scheduled to synchronize. MirrorMaxDelay pulumi.IntPtrInput + // Enable sending notification if sign in from unknown IP address happens + NotifyOnUnknownSignIn pulumi.BoolPtrInput // Use npmjs.org as a default remote repository when the package is not found in the GitLab Package Registry for npm. NpmPackageRequestsForwarding pulumi.BoolPtrInput - // Indicates whether to skip metadata URL validation for the NuGet package. Introduced in GitLab 17.0. + // Indicates whether to skip metadata URL validation for the NuGet package. NugetSkipMetadataUrlValidation pulumi.BoolPtrInput // Define a list of trusted domains or IP addresses to which local requests are allowed when local requests for hooks and services are disabled. OutboundLocalRequestsWhitelists pulumi.StringArrayInput @@ -1818,6 +1862,10 @@ type ApplicationSettingsState struct { PlantumlUrl pulumi.StringPtrInput // Interval multiplier used by endpoints that perform polling. Set to 0 to disable polling. PollingIntervalMultiplier pulumi.Float64PtrInput + // Prevent approval by merge request creator (author). + PreventMergeRequestsAuthorApproval pulumi.BoolPtrInput + // Prevent approval by committers to merge requests. + PreventMergeRequestsCommittersApproval pulumi.BoolPtrInput // Enable project export. ProjectExportEnabled pulumi.BoolPtrInput // Maximum authenticated requests to /project/:id/jobs per minute. @@ -1854,9 +1902,7 @@ type ApplicationSettingsState struct { RepositoryChecksEnabled pulumi.BoolPtrInput // Size limit per repository (MB). RepositorySizeLimit pulumi.IntPtrInput - // (GitLab 13.0 and earlier) List of names of enabled storage paths, taken from gitlab.yml. New projects are created in one of these stores, chosen at random. - RepositoryStorages pulumi.StringArrayInput - // (GitLab 13.1 and later) Hash of names of taken from gitlab.yml to weights. New projects are created in one of these stores, chosen by a weighted random selection. + // Hash of names taken from gitlab.yml to weights. New projects are created in one of these stores, chosen by a weighted random selection. RepositoryStoragesWeighted pulumi.IntMapInput // When enabled, any user that signs up for an account using the registration form is placed under a Pending approval state and has to be explicitly approved by an administrator. RequireAdminApprovalAfterUserSignup pulumi.BoolPtrInput @@ -1956,6 +2002,12 @@ type ApplicationSettingsState struct { ThrottleAuthenticatedApiPeriodInSeconds pulumi.IntPtrInput // Maximum requests per period per user. ThrottleAuthenticatedApiRequestsPerPeriod pulumi.IntPtrInput + // Enable authenticated Git LFS request rate limit. + ThrottleAuthenticatedGitLfsEnabled pulumi.BoolPtrInput + // Rate limit period (in seconds). + ThrottleAuthenticatedGitLfsPeriodInSeconds pulumi.IntPtrInput + // Maximum requests per period per user. + ThrottleAuthenticatedGitLfsRequestsPerPeriod pulumi.IntPtrInput // (If enabled, requires: throttle*authenticated*packages*api*period*in*seconds and throttle*authenticated*packages*api*requests*per*period) Enable authenticated API request rate limit. Helps reduce request volume (for example, from crawlers or abusive bots). View Package Registry rate limits for more details. ThrottleAuthenticatedPackagesApiEnabled pulumi.BoolPtrInput // Rate limit period (in seconds). View Package Registry rate limits for more details. @@ -2000,6 +2052,8 @@ type ApplicationSettingsState struct { UniqueIpsLimitTimeWindow pulumi.IntPtrInput // Fetch GitLab Runner release version data from GitLab.com. UpdateRunnerVersionsEnabled pulumi.BoolPtrInput + // Disable user profile name changes. + UpdatingNameDisabledForUsers pulumi.BoolPtrInput // Every week GitLab reports license usage back to GitLab, Inc. UsagePingEnabled pulumi.BoolPtrInput // Enables ClickHouse as a data source for analytics reports. ClickHouse must be configured for this setting to take effect. Available on Premium and Ultimate only. @@ -2089,6 +2143,8 @@ type applicationSettingsArgs struct { CanCreateGroup *bool `pulumi:"canCreateGroup"` // Enabling this makes only licensed EE features available to projects if the project namespace’s plan includes the feature or if the project is public. CheckNamespacePlan *bool `pulumi:"checkNamespacePlan"` + // Turns on incremental logging for job logs. When turned on, archived job logs are incrementally uploaded to object storage. Object storage must be configured. + CiJobLiveTraceEnabled *bool `pulumi:"ciJobLiveTraceEnabled"` // The maximum number of includes per pipeline. CiMaxIncludes *int `pulumi:"ciMaxIncludes"` // The maximum amount of memory, in bytes, that can be allocated for the pipeline configuration, with all included YAML configuration files. @@ -2123,7 +2179,9 @@ type applicationSettingsArgs struct { DefaultArtifactsExpireIn *string `pulumi:"defaultArtifactsExpireIn"` // Instance-level custom initial branch name DefaultBranchName *string `pulumi:"defaultBranchName"` - // Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. + // Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. Use `defaultBranchProtectionDefaults` instead. To be removed in 19.0. + // + // Deprecated: Use `defaultBranchProtectionDefaults` instead. To be removed in 19.0. DefaultBranchProtection *int `pulumi:"defaultBranchProtection"` // The default*branch*protection*defaults attribute describes the default branch protection defaults. All parameters are optional. DefaultBranchProtectionDefaults *ApplicationSettingsDefaultBranchProtectionDefaults `pulumi:"defaultBranchProtectionDefaults"` @@ -2163,6 +2221,8 @@ type applicationSettingsArgs struct { DisableAdminOauthScopes *bool `pulumi:"disableAdminOauthScopes"` // Disable display of RSS/Atom and calendar feed tokens. DisableFeedToken *bool `pulumi:"disableFeedToken"` + // Prevent editing approval rules in projects and merge requests. + DisableOverridingApproversPerMergeRequest *bool `pulumi:"disableOverridingApproversPerMergeRequest"` // Disable personal access tokens. Self-managed, Premium and Ultimate only. There is no method available to enable a personal access token that’s been disabled through the API. This is a known issue. DisablePersonalAccessTokens *bool `pulumi:"disablePersonalAccessTokens"` // Disabled OAuth sign-in sources. @@ -2307,8 +2367,6 @@ type applicationSettingsArgs struct { GravatarEnabled *bool `pulumi:"gravatarEnabled"` // Prevent overrides of default branch protection. GroupOwnersCanManageDefaultBranchProtection *bool `pulumi:"groupOwnersCanManageDefaultBranchProtection"` - // Create new projects using hashed storage paths: Enable immutable, hash-based paths and repository names to store repositories on disk. This prevents repositories from having to be moved or renamed when the Project URL changes and may improve disk I/O performance. (Always enabled in GitLab versions 13.0 and later, configuration is scheduled for removal in 14.0). - HashedStorageEnabled *bool `pulumi:"hashedStorageEnabled"` // Hide marketing-related entries from help. HelpPageHideCommercialContent *bool `pulumi:"helpPageHideCommercialContent"` // Alternate support URL for help page and help dropdown. @@ -2321,23 +2379,9 @@ type applicationSettingsArgs struct { HideThirdPartyOffers *bool `pulumi:"hideThirdPartyOffers"` // Redirect to this URL when not logged in. HomePageUrl *string `pulumi:"homePageUrl"` - // Enable or disable Git housekeeping. - // If enabled, requires either housekeeping*optimize*repository*period OR housekeeping*bitmaps*enabled, housekeeping*full*repack*period, housekeeping*gc*period, and housekeeping*incremental*repack*period. - // Options housekeeping*bitmaps*enabled, housekeeping*full*repack*period, housekeeping*gc*period, and housekeeping*incremental*repack*period are deprecated. Use housekeeping*optimize*repository*period instead. + // Enable or disable Git housekeeping. If enabled, requires housekeeping*optimize*repository_period. HousekeepingEnabled *bool `pulumi:"housekeepingEnabled"` - // Number of Git pushes after which an incremental git repack is run. - // - // Deprecated: housekeeping_full_repack_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. - HousekeepingFullRepackPeriod *int `pulumi:"housekeepingFullRepackPeriod"` - // Number of Git pushes after which git gc is run. - // - // Deprecated: housekeeping_gc_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. - HousekeepingGcPeriod *int `pulumi:"housekeepingGcPeriod"` - // Number of Git pushes after which an incremental git repack is run. - // - // Deprecated: housekeeping_incremental_repack_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. - HousekeepingIncrementalRepackPeriod *int `pulumi:"housekeepingIncrementalRepackPeriod"` - // Number of Git pushes after which an incremental git repack is run. + // Number of Git pushes after which an incremental git-repack is run. HousekeepingOptimizeRepositoryPeriod *int `pulumi:"housekeepingOptimizeRepositoryPeriod"` // Enable HTML emails. HtmlEmailsEnabled *bool `pulumi:"htmlEmailsEnabled"` @@ -2351,6 +2395,8 @@ type applicationSettingsArgs struct { InactiveProjectsMinSizeMb *int `pulumi:"inactiveProjectsMinSizeMb"` // If delete*inactive*projects is true, sets the time (in months) to wait before emailing maintainers that the project is scheduled be deleted because it is inactive. InactiveProjectsSendWarningEmailAfterMonths *int `pulumi:"inactiveProjectsSendWarningEmailAfterMonths"` + // Specifies retention period for inactive project and group access tokens. Default is 30. + InactiveResourceAccessTokensDeleteAfterDays *int `pulumi:"inactiveResourceAccessTokensDeleteAfterDays"` // Whether or not optional metrics are enabled in Service Ping. IncludeOptionalMetricsInServicePing *bool `pulumi:"includeOptionalMetricsInServicePing"` // Enable Invisible CAPTCHA spam detection during sign-up. @@ -2365,12 +2411,20 @@ type applicationSettingsArgs struct { JiraConnectPublicKeyStorageEnabled *bool `pulumi:"jiraConnectPublicKeyStorageEnabled"` // Prevent the deletion of the artifacts from the most recent successful jobs, regardless of the expiry time. KeepLatestArtifact *bool `pulumi:"keepLatestArtifact"` + // (If enabled, requires: kroki_url) Enable Kroki integration. + KrokiEnabled *bool `pulumi:"krokiEnabled"` + // Configuration for formats supported by the Kroki instance. + KrokiFormats map[string]bool `pulumi:"krokiFormats"` + // The Kroki instance URL for integration. + KrokiUrl *string `pulumi:"krokiUrl"` // Increase this value when any cached Markdown should be invalidated. LocalMarkdownVersion *int `pulumi:"localMarkdownVersion"` // Indicates whether the GitLab Duo features enabled setting is enforced for all subgroups. Self-managed, Premium and Ultimate only. LockDuoFeaturesEnabled *bool `pulumi:"lockDuoFeaturesEnabled"` // Set to true to lock all memberships to LDAP. Premium and Ultimate only. LockMembershipsToLdap *bool `pulumi:"lockMembershipsToLdap"` + // Set to true to lock all memberships to SAML. Premium and Ultimate only. + LockMembershipsToSaml *bool `pulumi:"lockMembershipsToSaml"` // Enable Mailgun event receiver. MailgunEventsEnabled *bool `pulumi:"mailgunEventsEnabled"` // The Mailgun HTTP webhook signing key for receiving events from webhook. @@ -2404,7 +2458,8 @@ type applicationSettingsArgs struct { // Maximum allowable lifetime for access tokens in days. MaxPersonalAccessTokenLifetime *int `pulumi:"maxPersonalAccessTokenLifetime"` // Maximum allowable lifetime for SSH keys in days. - MaxSshKeyLifetime *int `pulumi:"maxSshKeyLifetime"` + MaxSshKeyLifetime *int `pulumi:"maxSshKeyLifetime"` + // Maximum size in bytes of the Terraform state files. Set this to 0 for unlimited file size. MaxTerraformStateSizeBytes *int `pulumi:"maxTerraformStateSizeBytes"` // A method call is only tracked when it takes longer than the given amount of milliseconds. MetricsMethodCallThreshold *int `pulumi:"metricsMethodCallThreshold"` @@ -2418,9 +2473,11 @@ type applicationSettingsArgs struct { MirrorMaxCapacity *int `pulumi:"mirrorMaxCapacity"` // Maximum time (in minutes) between updates that a mirror can have when scheduled to synchronize. MirrorMaxDelay *int `pulumi:"mirrorMaxDelay"` + // Enable sending notification if sign in from unknown IP address happens + NotifyOnUnknownSignIn *bool `pulumi:"notifyOnUnknownSignIn"` // Use npmjs.org as a default remote repository when the package is not found in the GitLab Package Registry for npm. NpmPackageRequestsForwarding *bool `pulumi:"npmPackageRequestsForwarding"` - // Indicates whether to skip metadata URL validation for the NuGet package. Introduced in GitLab 17.0. + // Indicates whether to skip metadata URL validation for the NuGet package. NugetSkipMetadataUrlValidation *bool `pulumi:"nugetSkipMetadataUrlValidation"` // Define a list of trusted domains or IP addresses to which local requests are allowed when local requests for hooks and services are disabled. OutboundLocalRequestsWhitelists []string `pulumi:"outboundLocalRequestsWhitelists"` @@ -2456,6 +2513,10 @@ type applicationSettingsArgs struct { PlantumlUrl *string `pulumi:"plantumlUrl"` // Interval multiplier used by endpoints that perform polling. Set to 0 to disable polling. PollingIntervalMultiplier *float64 `pulumi:"pollingIntervalMultiplier"` + // Prevent approval by merge request creator (author). + PreventMergeRequestsAuthorApproval *bool `pulumi:"preventMergeRequestsAuthorApproval"` + // Prevent approval by committers to merge requests. + PreventMergeRequestsCommittersApproval *bool `pulumi:"preventMergeRequestsCommittersApproval"` // Enable project export. ProjectExportEnabled *bool `pulumi:"projectExportEnabled"` // Maximum authenticated requests to /project/:id/jobs per minute. @@ -2492,9 +2553,7 @@ type applicationSettingsArgs struct { RepositoryChecksEnabled *bool `pulumi:"repositoryChecksEnabled"` // Size limit per repository (MB). RepositorySizeLimit *int `pulumi:"repositorySizeLimit"` - // (GitLab 13.0 and earlier) List of names of enabled storage paths, taken from gitlab.yml. New projects are created in one of these stores, chosen at random. - RepositoryStorages []string `pulumi:"repositoryStorages"` - // (GitLab 13.1 and later) Hash of names of taken from gitlab.yml to weights. New projects are created in one of these stores, chosen by a weighted random selection. + // Hash of names taken from gitlab.yml to weights. New projects are created in one of these stores, chosen by a weighted random selection. RepositoryStoragesWeighted map[string]int `pulumi:"repositoryStoragesWeighted"` // When enabled, any user that signs up for an account using the registration form is placed under a Pending approval state and has to be explicitly approved by an administrator. RequireAdminApprovalAfterUserSignup *bool `pulumi:"requireAdminApprovalAfterUserSignup"` @@ -2594,6 +2653,12 @@ type applicationSettingsArgs struct { ThrottleAuthenticatedApiPeriodInSeconds *int `pulumi:"throttleAuthenticatedApiPeriodInSeconds"` // Maximum requests per period per user. ThrottleAuthenticatedApiRequestsPerPeriod *int `pulumi:"throttleAuthenticatedApiRequestsPerPeriod"` + // Enable authenticated Git LFS request rate limit. + ThrottleAuthenticatedGitLfsEnabled *bool `pulumi:"throttleAuthenticatedGitLfsEnabled"` + // Rate limit period (in seconds). + ThrottleAuthenticatedGitLfsPeriodInSeconds *int `pulumi:"throttleAuthenticatedGitLfsPeriodInSeconds"` + // Maximum requests per period per user. + ThrottleAuthenticatedGitLfsRequestsPerPeriod *int `pulumi:"throttleAuthenticatedGitLfsRequestsPerPeriod"` // (If enabled, requires: throttle*authenticated*packages*api*period*in*seconds and throttle*authenticated*packages*api*requests*per*period) Enable authenticated API request rate limit. Helps reduce request volume (for example, from crawlers or abusive bots). View Package Registry rate limits for more details. ThrottleAuthenticatedPackagesApiEnabled *bool `pulumi:"throttleAuthenticatedPackagesApiEnabled"` // Rate limit period (in seconds). View Package Registry rate limits for more details. @@ -2638,6 +2703,8 @@ type applicationSettingsArgs struct { UniqueIpsLimitTimeWindow *int `pulumi:"uniqueIpsLimitTimeWindow"` // Fetch GitLab Runner release version data from GitLab.com. UpdateRunnerVersionsEnabled *bool `pulumi:"updateRunnerVersionsEnabled"` + // Disable user profile name changes. + UpdatingNameDisabledForUsers *bool `pulumi:"updatingNameDisabledForUsers"` // Every week GitLab reports license usage back to GitLab, Inc. UsagePingEnabled *bool `pulumi:"usagePingEnabled"` // Enables ClickHouse as a data source for analytics reports. ClickHouse must be configured for this setting to take effect. Available on Premium and Ultimate only. @@ -2724,6 +2791,8 @@ type ApplicationSettingsArgs struct { CanCreateGroup pulumi.BoolPtrInput // Enabling this makes only licensed EE features available to projects if the project namespace’s plan includes the feature or if the project is public. CheckNamespacePlan pulumi.BoolPtrInput + // Turns on incremental logging for job logs. When turned on, archived job logs are incrementally uploaded to object storage. Object storage must be configured. + CiJobLiveTraceEnabled pulumi.BoolPtrInput // The maximum number of includes per pipeline. CiMaxIncludes pulumi.IntPtrInput // The maximum amount of memory, in bytes, that can be allocated for the pipeline configuration, with all included YAML configuration files. @@ -2758,7 +2827,9 @@ type ApplicationSettingsArgs struct { DefaultArtifactsExpireIn pulumi.StringPtrInput // Instance-level custom initial branch name DefaultBranchName pulumi.StringPtrInput - // Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. + // Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. Use `defaultBranchProtectionDefaults` instead. To be removed in 19.0. + // + // Deprecated: Use `defaultBranchProtectionDefaults` instead. To be removed in 19.0. DefaultBranchProtection pulumi.IntPtrInput // The default*branch*protection*defaults attribute describes the default branch protection defaults. All parameters are optional. DefaultBranchProtectionDefaults ApplicationSettingsDefaultBranchProtectionDefaultsPtrInput @@ -2798,6 +2869,8 @@ type ApplicationSettingsArgs struct { DisableAdminOauthScopes pulumi.BoolPtrInput // Disable display of RSS/Atom and calendar feed tokens. DisableFeedToken pulumi.BoolPtrInput + // Prevent editing approval rules in projects and merge requests. + DisableOverridingApproversPerMergeRequest pulumi.BoolPtrInput // Disable personal access tokens. Self-managed, Premium and Ultimate only. There is no method available to enable a personal access token that’s been disabled through the API. This is a known issue. DisablePersonalAccessTokens pulumi.BoolPtrInput // Disabled OAuth sign-in sources. @@ -2942,8 +3015,6 @@ type ApplicationSettingsArgs struct { GravatarEnabled pulumi.BoolPtrInput // Prevent overrides of default branch protection. GroupOwnersCanManageDefaultBranchProtection pulumi.BoolPtrInput - // Create new projects using hashed storage paths: Enable immutable, hash-based paths and repository names to store repositories on disk. This prevents repositories from having to be moved or renamed when the Project URL changes and may improve disk I/O performance. (Always enabled in GitLab versions 13.0 and later, configuration is scheduled for removal in 14.0). - HashedStorageEnabled pulumi.BoolPtrInput // Hide marketing-related entries from help. HelpPageHideCommercialContent pulumi.BoolPtrInput // Alternate support URL for help page and help dropdown. @@ -2956,23 +3027,9 @@ type ApplicationSettingsArgs struct { HideThirdPartyOffers pulumi.BoolPtrInput // Redirect to this URL when not logged in. HomePageUrl pulumi.StringPtrInput - // Enable or disable Git housekeeping. - // If enabled, requires either housekeeping*optimize*repository*period OR housekeeping*bitmaps*enabled, housekeeping*full*repack*period, housekeeping*gc*period, and housekeeping*incremental*repack*period. - // Options housekeeping*bitmaps*enabled, housekeeping*full*repack*period, housekeeping*gc*period, and housekeeping*incremental*repack*period are deprecated. Use housekeeping*optimize*repository*period instead. + // Enable or disable Git housekeeping. If enabled, requires housekeeping*optimize*repository_period. HousekeepingEnabled pulumi.BoolPtrInput - // Number of Git pushes after which an incremental git repack is run. - // - // Deprecated: housekeeping_full_repack_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. - HousekeepingFullRepackPeriod pulumi.IntPtrInput - // Number of Git pushes after which git gc is run. - // - // Deprecated: housekeeping_gc_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. - HousekeepingGcPeriod pulumi.IntPtrInput - // Number of Git pushes after which an incremental git repack is run. - // - // Deprecated: housekeeping_incremental_repack_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. - HousekeepingIncrementalRepackPeriod pulumi.IntPtrInput - // Number of Git pushes after which an incremental git repack is run. + // Number of Git pushes after which an incremental git-repack is run. HousekeepingOptimizeRepositoryPeriod pulumi.IntPtrInput // Enable HTML emails. HtmlEmailsEnabled pulumi.BoolPtrInput @@ -2986,6 +3043,8 @@ type ApplicationSettingsArgs struct { InactiveProjectsMinSizeMb pulumi.IntPtrInput // If delete*inactive*projects is true, sets the time (in months) to wait before emailing maintainers that the project is scheduled be deleted because it is inactive. InactiveProjectsSendWarningEmailAfterMonths pulumi.IntPtrInput + // Specifies retention period for inactive project and group access tokens. Default is 30. + InactiveResourceAccessTokensDeleteAfterDays pulumi.IntPtrInput // Whether or not optional metrics are enabled in Service Ping. IncludeOptionalMetricsInServicePing pulumi.BoolPtrInput // Enable Invisible CAPTCHA spam detection during sign-up. @@ -3000,12 +3059,20 @@ type ApplicationSettingsArgs struct { JiraConnectPublicKeyStorageEnabled pulumi.BoolPtrInput // Prevent the deletion of the artifacts from the most recent successful jobs, regardless of the expiry time. KeepLatestArtifact pulumi.BoolPtrInput + // (If enabled, requires: kroki_url) Enable Kroki integration. + KrokiEnabled pulumi.BoolPtrInput + // Configuration for formats supported by the Kroki instance. + KrokiFormats pulumi.BoolMapInput + // The Kroki instance URL for integration. + KrokiUrl pulumi.StringPtrInput // Increase this value when any cached Markdown should be invalidated. LocalMarkdownVersion pulumi.IntPtrInput // Indicates whether the GitLab Duo features enabled setting is enforced for all subgroups. Self-managed, Premium and Ultimate only. LockDuoFeaturesEnabled pulumi.BoolPtrInput // Set to true to lock all memberships to LDAP. Premium and Ultimate only. LockMembershipsToLdap pulumi.BoolPtrInput + // Set to true to lock all memberships to SAML. Premium and Ultimate only. + LockMembershipsToSaml pulumi.BoolPtrInput // Enable Mailgun event receiver. MailgunEventsEnabled pulumi.BoolPtrInput // The Mailgun HTTP webhook signing key for receiving events from webhook. @@ -3039,7 +3106,8 @@ type ApplicationSettingsArgs struct { // Maximum allowable lifetime for access tokens in days. MaxPersonalAccessTokenLifetime pulumi.IntPtrInput // Maximum allowable lifetime for SSH keys in days. - MaxSshKeyLifetime pulumi.IntPtrInput + MaxSshKeyLifetime pulumi.IntPtrInput + // Maximum size in bytes of the Terraform state files. Set this to 0 for unlimited file size. MaxTerraformStateSizeBytes pulumi.IntPtrInput // A method call is only tracked when it takes longer than the given amount of milliseconds. MetricsMethodCallThreshold pulumi.IntPtrInput @@ -3053,9 +3121,11 @@ type ApplicationSettingsArgs struct { MirrorMaxCapacity pulumi.IntPtrInput // Maximum time (in minutes) between updates that a mirror can have when scheduled to synchronize. MirrorMaxDelay pulumi.IntPtrInput + // Enable sending notification if sign in from unknown IP address happens + NotifyOnUnknownSignIn pulumi.BoolPtrInput // Use npmjs.org as a default remote repository when the package is not found in the GitLab Package Registry for npm. NpmPackageRequestsForwarding pulumi.BoolPtrInput - // Indicates whether to skip metadata URL validation for the NuGet package. Introduced in GitLab 17.0. + // Indicates whether to skip metadata URL validation for the NuGet package. NugetSkipMetadataUrlValidation pulumi.BoolPtrInput // Define a list of trusted domains or IP addresses to which local requests are allowed when local requests for hooks and services are disabled. OutboundLocalRequestsWhitelists pulumi.StringArrayInput @@ -3091,6 +3161,10 @@ type ApplicationSettingsArgs struct { PlantumlUrl pulumi.StringPtrInput // Interval multiplier used by endpoints that perform polling. Set to 0 to disable polling. PollingIntervalMultiplier pulumi.Float64PtrInput + // Prevent approval by merge request creator (author). + PreventMergeRequestsAuthorApproval pulumi.BoolPtrInput + // Prevent approval by committers to merge requests. + PreventMergeRequestsCommittersApproval pulumi.BoolPtrInput // Enable project export. ProjectExportEnabled pulumi.BoolPtrInput // Maximum authenticated requests to /project/:id/jobs per minute. @@ -3127,9 +3201,7 @@ type ApplicationSettingsArgs struct { RepositoryChecksEnabled pulumi.BoolPtrInput // Size limit per repository (MB). RepositorySizeLimit pulumi.IntPtrInput - // (GitLab 13.0 and earlier) List of names of enabled storage paths, taken from gitlab.yml. New projects are created in one of these stores, chosen at random. - RepositoryStorages pulumi.StringArrayInput - // (GitLab 13.1 and later) Hash of names of taken from gitlab.yml to weights. New projects are created in one of these stores, chosen by a weighted random selection. + // Hash of names taken from gitlab.yml to weights. New projects are created in one of these stores, chosen by a weighted random selection. RepositoryStoragesWeighted pulumi.IntMapInput // When enabled, any user that signs up for an account using the registration form is placed under a Pending approval state and has to be explicitly approved by an administrator. RequireAdminApprovalAfterUserSignup pulumi.BoolPtrInput @@ -3229,6 +3301,12 @@ type ApplicationSettingsArgs struct { ThrottleAuthenticatedApiPeriodInSeconds pulumi.IntPtrInput // Maximum requests per period per user. ThrottleAuthenticatedApiRequestsPerPeriod pulumi.IntPtrInput + // Enable authenticated Git LFS request rate limit. + ThrottleAuthenticatedGitLfsEnabled pulumi.BoolPtrInput + // Rate limit period (in seconds). + ThrottleAuthenticatedGitLfsPeriodInSeconds pulumi.IntPtrInput + // Maximum requests per period per user. + ThrottleAuthenticatedGitLfsRequestsPerPeriod pulumi.IntPtrInput // (If enabled, requires: throttle*authenticated*packages*api*period*in*seconds and throttle*authenticated*packages*api*requests*per*period) Enable authenticated API request rate limit. Helps reduce request volume (for example, from crawlers or abusive bots). View Package Registry rate limits for more details. ThrottleAuthenticatedPackagesApiEnabled pulumi.BoolPtrInput // Rate limit period (in seconds). View Package Registry rate limits for more details. @@ -3273,6 +3351,8 @@ type ApplicationSettingsArgs struct { UniqueIpsLimitTimeWindow pulumi.IntPtrInput // Fetch GitLab Runner release version data from GitLab.com. UpdateRunnerVersionsEnabled pulumi.BoolPtrInput + // Disable user profile name changes. + UpdatingNameDisabledForUsers pulumi.BoolPtrInput // Every week GitLab reports license usage back to GitLab, Inc. UsagePingEnabled pulumi.BoolPtrInput // Enables ClickHouse as a data source for analytics reports. ClickHouse must be configured for this setting to take effect. Available on Premium and Ultimate only. @@ -3528,6 +3608,11 @@ func (o ApplicationSettingsOutput) CheckNamespacePlan() pulumi.BoolOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.CheckNamespacePlan }).(pulumi.BoolOutput) } +// Turns on incremental logging for job logs. When turned on, archived job logs are incrementally uploaded to object storage. Object storage must be configured. +func (o ApplicationSettingsOutput) CiJobLiveTraceEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.CiJobLiveTraceEnabled }).(pulumi.BoolOutput) +} + // The maximum number of includes per pipeline. func (o ApplicationSettingsOutput) CiMaxIncludes() pulumi.IntOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.CiMaxIncludes }).(pulumi.IntOutput) @@ -3617,7 +3702,9 @@ func (o ApplicationSettingsOutput) DefaultBranchName() pulumi.StringOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.StringOutput { return v.DefaultBranchName }).(pulumi.StringOutput) } -// Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. +// Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. Use `defaultBranchProtectionDefaults` instead. To be removed in 19.0. +// +// Deprecated: Use `defaultBranchProtectionDefaults` instead. To be removed in 19.0. func (o ApplicationSettingsOutput) DefaultBranchProtection() pulumi.IntOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.DefaultBranchProtection }).(pulumi.IntOutput) } @@ -3719,6 +3806,11 @@ func (o ApplicationSettingsOutput) DisableFeedToken() pulumi.BoolOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.DisableFeedToken }).(pulumi.BoolOutput) } +// Prevent editing approval rules in projects and merge requests. +func (o ApplicationSettingsOutput) DisableOverridingApproversPerMergeRequest() pulumi.BoolOutput { + return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.DisableOverridingApproversPerMergeRequest }).(pulumi.BoolOutput) +} + // Disable personal access tokens. Self-managed, Premium and Ultimate only. There is no method available to enable a personal access token that’s been disabled through the API. This is a known issue. func (o ApplicationSettingsOutput) DisablePersonalAccessTokens() pulumi.BoolOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.DisablePersonalAccessTokens }).(pulumi.BoolOutput) @@ -4091,11 +4183,6 @@ func (o ApplicationSettingsOutput) GroupOwnersCanManageDefaultBranchProtection() return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.GroupOwnersCanManageDefaultBranchProtection }).(pulumi.BoolOutput) } -// Create new projects using hashed storage paths: Enable immutable, hash-based paths and repository names to store repositories on disk. This prevents repositories from having to be moved or renamed when the Project URL changes and may improve disk I/O performance. (Always enabled in GitLab versions 13.0 and later, configuration is scheduled for removal in 14.0). -func (o ApplicationSettingsOutput) HashedStorageEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.HashedStorageEnabled }).(pulumi.BoolOutput) -} - // Hide marketing-related entries from help. func (o ApplicationSettingsOutput) HelpPageHideCommercialContent() pulumi.BoolOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.HelpPageHideCommercialContent }).(pulumi.BoolOutput) @@ -4126,36 +4213,12 @@ func (o ApplicationSettingsOutput) HomePageUrl() pulumi.StringOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.StringOutput { return v.HomePageUrl }).(pulumi.StringOutput) } -// Enable or disable Git housekeeping. -// -// If enabled, requires either housekeeping*optimize*repository*period OR housekeeping*bitmaps*enabled, housekeeping*full*repack*period, housekeeping*gc*period, and housekeeping*incremental*repack*period. -// Options housekeeping*bitmaps*enabled, housekeeping*full*repack*period, housekeeping*gc*period, and housekeeping*incremental*repack*period are deprecated. Use housekeeping*optimize*repository*period instead. +// Enable or disable Git housekeeping. If enabled, requires housekeeping*optimize*repository_period. func (o ApplicationSettingsOutput) HousekeepingEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.HousekeepingEnabled }).(pulumi.BoolOutput) } -// Number of Git pushes after which an incremental git repack is run. -// -// Deprecated: housekeeping_full_repack_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. -func (o ApplicationSettingsOutput) HousekeepingFullRepackPeriod() pulumi.IntOutput { - return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.HousekeepingFullRepackPeriod }).(pulumi.IntOutput) -} - -// Number of Git pushes after which git gc is run. -// -// Deprecated: housekeeping_gc_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. -func (o ApplicationSettingsOutput) HousekeepingGcPeriod() pulumi.IntOutput { - return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.HousekeepingGcPeriod }).(pulumi.IntOutput) -} - -// Number of Git pushes after which an incremental git repack is run. -// -// Deprecated: housekeeping_incremental_repack_period is deprecated. Use housekeepingOptimizeRepositoryPeriod instead. -func (o ApplicationSettingsOutput) HousekeepingIncrementalRepackPeriod() pulumi.IntOutput { - return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.HousekeepingIncrementalRepackPeriod }).(pulumi.IntOutput) -} - -// Number of Git pushes after which an incremental git repack is run. +// Number of Git pushes after which an incremental git-repack is run. func (o ApplicationSettingsOutput) HousekeepingOptimizeRepositoryPeriod() pulumi.IntOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.HousekeepingOptimizeRepositoryPeriod }).(pulumi.IntOutput) } @@ -4190,6 +4253,11 @@ func (o ApplicationSettingsOutput) InactiveProjectsSendWarningEmailAfterMonths() return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.InactiveProjectsSendWarningEmailAfterMonths }).(pulumi.IntOutput) } +// Specifies retention period for inactive project and group access tokens. Default is 30. +func (o ApplicationSettingsOutput) InactiveResourceAccessTokensDeleteAfterDays() pulumi.IntOutput { + return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.InactiveResourceAccessTokensDeleteAfterDays }).(pulumi.IntOutput) +} + // Whether or not optional metrics are enabled in Service Ping. func (o ApplicationSettingsOutput) IncludeOptionalMetricsInServicePing() pulumi.BoolOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.IncludeOptionalMetricsInServicePing }).(pulumi.BoolOutput) @@ -4225,6 +4293,21 @@ func (o ApplicationSettingsOutput) KeepLatestArtifact() pulumi.BoolOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.KeepLatestArtifact }).(pulumi.BoolOutput) } +// (If enabled, requires: kroki_url) Enable Kroki integration. +func (o ApplicationSettingsOutput) KrokiEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.KrokiEnabled }).(pulumi.BoolOutput) +} + +// Configuration for formats supported by the Kroki instance. +func (o ApplicationSettingsOutput) KrokiFormats() pulumi.BoolMapOutput { + return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolMapOutput { return v.KrokiFormats }).(pulumi.BoolMapOutput) +} + +// The Kroki instance URL for integration. +func (o ApplicationSettingsOutput) KrokiUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationSettings) pulumi.StringOutput { return v.KrokiUrl }).(pulumi.StringOutput) +} + // Increase this value when any cached Markdown should be invalidated. func (o ApplicationSettingsOutput) LocalMarkdownVersion() pulumi.IntOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.LocalMarkdownVersion }).(pulumi.IntOutput) @@ -4240,6 +4323,11 @@ func (o ApplicationSettingsOutput) LockMembershipsToLdap() pulumi.BoolOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.LockMembershipsToLdap }).(pulumi.BoolOutput) } +// Set to true to lock all memberships to SAML. Premium and Ultimate only. +func (o ApplicationSettingsOutput) LockMembershipsToSaml() pulumi.BoolOutput { + return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.LockMembershipsToSaml }).(pulumi.BoolOutput) +} + // Enable Mailgun event receiver. func (o ApplicationSettingsOutput) MailgunEventsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.MailgunEventsEnabled }).(pulumi.BoolOutput) @@ -4325,6 +4413,7 @@ func (o ApplicationSettingsOutput) MaxSshKeyLifetime() pulumi.IntOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.MaxSshKeyLifetime }).(pulumi.IntOutput) } +// Maximum size in bytes of the Terraform state files. Set this to 0 for unlimited file size. func (o ApplicationSettingsOutput) MaxTerraformStateSizeBytes() pulumi.IntOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.MaxTerraformStateSizeBytes }).(pulumi.IntOutput) } @@ -4359,12 +4448,17 @@ func (o ApplicationSettingsOutput) MirrorMaxDelay() pulumi.IntOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.MirrorMaxDelay }).(pulumi.IntOutput) } +// Enable sending notification if sign in from unknown IP address happens +func (o ApplicationSettingsOutput) NotifyOnUnknownSignIn() pulumi.BoolOutput { + return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.NotifyOnUnknownSignIn }).(pulumi.BoolOutput) +} + // Use npmjs.org as a default remote repository when the package is not found in the GitLab Package Registry for npm. func (o ApplicationSettingsOutput) NpmPackageRequestsForwarding() pulumi.BoolOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.NpmPackageRequestsForwarding }).(pulumi.BoolOutput) } -// Indicates whether to skip metadata URL validation for the NuGet package. Introduced in GitLab 17.0. +// Indicates whether to skip metadata URL validation for the NuGet package. func (o ApplicationSettingsOutput) NugetSkipMetadataUrlValidation() pulumi.BoolOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.NugetSkipMetadataUrlValidation }).(pulumi.BoolOutput) } @@ -4454,6 +4548,16 @@ func (o ApplicationSettingsOutput) PollingIntervalMultiplier() pulumi.Float64Out return o.ApplyT(func(v *ApplicationSettings) pulumi.Float64Output { return v.PollingIntervalMultiplier }).(pulumi.Float64Output) } +// Prevent approval by merge request creator (author). +func (o ApplicationSettingsOutput) PreventMergeRequestsAuthorApproval() pulumi.BoolOutput { + return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.PreventMergeRequestsAuthorApproval }).(pulumi.BoolOutput) +} + +// Prevent approval by committers to merge requests. +func (o ApplicationSettingsOutput) PreventMergeRequestsCommittersApproval() pulumi.BoolOutput { + return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.PreventMergeRequestsCommittersApproval }).(pulumi.BoolOutput) +} + // Enable project export. func (o ApplicationSettingsOutput) ProjectExportEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.ProjectExportEnabled }).(pulumi.BoolOutput) @@ -4544,12 +4648,7 @@ func (o ApplicationSettingsOutput) RepositorySizeLimit() pulumi.IntOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.RepositorySizeLimit }).(pulumi.IntOutput) } -// (GitLab 13.0 and earlier) List of names of enabled storage paths, taken from gitlab.yml. New projects are created in one of these stores, chosen at random. -func (o ApplicationSettingsOutput) RepositoryStorages() pulumi.StringArrayOutput { - return o.ApplyT(func(v *ApplicationSettings) pulumi.StringArrayOutput { return v.RepositoryStorages }).(pulumi.StringArrayOutput) -} - -// (GitLab 13.1 and later) Hash of names of taken from gitlab.yml to weights. New projects are created in one of these stores, chosen by a weighted random selection. +// Hash of names taken from gitlab.yml to weights. New projects are created in one of these stores, chosen by a weighted random selection. func (o ApplicationSettingsOutput) RepositoryStoragesWeighted() pulumi.IntMapOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.IntMapOutput { return v.RepositoryStoragesWeighted }).(pulumi.IntMapOutput) } @@ -4799,6 +4898,21 @@ func (o ApplicationSettingsOutput) ThrottleAuthenticatedApiRequestsPerPeriod() p return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.ThrottleAuthenticatedApiRequestsPerPeriod }).(pulumi.IntOutput) } +// Enable authenticated Git LFS request rate limit. +func (o ApplicationSettingsOutput) ThrottleAuthenticatedGitLfsEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.ThrottleAuthenticatedGitLfsEnabled }).(pulumi.BoolOutput) +} + +// Rate limit period (in seconds). +func (o ApplicationSettingsOutput) ThrottleAuthenticatedGitLfsPeriodInSeconds() pulumi.IntOutput { + return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.ThrottleAuthenticatedGitLfsPeriodInSeconds }).(pulumi.IntOutput) +} + +// Maximum requests per period per user. +func (o ApplicationSettingsOutput) ThrottleAuthenticatedGitLfsRequestsPerPeriod() pulumi.IntOutput { + return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.ThrottleAuthenticatedGitLfsRequestsPerPeriod }).(pulumi.IntOutput) +} + // (If enabled, requires: throttle*authenticated*packages*api*period*in*seconds and throttle*authenticated*packages*api*requests*per*period) Enable authenticated API request rate limit. Helps reduce request volume (for example, from crawlers or abusive bots). View Package Registry rate limits for more details. func (o ApplicationSettingsOutput) ThrottleAuthenticatedPackagesApiEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.ThrottleAuthenticatedPackagesApiEnabled }).(pulumi.BoolOutput) @@ -4917,6 +5031,11 @@ func (o ApplicationSettingsOutput) UpdateRunnerVersionsEnabled() pulumi.BoolOutp return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.UpdateRunnerVersionsEnabled }).(pulumi.BoolOutput) } +// Disable user profile name changes. +func (o ApplicationSettingsOutput) UpdatingNameDisabledForUsers() pulumi.BoolOutput { + return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.UpdatingNameDisabledForUsers }).(pulumi.BoolOutput) +} + // Every week GitLab reports license usage back to GitLab, Inc. func (o ApplicationSettingsOutput) UsagePingEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.UsagePingEnabled }).(pulumi.BoolOutput) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/branch.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/branch.go similarity index 93% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/branch.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/branch.go index a84e0a64e..263f3f6d8 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/branch.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/branch.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `Branch` resource allows to manage the lifecycle of a repository branch. +// The `Branch` resource manages the lifecycle of a repository branch. +// +// !> The `ref` attribute is only set in state on resource creation. Imports or divergent branches can lead Terraform to destroy and recreate the resource. Use the lifecycle meta-argument to ignore changes to avoid this behavior. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/branches/) // @@ -23,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -55,21 +57,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_branch`. For example: -// -// terraform -// -// import { -// -// to = gitlab_branch.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `Branch`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// Gitlab branches can be imported with a key composed of `:`, e.g. +// Gitlab branches can be imported with a key composed of `:`, for example: // // ```sh // $ pulumi import gitlab:index/branch:Branch example "12345:develop" @@ -88,7 +80,7 @@ type Branch struct { // Bool, true if developer level access allows git push. DeveloperCanPush pulumi.BoolOutput `pulumi:"developerCanPush"` // Indicates whether the branch is kept once the resource destroyed (must be applied before a destroy). - KeepOnDestroy pulumi.BoolPtrOutput `pulumi:"keepOnDestroy"` + KeepOnDestroy pulumi.BoolOutput `pulumi:"keepOnDestroy"` // Bool, true if the branch has been merged into its parent. Merged pulumi.BoolOutput `pulumi:"merged"` // The name for this branch. @@ -332,8 +324,8 @@ func (o BranchOutput) DeveloperCanPush() pulumi.BoolOutput { } // Indicates whether the branch is kept once the resource destroyed (must be applied before a destroy). -func (o BranchOutput) KeepOnDestroy() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *Branch) pulumi.BoolPtrOutput { return v.KeepOnDestroy }).(pulumi.BoolPtrOutput) +func (o BranchOutput) KeepOnDestroy() pulumi.BoolOutput { + return o.ApplyT(func(v *Branch) pulumi.BoolOutput { return v.KeepOnDestroy }).(pulumi.BoolOutput) } // Bool, true if the branch has been merged into its parent. diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/branchProtection.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/branchProtection.go similarity index 89% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/branchProtection.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/branchProtection.go index 9a39b3fb7..5d7c9e539 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/branchProtection.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/branchProtection.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,29 +8,33 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// ## Example Usage +// The `BranchProtection` resource manages the lifecycle of a protected branch of a repository. // -// ## Import +// > **Branch Protection Behavior for the default branch** // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_branch_protection`. For example: +// Depending on the GitLab instance, group or project setting the default branch of a project is created automatically by GitLab behind the scenes. +// Due to some [limitations](https://discuss.hashicorp.com/t/ignore-the-order-of-a-complex-typed-list/42242) in the Terraform Provider SDK and the GitLab API, +// when creating a new project and trying to manage the branch protection setting for its default branch the `BranchProtection` resource will +// automatically take ownership of the default branch without an explicit import by unprotecting and properly protecting it again. +// Having multiple `BranchProtection` resources for the same project and default branch will result in them overriding each other - make sure to only have a single one. // -// terraform +// > The `allowedToPush`, `allowedToMerge`, `allowedToUnprotect`, `unprotectAccessLevel` and `codeOwnerApprovalRequired` attributes require a GitLab Enterprise instance. // -// import { +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/protected_branches/) // -// to = gitlab_branch_protection.example +// ## Example Usage // -// id = "see CLI command below for ID" +// ## Import // -// } +// Starting in Terraform v1.5.0, you can use an import block to import `BranchProtection`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// Gitlab protected branches can be imported with a key composed of `:`, e.g. +// Gitlab protected branches can be imported with a key composed of `:`, for example: // // ```sh // $ pulumi import gitlab:index/branchProtection:BranchProtection BranchProtect "12345:main" @@ -52,11 +56,11 @@ type BranchProtection struct { BranchProtectionId pulumi.IntOutput `pulumi:"branchProtectionId"` // Can be set to true to require code owner approval before merging. Only available for Premium and Ultimate instances. CodeOwnerApprovalRequired pulumi.BoolOutput `pulumi:"codeOwnerApprovalRequired"` - // Access levels allowed to merge. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to merge. Valid values are: `no one`, `developer`, `maintainer`, `admin`. MergeAccessLevel pulumi.StringOutput `pulumi:"mergeAccessLevel"` // The id of the project. Project pulumi.StringOutput `pulumi:"project"` - // Access levels allowed to push. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to push. Valid values are: `no one`, `developer`, `maintainer`, `admin`. PushAccessLevel pulumi.StringOutput `pulumi:"pushAccessLevel"` // Access levels allowed to unprotect. Valid values are: `developer`, `maintainer`, `admin`. UnprotectAccessLevel pulumi.StringOutput `pulumi:"unprotectAccessLevel"` @@ -112,11 +116,11 @@ type branchProtectionState struct { BranchProtectionId *int `pulumi:"branchProtectionId"` // Can be set to true to require code owner approval before merging. Only available for Premium and Ultimate instances. CodeOwnerApprovalRequired *bool `pulumi:"codeOwnerApprovalRequired"` - // Access levels allowed to merge. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to merge. Valid values are: `no one`, `developer`, `maintainer`, `admin`. MergeAccessLevel *string `pulumi:"mergeAccessLevel"` // The id of the project. Project *string `pulumi:"project"` - // Access levels allowed to push. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to push. Valid values are: `no one`, `developer`, `maintainer`, `admin`. PushAccessLevel *string `pulumi:"pushAccessLevel"` // Access levels allowed to unprotect. Valid values are: `developer`, `maintainer`, `admin`. UnprotectAccessLevel *string `pulumi:"unprotectAccessLevel"` @@ -137,11 +141,11 @@ type BranchProtectionState struct { BranchProtectionId pulumi.IntPtrInput // Can be set to true to require code owner approval before merging. Only available for Premium and Ultimate instances. CodeOwnerApprovalRequired pulumi.BoolPtrInput - // Access levels allowed to merge. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to merge. Valid values are: `no one`, `developer`, `maintainer`, `admin`. MergeAccessLevel pulumi.StringPtrInput // The id of the project. Project pulumi.StringPtrInput - // Access levels allowed to push. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to push. Valid values are: `no one`, `developer`, `maintainer`, `admin`. PushAccessLevel pulumi.StringPtrInput // Access levels allowed to unprotect. Valid values are: `developer`, `maintainer`, `admin`. UnprotectAccessLevel pulumi.StringPtrInput @@ -164,11 +168,11 @@ type branchProtectionArgs struct { Branch string `pulumi:"branch"` // Can be set to true to require code owner approval before merging. Only available for Premium and Ultimate instances. CodeOwnerApprovalRequired *bool `pulumi:"codeOwnerApprovalRequired"` - // Access levels allowed to merge. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to merge. Valid values are: `no one`, `developer`, `maintainer`, `admin`. MergeAccessLevel *string `pulumi:"mergeAccessLevel"` // The id of the project. Project string `pulumi:"project"` - // Access levels allowed to push. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to push. Valid values are: `no one`, `developer`, `maintainer`, `admin`. PushAccessLevel *string `pulumi:"pushAccessLevel"` // Access levels allowed to unprotect. Valid values are: `developer`, `maintainer`, `admin`. UnprotectAccessLevel *string `pulumi:"unprotectAccessLevel"` @@ -188,11 +192,11 @@ type BranchProtectionArgs struct { Branch pulumi.StringInput // Can be set to true to require code owner approval before merging. Only available for Premium and Ultimate instances. CodeOwnerApprovalRequired pulumi.BoolPtrInput - // Access levels allowed to merge. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to merge. Valid values are: `no one`, `developer`, `maintainer`, `admin`. MergeAccessLevel pulumi.StringPtrInput // The id of the project. Project pulumi.StringInput - // Access levels allowed to push. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to push. Valid values are: `no one`, `developer`, `maintainer`, `admin`. PushAccessLevel pulumi.StringPtrInput // Access levels allowed to unprotect. Valid values are: `developer`, `maintainer`, `admin`. UnprotectAccessLevel pulumi.StringPtrInput @@ -320,7 +324,7 @@ func (o BranchProtectionOutput) CodeOwnerApprovalRequired() pulumi.BoolOutput { return o.ApplyT(func(v *BranchProtection) pulumi.BoolOutput { return v.CodeOwnerApprovalRequired }).(pulumi.BoolOutput) } -// Access levels allowed to merge. Valid values are: `no one`, `developer`, `maintainer`. +// Access levels allowed to merge. Valid values are: `no one`, `developer`, `maintainer`, `admin`. func (o BranchProtectionOutput) MergeAccessLevel() pulumi.StringOutput { return o.ApplyT(func(v *BranchProtection) pulumi.StringOutput { return v.MergeAccessLevel }).(pulumi.StringOutput) } @@ -330,7 +334,7 @@ func (o BranchProtectionOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v *BranchProtection) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) } -// Access levels allowed to push. Valid values are: `no one`, `developer`, `maintainer`. +// Access levels allowed to push. Valid values are: `no one`, `developer`, `maintainer`, `admin`. func (o BranchProtectionOutput) PushAccessLevel() pulumi.StringOutput { return o.ApplyT(func(v *BranchProtection) pulumi.StringOutput { return v.PushAccessLevel }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/clusterAgent.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/clusterAgent.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/clusterAgent.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/clusterAgent.go index d29c53b7e..58c9c9ad4 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/clusterAgent.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/clusterAgent.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ClusterAgent` resource allows to manage the lifecycle of a GitLab Agent for Kubernetes. +// The `ClusterAgent` resource manages the lifecycle of a GitLab Agent for Kubernetes. // // > Note that this resource only registers the agent, but doesn't configure it. // @@ -33,7 +33,7 @@ import ( // // "fmt" // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi-std/sdk/go/std" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // @@ -62,6 +62,7 @@ import ( // FilePath: example.Name.ApplyT(func(name string) (string, error) { // return fmt.Sprintf(".gitlab/agents/%v/config.yaml", name), nil // }).(pulumi.StringOutput), +// Encoding: pulumi.String("base64"), // Content: pulumi.String(invokeBase64encode.Result), // AuthorEmail: pulumi.String("terraform@example.com"), // AuthorName: pulumi.String("Terraform"), @@ -80,19 +81,9 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_cluster_agent`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ClusterAgent`. For example: // -// terraform -// -// import { -// -// to = gitlab_cluster_agent.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // // GitLab Agent for Kubernetes can be imported with the following command and the id pattern `:` // diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/clusterAgentToken.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/clusterAgentToken.go similarity index 93% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/clusterAgentToken.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/clusterAgentToken.go index 3c7ca7310..10771a9ca 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/clusterAgentToken.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/clusterAgentToken.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ClusterAgentToken` resource allows to manage the lifecycle of a token for a GitLab Agent for Kubernetes. +// The `ClusterAgentToken` resource manages the lifecycle of a token for a GitLab Agent for Kubernetes. // // > Requires at least maintainer permissions on the project. // @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi-helm/sdk/go/helm" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // @@ -46,21 +46,21 @@ import ( // // The following example creates a GitLab Agent for Kubernetes in a given project, // // creates a token and install the `gitlab-agent` Helm Chart. // // (see https://gitlab.com/gitlab-org/charts/gitlab-agent) -// this, err := gitlab.LookupProject(ctx, &gitlab.LookupProjectArgs{ +// this, err := gitlab.GetProject(ctx, &gitlab.LookupProjectArgs{ // PathWithNamespace: pulumi.StringRef("my-org/example"), // }, nil) // if err != nil { // return err // } // thisClusterAgent, err := gitlab.NewClusterAgent(ctx, "this", &gitlab.ClusterAgentArgs{ -// Project: pulumi.String(this.Id), +// Project: pulumi.String(pulumi.String(this.Id)), // Name: pulumi.String("my-agent"), // }) // if err != nil { // return err // } // thisClusterAgentToken, err := gitlab.NewClusterAgentToken(ctx, "this", &gitlab.ClusterAgentTokenArgs{ -// Project: pulumi.String(this.Id), +// Project: pulumi.String(pulumi.String(this.Id)), // AgentId: thisClusterAgent.AgentId, // Name: pulumi.String("my-agent-token"), // Description: pulumi.String("Token for the my-agent used with `gitlab-agent` Helm Chart"), @@ -93,19 +93,9 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_cluster_agent_token`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ClusterAgentToken`. For example: // -// terraform -// -// import { -// -// to = gitlab_cluster_agent_token.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // // A token for a GitLab Agent for Kubernetes can be imported with the following command and the id pattern `::`: // @@ -124,7 +114,7 @@ type ClusterAgentToken struct { // The ID of the user who created the agent. CreatedByUserId pulumi.IntOutput `pulumi:"createdByUserId"` // The Description for the agent. - Description pulumi.StringPtrOutput `pulumi:"description"` + Description pulumi.StringOutput `pulumi:"description"` // The ISO8601 datetime when the token was last used. LastUsedAt pulumi.StringOutput `pulumi:"lastUsedAt"` // The Name of the agent. @@ -354,8 +344,8 @@ func (o ClusterAgentTokenOutput) CreatedByUserId() pulumi.IntOutput { } // The Description for the agent. -func (o ClusterAgentTokenOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterAgentToken) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +func (o ClusterAgentTokenOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *ClusterAgentToken) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } // The ISO8601 datetime when the token was last used. diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/complianceFramework.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/complianceFramework.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/complianceFramework.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/complianceFramework.go index 6ba9b6aa3..895c7eec9 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/complianceFramework.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/complianceFramework.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ComplianceFramework` resource allows to manage the lifecycle of a compliance framework on top-level groups. +// The `ComplianceFramework` resource manages the lifecycle of a compliance framework on top-level groups. // // There can be only one `default` compliance framework. Of all the configured compliance frameworks marked as default, the last one applied will be the default compliance framework. // @@ -29,7 +29,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -55,21 +55,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_compliance_framework`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ComplianceFramework`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_compliance_framework.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// Gitlab compliance frameworks can be imported with a key composed of `:`, e.g. +// Gitlab compliance frameworks can be imported with a key composed of `:`, for example: // // ```sh // $ pulumi import gitlab:index/complianceFramework:ComplianceFramework sample "top-level-group:gid://gitlab/ComplianceManagement::Framework/12345" diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/deployKey.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/deployKey.go similarity index 83% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/deployKey.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/deployKey.go index 0191a1ebf..2c6d51c26 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/deployKey.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/deployKey.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `DeployKey` resource allows to manage the lifecycle of a deploy key. +// The `DeployKey` resource manages the lifecycle of a project deploy key. // // > To enable an already existing deploy key for another project use the `DeployKeyEnable` resource. // @@ -25,13 +25,14 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // No expiry // _, err := gitlab.NewDeployKey(ctx, "example", &gitlab.DeployKeyArgs{ // Project: pulumi.String("example/deploying"), // Title: pulumi.String("Example deploy key"), @@ -40,6 +41,16 @@ import ( // if err != nil { // return err // } +// // With expiry +// _, err = gitlab.NewDeployKey(ctx, "example_expires", &gitlab.DeployKeyArgs{ +// Project: pulumi.String("example/deploying"), +// Title: pulumi.String("Example deploy key"), +// Key: pulumi.String("ssh-ed25519 AAAA..."), +// ExpiresAt: pulumi.String("2025-01-21T00:00:00Z"), +// }) +// if err != nil { +// return err +// } // return nil // }) // } @@ -48,31 +59,16 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_deploy_key`. For example: -// -// terraform -// -// import { -// -// to = gitlab_deploy_key.example -// -// id = "see CLI command below for ID" +// Starting in Terraform v1.5.0, you can use an import block to import `DeployKey`. For example: // -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab deploy keys can be imported using an id made up of `{project_id}:{deploy_key_id}`, e.g. -// -// `project_id` can be whatever the [get single project api][get_single_project] takes for +// Importing using the CLI is supported with the following syntax: // +// GitLab deploy keys can be imported using an id made up of `{project_id}:{deploy_key_id}`, for example: +// `projectId` can be whatever the [get single project api][getSingleProject] takes for // its `:id` value, so for example: // // ```sh // $ pulumi import gitlab:index/deployKey:DeployKey test 1:3 -// ``` -// -// ```sh // $ pulumi import gitlab:index/deployKey:DeployKey test richardc/example:3 // ``` type DeployKey struct { @@ -82,6 +78,8 @@ type DeployKey struct { CanPush pulumi.BoolPtrOutput `pulumi:"canPush"` // The id of the project deploy key. DeployKeyId pulumi.IntOutput `pulumi:"deployKeyId"` + // Expiration date for the deploy key. Does not expire if no value is provided. Expected in RFC3339 format `(2019-03-15T08:00:00Z)` + ExpiresAt pulumi.StringPtrOutput `pulumi:"expiresAt"` // The public ssh key body. Key pulumi.StringOutput `pulumi:"key"` // The name or id of the project to add the deploy key to. @@ -133,6 +131,8 @@ type deployKeyState struct { CanPush *bool `pulumi:"canPush"` // The id of the project deploy key. DeployKeyId *int `pulumi:"deployKeyId"` + // Expiration date for the deploy key. Does not expire if no value is provided. Expected in RFC3339 format `(2019-03-15T08:00:00Z)` + ExpiresAt *string `pulumi:"expiresAt"` // The public ssh key body. Key *string `pulumi:"key"` // The name or id of the project to add the deploy key to. @@ -146,6 +146,8 @@ type DeployKeyState struct { CanPush pulumi.BoolPtrInput // The id of the project deploy key. DeployKeyId pulumi.IntPtrInput + // Expiration date for the deploy key. Does not expire if no value is provided. Expected in RFC3339 format `(2019-03-15T08:00:00Z)` + ExpiresAt pulumi.StringPtrInput // The public ssh key body. Key pulumi.StringPtrInput // The name or id of the project to add the deploy key to. @@ -161,6 +163,8 @@ func (DeployKeyState) ElementType() reflect.Type { type deployKeyArgs struct { // Allow this deploy key to be used to push changes to the project. Defaults to `false`. CanPush *bool `pulumi:"canPush"` + // Expiration date for the deploy key. Does not expire if no value is provided. Expected in RFC3339 format `(2019-03-15T08:00:00Z)` + ExpiresAt *string `pulumi:"expiresAt"` // The public ssh key body. Key string `pulumi:"key"` // The name or id of the project to add the deploy key to. @@ -173,6 +177,8 @@ type deployKeyArgs struct { type DeployKeyArgs struct { // Allow this deploy key to be used to push changes to the project. Defaults to `false`. CanPush pulumi.BoolPtrInput + // Expiration date for the deploy key. Does not expire if no value is provided. Expected in RFC3339 format `(2019-03-15T08:00:00Z)` + ExpiresAt pulumi.StringPtrInput // The public ssh key body. Key pulumi.StringInput // The name or id of the project to add the deploy key to. @@ -278,6 +284,11 @@ func (o DeployKeyOutput) DeployKeyId() pulumi.IntOutput { return o.ApplyT(func(v *DeployKey) pulumi.IntOutput { return v.DeployKeyId }).(pulumi.IntOutput) } +// Expiration date for the deploy key. Does not expire if no value is provided. Expected in RFC3339 format `(2019-03-15T08:00:00Z)` +func (o DeployKeyOutput) ExpiresAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeployKey) pulumi.StringPtrOutput { return v.ExpiresAt }).(pulumi.StringPtrOutput) +} + // The public ssh key body. func (o DeployKeyOutput) Key() pulumi.StringOutput { return o.ApplyT(func(v *DeployKey) pulumi.StringOutput { return v.Key }).(pulumi.StringOutput) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/deployKeyEnable.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/deployKeyEnable.go similarity index 91% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/deployKeyEnable.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/deployKeyEnable.go index ed59806da..1a0a125ba 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/deployKeyEnable.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/deployKeyEnable.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -69,38 +69,23 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_deploy_key_enable`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `DeployKeyEnable`. For example: // -// terraform -// -// import { -// -// to = gitlab_deploy_key_enable.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab enabled deploy keys can be imported using an id made up of `{project_id}:{deploy_key_id}`, e.g. -// -// `project_id` can be whatever the [get single project api][get_single_project] takes for +// Importing using the CLI is supported with the following syntax: // +// GitLab enabled deploy keys can be imported using an id made up of `{project_id}:{deploy_key_id}`, for example: +// `projectId` can be whatever the [get single project api][getSingleProject] takes for // its `:id` value, so for example: // // ```sh // $ pulumi import gitlab:index/deployKeyEnable:DeployKeyEnable example 12345:67890 -// ``` -// -// ```sh // $ pulumi import gitlab:index/deployKeyEnable:DeployKeyEnable example richardc/example:67890 // ``` type DeployKeyEnable struct { pulumi.CustomResourceState // Can deploy key push to the project's repository. - CanPush pulumi.BoolPtrOutput `pulumi:"canPush"` + CanPush pulumi.BoolOutput `pulumi:"canPush"` // Deploy key. Key pulumi.StringOutput `pulumi:"key"` // The Gitlab key id for the pre-existing deploy key @@ -179,28 +164,20 @@ func (DeployKeyEnableState) ElementType() reflect.Type { type deployKeyEnableArgs struct { // Can deploy key push to the project's repository. CanPush *bool `pulumi:"canPush"` - // Deploy key. - Key *string `pulumi:"key"` // The Gitlab key id for the pre-existing deploy key KeyId string `pulumi:"keyId"` // The name or id of the project to add the deploy key to. Project string `pulumi:"project"` - // Deploy key's title. - Title *string `pulumi:"title"` } // The set of arguments for constructing a DeployKeyEnable resource. type DeployKeyEnableArgs struct { // Can deploy key push to the project's repository. CanPush pulumi.BoolPtrInput - // Deploy key. - Key pulumi.StringPtrInput // The Gitlab key id for the pre-existing deploy key KeyId pulumi.StringInput // The name or id of the project to add the deploy key to. Project pulumi.StringInput - // Deploy key's title. - Title pulumi.StringPtrInput } func (DeployKeyEnableArgs) ElementType() reflect.Type { @@ -291,8 +268,8 @@ func (o DeployKeyEnableOutput) ToDeployKeyEnableOutputWithContext(ctx context.Co } // Can deploy key push to the project's repository. -func (o DeployKeyEnableOutput) CanPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *DeployKeyEnable) pulumi.BoolPtrOutput { return v.CanPush }).(pulumi.BoolPtrOutput) +func (o DeployKeyEnableOutput) CanPush() pulumi.BoolOutput { + return o.ApplyT(func(v *DeployKeyEnable) pulumi.BoolOutput { return v.CanPush }).(pulumi.BoolOutput) } // Deploy key. diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/deployToken.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/deployToken.go similarity index 88% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/deployToken.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/deployToken.go index 85faf5ba2..34edc8ba4 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/deployToken.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/deployToken.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,37 +8,26 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `DeployToken` resource allows to manage the lifecycle of group and project deploy tokens. +// The `DeployToken` resource manages the lifecycle of group and project deploy tokens. +// +// > This resource is deprecated and will be removed in 19.0. Use `ProjectDeployToken` or `GroupDeployToken` instead! // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/deploy_tokens/) // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_deploy_token`. For example: -// -// terraform -// -// import { -// -// to = gitlab_deploy_token.example -// -// id = "see CLI command below for ID" +// Starting in Terraform v1.5.0, you can use an import block to import `DeployToken`. For example: // -// } -// -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // // GitLab deploy tokens can be imported using an id made up of `{type}:{type_id}:{deploy_token_id}`, where type is one of: project, group. // // ```sh // $ pulumi import gitlab:index/deployToken:DeployToken group_token group:1:3 -// ``` -// -// ```sh // $ pulumi import gitlab:index/deployToken:DeployToken project_token project:1:4 // ``` // @@ -56,7 +45,7 @@ type DeployToken struct { Name pulumi.StringOutput `pulumi:"name"` // The name or id of the project to add the deploy token to. Project pulumi.StringPtrOutput `pulumi:"project"` - // Valid values: `readRepository`, `readRegistry`, `readPackageRegistry`, `writeRegistry`, `writePackageRegistry`. + // The scopes of the deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` Scopes pulumi.StringArrayOutput `pulumi:"scopes"` // The secret token. This is only populated when creating a new deploy token. **Note**: The token is not available for imported resources. Token pulumi.StringOutput `pulumi:"token"` @@ -111,7 +100,7 @@ type deployTokenState struct { Name *string `pulumi:"name"` // The name or id of the project to add the deploy token to. Project *string `pulumi:"project"` - // Valid values: `readRepository`, `readRegistry`, `readPackageRegistry`, `writeRegistry`, `writePackageRegistry`. + // The scopes of the deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` Scopes []string `pulumi:"scopes"` // The secret token. This is only populated when creating a new deploy token. **Note**: The token is not available for imported resources. Token *string `pulumi:"token"` @@ -130,7 +119,7 @@ type DeployTokenState struct { Name pulumi.StringPtrInput // The name or id of the project to add the deploy token to. Project pulumi.StringPtrInput - // Valid values: `readRepository`, `readRegistry`, `readPackageRegistry`, `writeRegistry`, `writePackageRegistry`. + // The scopes of the deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` Scopes pulumi.StringArrayInput // The secret token. This is only populated when creating a new deploy token. **Note**: The token is not available for imported resources. Token pulumi.StringPtrInput @@ -151,7 +140,7 @@ type deployTokenArgs struct { Name *string `pulumi:"name"` // The name or id of the project to add the deploy token to. Project *string `pulumi:"project"` - // Valid values: `readRepository`, `readRegistry`, `readPackageRegistry`, `writeRegistry`, `writePackageRegistry`. + // The scopes of the deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` Scopes []string `pulumi:"scopes"` // A username for the deploy token. Default is `gitlab+deploy-token-{n}`. Username *string `pulumi:"username"` @@ -167,7 +156,7 @@ type DeployTokenArgs struct { Name pulumi.StringPtrInput // The name or id of the project to add the deploy token to. Project pulumi.StringPtrInput - // Valid values: `readRepository`, `readRegistry`, `readPackageRegistry`, `writeRegistry`, `writePackageRegistry`. + // The scopes of the deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` Scopes pulumi.StringArrayInput // A username for the deploy token. Default is `gitlab+deploy-token-{n}`. Username pulumi.StringPtrInput @@ -285,7 +274,7 @@ func (o DeployTokenOutput) Project() pulumi.StringPtrOutput { return o.ApplyT(func(v *DeployToken) pulumi.StringPtrOutput { return v.Project }).(pulumi.StringPtrOutput) } -// Valid values: `readRepository`, `readRegistry`, `readPackageRegistry`, `writeRegistry`, `writePackageRegistry`. +// The scopes of the deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` func (o DeployTokenOutput) Scopes() pulumi.StringArrayOutput { return o.ApplyT(func(v *DeployToken) pulumi.StringArrayOutput { return v.Scopes }).(pulumi.StringArrayOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/doc.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/doc.go similarity index 100% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/doc.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/doc.go diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getApplication.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getApplication.go similarity index 80% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getApplication.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getApplication.go index e5c57d912..23de95056 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getApplication.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getApplication.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,13 +7,39 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) // The `Application` data source retrieves information about a gitlab application. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/applications/) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.GetApplication(ctx, &gitlab.LookupApplicationArgs{ +// Id: "1", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` func LookupApplication(ctx *pulumi.Context, args *LookupApplicationArgs, opts ...pulumi.InvokeOption) (*LookupApplicationResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupApplicationResult @@ -26,6 +52,7 @@ func LookupApplication(ctx *pulumi.Context, args *LookupApplicationArgs, opts .. // A collection of arguments for invoking getApplication. type LookupApplicationArgs struct { + // The ID of this Terraform resource. In the format of ``. Id string `pulumi:"id"` } @@ -34,8 +61,9 @@ type LookupApplicationResult struct { // Internal GitLab application id. ApplicationId string `pulumi:"applicationId"` // Indicates if the application is kept confidential. - Confidential bool `pulumi:"confidential"` - Id string `pulumi:"id"` + Confidential bool `pulumi:"confidential"` + // The ID of this Terraform resource. In the format of ``. + Id string `pulumi:"id"` // The name of the GitLab application. Name string `pulumi:"name"` // The redirect url of the application. @@ -53,6 +81,7 @@ func LookupApplicationOutput(ctx *pulumi.Context, args LookupApplicationOutputAr // A collection of arguments for invoking getApplication. type LookupApplicationOutputArgs struct { + // The ID of this Terraform resource. In the format of ``. Id pulumi.StringInput `pulumi:"id"` } @@ -85,6 +114,7 @@ func (o LookupApplicationResultOutput) Confidential() pulumi.BoolOutput { return o.ApplyT(func(v LookupApplicationResult) bool { return v.Confidential }).(pulumi.BoolOutput) } +// The ID of this Terraform resource. In the format of ``. func (o LookupApplicationResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupApplicationResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getArtifactFile.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getArtifactFile.go new file mode 100644 index 000000000..8dc88f1fc --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getArtifactFile.go @@ -0,0 +1,207 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `getArtifactFile` data source allows downloading a single artifact file from a specific job in the latest successful pipeline for a given reference (branch, tag, or commit). +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/job_artifacts/#download-a-single-artifact-file-by-reference-name) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// // Download a text artifact file from the latest successful pipeline +// config, err := gitlab.GetArtifactFile(ctx, &gitlab.GetArtifactFileArgs{ +// Project: "namespace/myproject", +// Job: "build-job", +// Ref: "main", +// ArtifactPath: "config/settings.json", +// }, nil) +// if err != nil { +// return err +// } +// ctx.Export("configContent", config.Content) +// // Download a binary artifact file using base64 encoding +// binary, err := gitlab.GetArtifactFile(ctx, &gitlab.GetArtifactFileArgs{ +// Project: "namespace/myproject", +// Job: "build-job", +// Ref: "v1.0.0", +// ArtifactPath: "dist/app.zip", +// }, nil) +// if err != nil { +// return err +// } +// ctx.Export("binaryContentBase64", binary.ContentBase64) +// // Download artifact from a specific tag +// _, err = gitlab.GetArtifactFile(ctx, &gitlab.GetArtifactFileArgs{ +// Project: "12345", +// Job: "release-job", +// Ref: "v2.1.0", +// ArtifactPath: "release-notes.txt", +// }, nil) +// if err != nil { +// return err +// } +// // Download a larger artifact with custom size limit +// _, err = gitlab.GetArtifactFile(ctx, &gitlab.GetArtifactFileArgs{ +// Project: "namespace/myproject", +// Job: "build-job", +// Ref: "main", +// ArtifactPath: "dist/large-file.zip", +// MaxSizeBytes: pulumi.IntRef(20971520), +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetArtifactFile(ctx *pulumi.Context, args *GetArtifactFileArgs, opts ...pulumi.InvokeOption) (*GetArtifactFileResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetArtifactFileResult + err := ctx.Invoke("gitlab:index/getArtifactFile:getArtifactFile", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getArtifactFile. +type GetArtifactFileArgs struct { + // Path to the artifact file within the job's artifacts archive. This path is relative to the archive contents (not the local filesystem). Ensure each `getArtifactFile` data source in your configuration uses a unique artifactPath to avoid ambiguity. + ArtifactPath string `pulumi:"artifactPath"` + // The name of the job. + Job string `pulumi:"job"` + // Maximum bytes to read from the artifact. Defaults to 10MB (10485760 bytes). + MaxSizeBytes *int `pulumi:"maxSizeBytes"` + // The ID or URL-encoded path of the project. + Project string `pulumi:"project"` + // The name of the branch, tag, or commit SHA. + Ref string `pulumi:"ref"` +} + +// A collection of values returned by getArtifactFile. +type GetArtifactFileResult struct { + // Path to the artifact file within the job's artifacts archive. This path is relative to the archive contents (not the local filesystem). Ensure each `getArtifactFile` data source in your configuration uses a unique artifactPath to avoid ambiguity. + ArtifactPath string `pulumi:"artifactPath"` + // The content of the artifact file as a UTF-8 string. Use `contentBase64` for binary files. + Content string `pulumi:"content"` + // The content of the artifact file as a base64-encoded string. Useful for binary files. + ContentBase64 string `pulumi:"contentBase64"` + // The ID of this datasource. In the format `:::`. + Id string `pulumi:"id"` + // The name of the job. + Job string `pulumi:"job"` + // Maximum bytes to read from the artifact. Defaults to 10MB (10485760 bytes). + MaxSizeBytes *int `pulumi:"maxSizeBytes"` + // The ID or URL-encoded path of the project. + Project string `pulumi:"project"` + // The name of the branch, tag, or commit SHA. + Ref string `pulumi:"ref"` +} + +func GetArtifactFileOutput(ctx *pulumi.Context, args GetArtifactFileOutputArgs, opts ...pulumi.InvokeOption) GetArtifactFileResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetArtifactFileResultOutput, error) { + args := v.(GetArtifactFileArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("gitlab:index/getArtifactFile:getArtifactFile", args, GetArtifactFileResultOutput{}, options).(GetArtifactFileResultOutput), nil + }).(GetArtifactFileResultOutput) +} + +// A collection of arguments for invoking getArtifactFile. +type GetArtifactFileOutputArgs struct { + // Path to the artifact file within the job's artifacts archive. This path is relative to the archive contents (not the local filesystem). Ensure each `getArtifactFile` data source in your configuration uses a unique artifactPath to avoid ambiguity. + ArtifactPath pulumi.StringInput `pulumi:"artifactPath"` + // The name of the job. + Job pulumi.StringInput `pulumi:"job"` + // Maximum bytes to read from the artifact. Defaults to 10MB (10485760 bytes). + MaxSizeBytes pulumi.IntPtrInput `pulumi:"maxSizeBytes"` + // The ID or URL-encoded path of the project. + Project pulumi.StringInput `pulumi:"project"` + // The name of the branch, tag, or commit SHA. + Ref pulumi.StringInput `pulumi:"ref"` +} + +func (GetArtifactFileOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetArtifactFileArgs)(nil)).Elem() +} + +// A collection of values returned by getArtifactFile. +type GetArtifactFileResultOutput struct{ *pulumi.OutputState } + +func (GetArtifactFileResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetArtifactFileResult)(nil)).Elem() +} + +func (o GetArtifactFileResultOutput) ToGetArtifactFileResultOutput() GetArtifactFileResultOutput { + return o +} + +func (o GetArtifactFileResultOutput) ToGetArtifactFileResultOutputWithContext(ctx context.Context) GetArtifactFileResultOutput { + return o +} + +// Path to the artifact file within the job's artifacts archive. This path is relative to the archive contents (not the local filesystem). Ensure each `getArtifactFile` data source in your configuration uses a unique artifactPath to avoid ambiguity. +func (o GetArtifactFileResultOutput) ArtifactPath() pulumi.StringOutput { + return o.ApplyT(func(v GetArtifactFileResult) string { return v.ArtifactPath }).(pulumi.StringOutput) +} + +// The content of the artifact file as a UTF-8 string. Use `contentBase64` for binary files. +func (o GetArtifactFileResultOutput) Content() pulumi.StringOutput { + return o.ApplyT(func(v GetArtifactFileResult) string { return v.Content }).(pulumi.StringOutput) +} + +// The content of the artifact file as a base64-encoded string. Useful for binary files. +func (o GetArtifactFileResultOutput) ContentBase64() pulumi.StringOutput { + return o.ApplyT(func(v GetArtifactFileResult) string { return v.ContentBase64 }).(pulumi.StringOutput) +} + +// The ID of this datasource. In the format `:::`. +func (o GetArtifactFileResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetArtifactFileResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The name of the job. +func (o GetArtifactFileResultOutput) Job() pulumi.StringOutput { + return o.ApplyT(func(v GetArtifactFileResult) string { return v.Job }).(pulumi.StringOutput) +} + +// Maximum bytes to read from the artifact. Defaults to 10MB (10485760 bytes). +func (o GetArtifactFileResultOutput) MaxSizeBytes() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetArtifactFileResult) *int { return v.MaxSizeBytes }).(pulumi.IntPtrOutput) +} + +// The ID or URL-encoded path of the project. +func (o GetArtifactFileResultOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v GetArtifactFileResult) string { return v.Project }).(pulumi.StringOutput) +} + +// The name of the branch, tag, or commit SHA. +func (o GetArtifactFileResultOutput) Ref() pulumi.StringOutput { + return o.ApplyT(func(v GetArtifactFileResult) string { return v.Ref }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetArtifactFileResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getBranch.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getBranch.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getBranch.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getBranch.go index 8ca8b99a8..5f13687d4 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getBranch.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getBranch.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -44,7 +44,7 @@ type LookupBranchResult struct { DeveloperCanMerge bool `pulumi:"developerCanMerge"` // Bool, true if developer level access allows git push. DeveloperCanPush bool `pulumi:"developerCanPush"` - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format ``. Id string `pulumi:"id"` // Bool, true if the branch has been merged into its parent. Merged bool `pulumi:"merged"` @@ -119,7 +119,7 @@ func (o LookupBranchResultOutput) DeveloperCanPush() pulumi.BoolOutput { return o.ApplyT(func(v LookupBranchResult) bool { return v.DeveloperCanPush }).(pulumi.BoolOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format ``. func (o LookupBranchResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupBranchResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getClusterAgent.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getClusterAgent.go similarity index 90% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getClusterAgent.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getClusterAgent.go index 316871865..e9f9c24fa 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getClusterAgent.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getClusterAgent.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,11 +7,11 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ClusterAgent` data source allows to retrieve details about a GitLab Agent for Kubernetes. +// The `ClusterAgent` data source retrieves details about a GitLab Agent for Kubernetes. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/cluster_agents/) // @@ -22,14 +22,14 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := gitlab.LookupClusterAgent(ctx, &gitlab.LookupClusterAgentArgs{ +// _, err := gitlab.GetClusterAgent(ctx, &gitlab.LookupClusterAgentArgs{ // Project: "12345", // AgentId: 1, // }, nil) @@ -67,7 +67,7 @@ type LookupClusterAgentResult struct { CreatedAt string `pulumi:"createdAt"` // The ID of the user who created the agent. CreatedByUserId int `pulumi:"createdByUserId"` - // The provider-assigned unique ID for this managed resource. + // The ID of this data source. In the format project:agent_id Id string `pulumi:"id"` // The Name of the agent. Name string `pulumi:"name"` @@ -126,7 +126,7 @@ func (o LookupClusterAgentResultOutput) CreatedByUserId() pulumi.IntOutput { return o.ApplyT(func(v LookupClusterAgentResult) int { return v.CreatedByUserId }).(pulumi.IntOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this data source. In the format project:agent_id func (o LookupClusterAgentResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupClusterAgentResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getClusterAgents.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getClusterAgents.go similarity index 83% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getClusterAgents.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getClusterAgents.go index 4f334b7a1..393a01115 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getClusterAgents.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getClusterAgents.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,11 +7,11 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `getClusterAgents` data source allows details of GitLab Agents for Kubernetes in a project. +// The `getClusterAgents` data source retrieves details of GitLab Agents for Kubernetes in a project. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/cluster_agents/) // @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -52,7 +52,7 @@ func GetClusterAgents(ctx *pulumi.Context, args *GetClusterAgentsArgs, opts ...p // A collection of arguments for invoking getClusterAgents. type GetClusterAgentsArgs struct { - // The ID or full path of the project owned by the authenticated user. + // ID or full path of the project maintained by the authenticated user. Project string `pulumi:"project"` } @@ -60,9 +60,9 @@ type GetClusterAgentsArgs struct { type GetClusterAgentsResult struct { // List of the registered agents. ClusterAgents []GetClusterAgentsClusterAgent `pulumi:"clusterAgents"` - // The provider-assigned unique ID for this managed resource. + // The ID of this data source. In the format \n\n Id string `pulumi:"id"` - // The ID or full path of the project owned by the authenticated user. + // ID or full path of the project maintained by the authenticated user. Project string `pulumi:"project"` } @@ -77,7 +77,7 @@ func GetClusterAgentsOutput(ctx *pulumi.Context, args GetClusterAgentsOutputArgs // A collection of arguments for invoking getClusterAgents. type GetClusterAgentsOutputArgs struct { - // The ID or full path of the project owned by the authenticated user. + // ID or full path of the project maintained by the authenticated user. Project pulumi.StringInput `pulumi:"project"` } @@ -105,12 +105,12 @@ func (o GetClusterAgentsResultOutput) ClusterAgents() GetClusterAgentsClusterAge return o.ApplyT(func(v GetClusterAgentsResult) []GetClusterAgentsClusterAgent { return v.ClusterAgents }).(GetClusterAgentsClusterAgentArrayOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this data source. In the format \n\n func (o GetClusterAgentsResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetClusterAgentsResult) string { return v.Id }).(pulumi.StringOutput) } -// The ID or full path of the project owned by the authenticated user. +// ID or full path of the project maintained by the authenticated user. func (o GetClusterAgentsResultOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v GetClusterAgentsResult) string { return v.Project }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getComplianceFramework.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getComplianceFramework.go similarity index 93% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getComplianceFramework.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getComplianceFramework.go index 0b2df7bb0..f66a21601 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getComplianceFramework.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getComplianceFramework.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,14 +22,14 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := gitlab.LookupComplianceFramework(ctx, &gitlab.LookupComplianceFrameworkArgs{ +// _, err := gitlab.GetComplianceFramework(ctx, &gitlab.LookupComplianceFrameworkArgs{ // NamespacePath: "top-level-group", // Name: "HIPAA", // }, nil) @@ -69,7 +69,8 @@ type LookupComplianceFrameworkResult struct { Description string `pulumi:"description"` // Globally unique ID of the compliance framework. FrameworkId string `pulumi:"frameworkId"` - Id string `pulumi:"id"` + // The ID of this Terraform resource. In the format of `:`. + Id string `pulumi:"id"` // Name for the compliance framework. Name string `pulumi:"name"` // Full path of the namespace to where the compliance framework is. @@ -134,6 +135,7 @@ func (o LookupComplianceFrameworkResultOutput) FrameworkId() pulumi.StringOutput return o.ApplyT(func(v LookupComplianceFrameworkResult) string { return v.FrameworkId }).(pulumi.StringOutput) } +// The ID of this Terraform resource. In the format of `:`. func (o LookupComplianceFrameworkResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupComplianceFrameworkResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getCurrentUser.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getCurrentUser.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getCurrentUser.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getCurrentUser.go index 3f5a695a1..6e30a8e0b 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getCurrentUser.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getCurrentUser.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -64,7 +64,7 @@ type GetCurrentUserResult struct { Name string `pulumi:"name"` // Personal namespace of the user. NamespaceId string `pulumi:"namespaceId"` - // User’s public email. + // User's public email. PublicEmail string `pulumi:"publicEmail"` // Username of the user. Unique within this instance of GitLab. Username string `pulumi:"username"` @@ -127,7 +127,7 @@ func (o GetCurrentUserResultOutput) NamespaceId() pulumi.StringOutput { return o.ApplyT(func(v GetCurrentUserResult) string { return v.NamespaceId }).(pulumi.StringOutput) } -// User’s public email. +// User's public email. func (o GetCurrentUserResultOutput) PublicEmail() pulumi.StringOutput { return o.ApplyT(func(v GetCurrentUserResult) string { return v.PublicEmail }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroup.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroup.go similarity index 82% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroup.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroup.go index 195016ea4..d609855eb 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroup.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroup.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -40,7 +40,7 @@ type LookupGroupResult struct { DefaultBranchProtection int `pulumi:"defaultBranchProtection"` // The description of the group. Description string `pulumi:"description"` - // Can be set by administrators only. Additional CI/CD minutes for this group. + // Available in Self-Managed, Premium and Ultimate plans. Can be set by administrators only. Additional CI/CD minutes for this group. ExtraSharedRunnersMinutesLimit int `pulumi:"extraSharedRunnersMinutesLimit"` // The full name of the group. FullName string `pulumi:"fullName"` @@ -48,7 +48,7 @@ type LookupGroupResult struct { FullPath string `pulumi:"fullPath"` // The ID of the group. GroupId int `pulumi:"groupId"` - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format ``. Id string `pulumi:"id"` // Boolean, is LFS enabled for projects in this group. LfsEnabled bool `pulumi:"lfsEnabled"` @@ -62,13 +62,15 @@ type LookupGroupResult struct { Path string `pulumi:"path"` // When enabled, users can not fork projects from this group to external namespaces. PreventForkingOutsideGroup bool `pulumi:"preventForkingOutsideGroup"` + // When enabled, users cannot invite other groups outside of the top-level group’s hierarchy. This option is only available for top-level groups. + PreventSharingGroupsOutsideHierarchy bool `pulumi:"preventSharingGroupsOutsideHierarchy"` // Boolean, is request for access enabled to the group. RequestAccessEnabled bool `pulumi:"requestAccessEnabled"` // The group level registration token to use during runner setup. RunnersToken string `pulumi:"runnersToken"` - // Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0. + // Available in Self-Managed, Premium and Ultimate plans. Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0. SharedRunnersMinutesLimit int `pulumi:"sharedRunnersMinutesLimit"` - // Enable or disable shared runners for a group’s subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. + // Enable or disable shared runners for a group's subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. SharedRunnersSetting string `pulumi:"sharedRunnersSetting"` // Describes groups which have access shared to this group. SharedWithGroups []GetGroupSharedWithGroup `pulumi:"sharedWithGroups"` @@ -131,7 +133,7 @@ func (o LookupGroupResultOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v LookupGroupResult) string { return v.Description }).(pulumi.StringOutput) } -// Can be set by administrators only. Additional CI/CD minutes for this group. +// Available in Self-Managed, Premium and Ultimate plans. Can be set by administrators only. Additional CI/CD minutes for this group. func (o LookupGroupResultOutput) ExtraSharedRunnersMinutesLimit() pulumi.IntOutput { return o.ApplyT(func(v LookupGroupResult) int { return v.ExtraSharedRunnersMinutesLimit }).(pulumi.IntOutput) } @@ -151,7 +153,7 @@ func (o LookupGroupResultOutput) GroupId() pulumi.IntOutput { return o.ApplyT(func(v LookupGroupResult) int { return v.GroupId }).(pulumi.IntOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format ``. func (o LookupGroupResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupGroupResult) string { return v.Id }).(pulumi.StringOutput) } @@ -186,6 +188,11 @@ func (o LookupGroupResultOutput) PreventForkingOutsideGroup() pulumi.BoolOutput return o.ApplyT(func(v LookupGroupResult) bool { return v.PreventForkingOutsideGroup }).(pulumi.BoolOutput) } +// When enabled, users cannot invite other groups outside of the top-level group’s hierarchy. This option is only available for top-level groups. +func (o LookupGroupResultOutput) PreventSharingGroupsOutsideHierarchy() pulumi.BoolOutput { + return o.ApplyT(func(v LookupGroupResult) bool { return v.PreventSharingGroupsOutsideHierarchy }).(pulumi.BoolOutput) +} + // Boolean, is request for access enabled to the group. func (o LookupGroupResultOutput) RequestAccessEnabled() pulumi.BoolOutput { return o.ApplyT(func(v LookupGroupResult) bool { return v.RequestAccessEnabled }).(pulumi.BoolOutput) @@ -196,12 +203,12 @@ func (o LookupGroupResultOutput) RunnersToken() pulumi.StringOutput { return o.ApplyT(func(v LookupGroupResult) string { return v.RunnersToken }).(pulumi.StringOutput) } -// Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0. +// Available in Self-Managed, Premium and Ultimate plans. Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0. func (o LookupGroupResultOutput) SharedRunnersMinutesLimit() pulumi.IntOutput { return o.ApplyT(func(v LookupGroupResult) int { return v.SharedRunnersMinutesLimit }).(pulumi.IntOutput) } -// Enable or disable shared runners for a group’s subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. +// Enable or disable shared runners for a group's subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. func (o LookupGroupResultOutput) SharedRunnersSetting() pulumi.StringOutput { return o.ApplyT(func(v LookupGroupResult) string { return v.SharedRunnersSetting }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupAccessTokens.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupAccessTokens.go similarity index 93% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupAccessTokens.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupAccessTokens.go index 109b3648c..41bb6b76b 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupAccessTokens.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupAccessTokens.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -62,7 +62,8 @@ type GetGroupAccessTokensResult struct { AccessTokens []GetGroupAccessTokensAccessToken `pulumi:"accessTokens"` // The name or id of the group. Group string `pulumi:"group"` - Id string `pulumi:"id"` + // The ID of this Terraform resource. + Id string `pulumi:"id"` } func GetGroupAccessTokensOutput(ctx *pulumi.Context, args GetGroupAccessTokensOutputArgs, opts ...pulumi.InvokeOption) GetGroupAccessTokensResultOutput { @@ -109,6 +110,7 @@ func (o GetGroupAccessTokensResultOutput) Group() pulumi.StringOutput { return o.ApplyT(func(v GetGroupAccessTokensResult) string { return v.Group }).(pulumi.StringOutput) } +// The ID of this Terraform resource. func (o GetGroupAccessTokensResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetGroupAccessTokensResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupBillableMemberMemberships.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupBillableMemberMemberships.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupBillableMemberMemberships.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupBillableMemberMemberships.go index 7831a2afc..2561291ab 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupBillableMemberMemberships.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupBillableMemberMemberships.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -18,7 +18,7 @@ import ( // > When using the `email` attribute, an exact match is not guaranteed. The most related match will be returned. Starting with GitLab 16.6, // the most related match will prioritize an exact match if one is available. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/members/#list-memberships-for-a-billable-member-of-a-group) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_members/#list-all-billable-members-of-a-group) // // ## Example Usage // @@ -27,7 +27,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupHook.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupHook.go similarity index 85% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupHook.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupHook.go index 4d28f38cb..8881997f7 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupHook.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupHook.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,13 +7,15 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) // The `GroupHook` data source allows to retrieve details about a hook in a group. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_webhooks/#get-a-group-hook) +// +// ## Example Usage func LookupGroupHook(ctx *pulumi.Context, args *LookupGroupHookArgs, opts ...pulumi.InvokeOption) (*LookupGroupHookResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupGroupHookResult @@ -42,6 +44,8 @@ type LookupGroupHookResult struct { CustomWebhookTemplate string `pulumi:"customWebhookTemplate"` // Invoke the hook for deployment events. DeploymentEvents bool `pulumi:"deploymentEvents"` + // Invoke the hook for emoji events. + EmojiEvents bool `pulumi:"emojiEvents"` // Enable ssl verification when invoking the hook. EnableSslVerification bool `pulumi:"enableSslVerification"` // The ID or full path of the group. @@ -50,7 +54,7 @@ type LookupGroupHookResult struct { GroupId int `pulumi:"groupId"` // The id of the group hook. HookId int `pulumi:"hookId"` - // The provider-assigned unique ID for this managed resource. + // The ID of this data source. In the format ``. Id string `pulumi:"id"` // Invoke the hook for issues events. IssuesEvents bool `pulumi:"issuesEvents"` @@ -72,10 +76,14 @@ type LookupGroupHookResult struct { SubgroupEvents bool `pulumi:"subgroupEvents"` // Invoke the hook for tag push events. TagPushEvents bool `pulumi:"tagPushEvents"` - // A token to present when invoking the hook. The token is not available for imported resources. + // A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. + // + // Deprecated: The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. Token string `pulumi:"token"` // The url of the hook to invoke. Url string `pulumi:"url"` + // Invoke the hook for vulnerability events. + VulnerabilityEvents bool `pulumi:"vulnerabilityEvents"` // Invoke the hook for wiki page events. WikiPageEvents bool `pulumi:"wikiPageEvents"` } @@ -136,6 +144,11 @@ func (o LookupGroupHookResultOutput) DeploymentEvents() pulumi.BoolOutput { return o.ApplyT(func(v LookupGroupHookResult) bool { return v.DeploymentEvents }).(pulumi.BoolOutput) } +// Invoke the hook for emoji events. +func (o LookupGroupHookResultOutput) EmojiEvents() pulumi.BoolOutput { + return o.ApplyT(func(v LookupGroupHookResult) bool { return v.EmojiEvents }).(pulumi.BoolOutput) +} + // Enable ssl verification when invoking the hook. func (o LookupGroupHookResultOutput) EnableSslVerification() pulumi.BoolOutput { return o.ApplyT(func(v LookupGroupHookResult) bool { return v.EnableSslVerification }).(pulumi.BoolOutput) @@ -156,7 +169,7 @@ func (o LookupGroupHookResultOutput) HookId() pulumi.IntOutput { return o.ApplyT(func(v LookupGroupHookResult) int { return v.HookId }).(pulumi.IntOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this data source. In the format ``. func (o LookupGroupHookResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupGroupHookResult) string { return v.Id }).(pulumi.StringOutput) } @@ -211,7 +224,9 @@ func (o LookupGroupHookResultOutput) TagPushEvents() pulumi.BoolOutput { return o.ApplyT(func(v LookupGroupHookResult) bool { return v.TagPushEvents }).(pulumi.BoolOutput) } -// A token to present when invoking the hook. The token is not available for imported resources. +// A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. +// +// Deprecated: The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. func (o LookupGroupHookResultOutput) Token() pulumi.StringOutput { return o.ApplyT(func(v LookupGroupHookResult) string { return v.Token }).(pulumi.StringOutput) } @@ -221,6 +236,11 @@ func (o LookupGroupHookResultOutput) Url() pulumi.StringOutput { return o.ApplyT(func(v LookupGroupHookResult) string { return v.Url }).(pulumi.StringOutput) } +// Invoke the hook for vulnerability events. +func (o LookupGroupHookResultOutput) VulnerabilityEvents() pulumi.BoolOutput { + return o.ApplyT(func(v LookupGroupHookResult) bool { return v.VulnerabilityEvents }).(pulumi.BoolOutput) +} + // Invoke the hook for wiki page events. func (o LookupGroupHookResultOutput) WikiPageEvents() pulumi.BoolOutput { return o.ApplyT(func(v LookupGroupHookResult) bool { return v.WikiPageEvents }).(pulumi.BoolOutput) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupHooks.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupHooks.go similarity index 89% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupHooks.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupHooks.go index 9eb907fce..d1083358e 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupHooks.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupHooks.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,13 +7,15 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `getGroupHooks` data source allows to retrieve details about hooks in a group. +// The `getGroupHooks` data source retrieves details about hooks in a group. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_webhooks/#list-group-hooks) +// +// ## Example Usage func GetGroupHooks(ctx *pulumi.Context, args *GetGroupHooksArgs, opts ...pulumi.InvokeOption) (*GetGroupHooksResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv GetGroupHooksResult @@ -36,7 +38,7 @@ type GetGroupHooksResult struct { Group string `pulumi:"group"` // The list of hooks. Hooks []GetGroupHooksHook `pulumi:"hooks"` - // The provider-assigned unique ID for this managed resource. + // The ID of this data source. In the format ``. Id string `pulumi:"id"` } @@ -84,7 +86,7 @@ func (o GetGroupHooksResultOutput) Hooks() GetGroupHooksHookArrayOutput { return o.ApplyT(func(v GetGroupHooksResult) []GetGroupHooksHook { return v.Hooks }).(GetGroupHooksHookArrayOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this data source. In the format ``. func (o GetGroupHooksResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetGroupHooksResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupIds.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupIds.go similarity index 88% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupIds.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupIds.go index 8ce56c9dd..054ea10f3 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupIds.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupIds.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,14 +22,18 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := gitlab.NewGroup(ctx, "new_group", nil) +// _, err := gitlab.NewGroup(ctx, "new_group", &gitlab.GroupArgs{ +// Name: pulumi.String("example-group"), +// Path: pulumi.String("example-path"), +// Description: pulumi.String("This is an example group"), +// }) // if err != nil { // return err // } @@ -73,7 +77,8 @@ type GetGroupIdsResult struct { GroupGraphqlId string `pulumi:"groupGraphqlId"` // The ID of the group. GroupId string `pulumi:"groupId"` - Id string `pulumi:"id"` + // The ID of this Terraform resource. In the format of ``. + Id string `pulumi:"id"` } func GetGroupIdsOutput(ctx *pulumi.Context, args GetGroupIdsOutputArgs, opts ...pulumi.InvokeOption) GetGroupIdsResultOutput { @@ -130,6 +135,7 @@ func (o GetGroupIdsResultOutput) GroupId() pulumi.StringOutput { return o.ApplyT(func(v GetGroupIdsResult) string { return v.GroupId }).(pulumi.StringOutput) } +// The ID of this Terraform resource. In the format of ``. func (o GetGroupIdsResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetGroupIdsResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupMembership.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupMembership.go similarity index 96% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupMembership.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupMembership.go index eed8147e9..fe648b2d6 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupMembership.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupMembership.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,13 +7,13 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) // The `GroupMembership` data source allows to list and filter all members of a group specified by either its id or full path. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/members/#list-all-members-of-a-group-or-project) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_members/#list-all-members-of-a-group) func LookupGroupMembership(ctx *pulumi.Context, args *LookupGroupMembershipArgs, opts ...pulumi.InvokeOption) (*LookupGroupMembershipResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupGroupMembershipResult diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupProvisionedUsers.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupProvisionedUsers.go similarity index 96% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupProvisionedUsers.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupProvisionedUsers.go index e34df4468..1f201af52 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupProvisionedUsers.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupProvisionedUsers.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,11 +7,11 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `getGroupProvisionedUsers` data source allows details of the provisioned users of a given group. +// The `getGroupProvisionedUsers` data source retrieves details of the provisioned users in a given group. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/groups/#list-provisioned-users) func GetGroupProvisionedUsers(ctx *pulumi.Context, args *GetGroupProvisionedUsersArgs, opts ...pulumi.InvokeOption) (*GetGroupProvisionedUsersResult, error) { diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupSamlLinks.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupSamlLinks.go new file mode 100644 index 000000000..5a9b010ff --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupSamlLinks.go @@ -0,0 +1,96 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `getGroupSamlLinks` data source retrieves all SAML links for a specified group. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/saml/#saml-group-links) +// +// ## Example Usage +func GetGroupSamlLinks(ctx *pulumi.Context, args *GetGroupSamlLinksArgs, opts ...pulumi.InvokeOption) (*GetGroupSamlLinksResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetGroupSamlLinksResult + err := ctx.Invoke("gitlab:index/getGroupSamlLinks:getGroupSamlLinks", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getGroupSamlLinks. +type GetGroupSamlLinksArgs struct { + // The name or id of the group. + Group string `pulumi:"group"` +} + +// A collection of values returned by getGroupSamlLinks. +type GetGroupSamlLinksResult struct { + // The name or id of the group. + Group string `pulumi:"group"` + // The ID of this Terraform resource. In the format \n\n + Id string `pulumi:"id"` + // The list of group SAML links returned by the search + SamlLinks []GetGroupSamlLinksSamlLink `pulumi:"samlLinks"` +} + +func GetGroupSamlLinksOutput(ctx *pulumi.Context, args GetGroupSamlLinksOutputArgs, opts ...pulumi.InvokeOption) GetGroupSamlLinksResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetGroupSamlLinksResultOutput, error) { + args := v.(GetGroupSamlLinksArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("gitlab:index/getGroupSamlLinks:getGroupSamlLinks", args, GetGroupSamlLinksResultOutput{}, options).(GetGroupSamlLinksResultOutput), nil + }).(GetGroupSamlLinksResultOutput) +} + +// A collection of arguments for invoking getGroupSamlLinks. +type GetGroupSamlLinksOutputArgs struct { + // The name or id of the group. + Group pulumi.StringInput `pulumi:"group"` +} + +func (GetGroupSamlLinksOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGroupSamlLinksArgs)(nil)).Elem() +} + +// A collection of values returned by getGroupSamlLinks. +type GetGroupSamlLinksResultOutput struct{ *pulumi.OutputState } + +func (GetGroupSamlLinksResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGroupSamlLinksResult)(nil)).Elem() +} + +func (o GetGroupSamlLinksResultOutput) ToGetGroupSamlLinksResultOutput() GetGroupSamlLinksResultOutput { + return o +} + +func (o GetGroupSamlLinksResultOutput) ToGetGroupSamlLinksResultOutputWithContext(ctx context.Context) GetGroupSamlLinksResultOutput { + return o +} + +// The name or id of the group. +func (o GetGroupSamlLinksResultOutput) Group() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupSamlLinksResult) string { return v.Group }).(pulumi.StringOutput) +} + +// The ID of this Terraform resource. In the format \n\n +func (o GetGroupSamlLinksResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupSamlLinksResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The list of group SAML links returned by the search +func (o GetGroupSamlLinksResultOutput) SamlLinks() GetGroupSamlLinksSamlLinkArrayOutput { + return o.ApplyT(func(v GetGroupSamlLinksResult) []GetGroupSamlLinksSamlLink { return v.SamlLinks }).(GetGroupSamlLinksSamlLinkArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetGroupSamlLinksResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupServiceAccount.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupServiceAccount.go similarity index 91% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupServiceAccount.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupServiceAccount.go index a9165cf8f..f979e4c39 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupServiceAccount.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupServiceAccount.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,13 +7,15 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `GroupServiceAccount` data source retrieves information about a gitlab service account for a group. +// The `GroupServiceAccount` data source retrieves information about a GitLab service account in a group. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_service_accounts/#list-service-account-users) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/service_accounts/#list-all-group-service-accounts) +// +// ## Example Usage func LookupGroupServiceAccount(ctx *pulumi.Context, args *LookupGroupServiceAccountArgs, opts ...pulumi.InvokeOption) (*LookupGroupServiceAccountResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupGroupServiceAccountResult @@ -36,7 +38,8 @@ type LookupGroupServiceAccountArgs struct { type LookupGroupServiceAccountResult struct { // The ID or URL-encoded path of the target group. Must be a top-level group. Group string `pulumi:"group"` - Id string `pulumi:"id"` + // The ID of this Terraform resource. In the format of `:`. + Id string `pulumi:"id"` // The name of the user. If not specified, the default Service account user name is used. Name string `pulumi:"name"` // The service account id. @@ -86,6 +89,7 @@ func (o LookupGroupServiceAccountResultOutput) Group() pulumi.StringOutput { return o.ApplyT(func(v LookupGroupServiceAccountResult) string { return v.Group }).(pulumi.StringOutput) } +// The ID of this Terraform resource. In the format of `:`. func (o LookupGroupServiceAccountResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupGroupServiceAccountResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupServiceAccountAccessTokens.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupServiceAccountAccessTokens.go new file mode 100644 index 000000000..f0c5806a3 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupServiceAccountAccessTokens.go @@ -0,0 +1,111 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `getGroupServiceAccountAccessTokens` data source allows to retrieve all access tokens for a group service account. +// +// > **Note:** The data source returns the token metadata only. The token value is not available. +// +// > **Permissions:** You must have administrator access or be an Owner of the group to list the tokens of a service account. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/personal_access_tokens/#list-all-personal-access-tokens) +func GetGroupServiceAccountAccessTokens(ctx *pulumi.Context, args *GetGroupServiceAccountAccessTokensArgs, opts ...pulumi.InvokeOption) (*GetGroupServiceAccountAccessTokensResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetGroupServiceAccountAccessTokensResult + err := ctx.Invoke("gitlab:index/getGroupServiceAccountAccessTokens:getGroupServiceAccountAccessTokens", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getGroupServiceAccountAccessTokens. +type GetGroupServiceAccountAccessTokensArgs struct { + // The ID or URL-encoded path of the group containing the service account. Must be a top level group. + Group string `pulumi:"group"` + // The ID of the service account user. + ServiceAccountId int `pulumi:"serviceAccountId"` +} + +// A collection of values returned by getGroupServiceAccountAccessTokens. +type GetGroupServiceAccountAccessTokensResult struct { + // The list of access tokens for the service account. + AccessTokens []GetGroupServiceAccountAccessTokensAccessToken `pulumi:"accessTokens"` + // The ID or URL-encoded path of the group containing the service account. Must be a top level group. + Group string `pulumi:"group"` + // The ID of this Terraform resource. In the format of `:`. + Id string `pulumi:"id"` + // The ID of the service account user. + ServiceAccountId int `pulumi:"serviceAccountId"` +} + +func GetGroupServiceAccountAccessTokensOutput(ctx *pulumi.Context, args GetGroupServiceAccountAccessTokensOutputArgs, opts ...pulumi.InvokeOption) GetGroupServiceAccountAccessTokensResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetGroupServiceAccountAccessTokensResultOutput, error) { + args := v.(GetGroupServiceAccountAccessTokensArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("gitlab:index/getGroupServiceAccountAccessTokens:getGroupServiceAccountAccessTokens", args, GetGroupServiceAccountAccessTokensResultOutput{}, options).(GetGroupServiceAccountAccessTokensResultOutput), nil + }).(GetGroupServiceAccountAccessTokensResultOutput) +} + +// A collection of arguments for invoking getGroupServiceAccountAccessTokens. +type GetGroupServiceAccountAccessTokensOutputArgs struct { + // The ID or URL-encoded path of the group containing the service account. Must be a top level group. + Group pulumi.StringInput `pulumi:"group"` + // The ID of the service account user. + ServiceAccountId pulumi.IntInput `pulumi:"serviceAccountId"` +} + +func (GetGroupServiceAccountAccessTokensOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGroupServiceAccountAccessTokensArgs)(nil)).Elem() +} + +// A collection of values returned by getGroupServiceAccountAccessTokens. +type GetGroupServiceAccountAccessTokensResultOutput struct{ *pulumi.OutputState } + +func (GetGroupServiceAccountAccessTokensResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGroupServiceAccountAccessTokensResult)(nil)).Elem() +} + +func (o GetGroupServiceAccountAccessTokensResultOutput) ToGetGroupServiceAccountAccessTokensResultOutput() GetGroupServiceAccountAccessTokensResultOutput { + return o +} + +func (o GetGroupServiceAccountAccessTokensResultOutput) ToGetGroupServiceAccountAccessTokensResultOutputWithContext(ctx context.Context) GetGroupServiceAccountAccessTokensResultOutput { + return o +} + +// The list of access tokens for the service account. +func (o GetGroupServiceAccountAccessTokensResultOutput) AccessTokens() GetGroupServiceAccountAccessTokensAccessTokenArrayOutput { + return o.ApplyT(func(v GetGroupServiceAccountAccessTokensResult) []GetGroupServiceAccountAccessTokensAccessToken { + return v.AccessTokens + }).(GetGroupServiceAccountAccessTokensAccessTokenArrayOutput) +} + +// The ID or URL-encoded path of the group containing the service account. Must be a top level group. +func (o GetGroupServiceAccountAccessTokensResultOutput) Group() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupServiceAccountAccessTokensResult) string { return v.Group }).(pulumi.StringOutput) +} + +// The ID of this Terraform resource. In the format of `:`. +func (o GetGroupServiceAccountAccessTokensResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupServiceAccountAccessTokensResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The ID of the service account user. +func (o GetGroupServiceAccountAccessTokensResultOutput) ServiceAccountId() pulumi.IntOutput { + return o.ApplyT(func(v GetGroupServiceAccountAccessTokensResult) int { return v.ServiceAccountId }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(GetGroupServiceAccountAccessTokensResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupSubgroups.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupSubgroups.go similarity index 96% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupSubgroups.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupSubgroups.go index dc1ee28ac..f4b741f16 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupSubgroups.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupSubgroups.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -81,7 +81,7 @@ type GetGroupSubgroupsResult struct { AllAvailable bool `pulumi:"allAvailable"` // The ID of the group. GroupId int `pulumi:"groupId"` - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format ``. Id string `pulumi:"id"` // Limit to groups where current user has at least this access level. MinAccessLevel string `pulumi:"minAccessLevel"` @@ -165,7 +165,7 @@ func (o GetGroupSubgroupsResultOutput) GroupId() pulumi.IntOutput { return o.ApplyT(func(v GetGroupSubgroupsResult) int { return v.GroupId }).(pulumi.IntOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format ``. func (o GetGroupSubgroupsResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupVariable.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupVariable.go similarity index 91% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupVariable.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupVariable.go index bf854dc49..24452779c 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupVariable.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupVariable.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,14 +22,14 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := gitlab.LookupGroupVariable(ctx, &gitlab.LookupGroupVariableArgs{ +// _, err := gitlab.GetGroupVariable(ctx, &gitlab.LookupGroupVariableArgs{ // Group: "my/example/group", // Key: "foo", // }, nil) @@ -37,7 +37,7 @@ import ( // return err // } // // Using an environment scope -// _, err = gitlab.LookupGroupVariable(ctx, &gitlab.LookupGroupVariableArgs{ +// _, err = gitlab.GetGroupVariable(ctx, &gitlab.LookupGroupVariableArgs{ // Group: "my/example/group", // Key: "bar", // EnvironmentScope: pulumi.StringRef("staging/*"), @@ -78,10 +78,11 @@ type LookupGroupVariableResult struct { EnvironmentScope string `pulumi:"environmentScope"` // The name or id of the group. Group string `pulumi:"group"` - Id string `pulumi:"id"` + // The ID of this Terraform resource. In the format of `::`. + Id string `pulumi:"id"` // The name of the variable. Key string `pulumi:"key"` - // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). + // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Masked bool `pulumi:"masked"` // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags Protected bool `pulumi:"protected"` @@ -146,6 +147,7 @@ func (o LookupGroupVariableResultOutput) Group() pulumi.StringOutput { return o.ApplyT(func(v LookupGroupVariableResult) string { return v.Group }).(pulumi.StringOutput) } +// The ID of this Terraform resource. In the format of `::`. func (o LookupGroupVariableResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupGroupVariableResult) string { return v.Id }).(pulumi.StringOutput) } @@ -155,7 +157,7 @@ func (o LookupGroupVariableResultOutput) Key() pulumi.StringOutput { return o.ApplyT(func(v LookupGroupVariableResult) string { return v.Key }).(pulumi.StringOutput) } -// If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). +// If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). func (o LookupGroupVariableResultOutput) Masked() pulumi.BoolOutput { return o.ApplyT(func(v LookupGroupVariableResult) bool { return v.Masked }).(pulumi.BoolOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupVariables.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupVariables.go similarity index 92% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupVariables.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupVariables.go index 739fd7674..c97d8d731 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroupVariables.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroupVariables.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -72,7 +72,8 @@ type GetGroupVariablesResult struct { EnvironmentScope *string `pulumi:"environmentScope"` // The name or id of the group. Group string `pulumi:"group"` - Id string `pulumi:"id"` + // The ID of this Terraform resource. In the format of `:`. + Id string `pulumi:"id"` // The list of variables returned by the search Variables []GetGroupVariablesVariable `pulumi:"variables"` } @@ -123,6 +124,7 @@ func (o GetGroupVariablesResultOutput) Group() pulumi.StringOutput { return o.ApplyT(func(v GetGroupVariablesResult) string { return v.Group }).(pulumi.StringOutput) } +// The ID of this Terraform resource. In the format of `:`. func (o GetGroupVariablesResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetGroupVariablesResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroups.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroups.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroups.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroups.go index fc355d792..dc3d481bf 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getGroups.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getGroups.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -26,7 +26,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -77,7 +77,7 @@ type GetGroupsArgs struct { type GetGroupsResult struct { // The list of groups. Groups []GetGroupsGroup `pulumi:"groups"` - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format of a hash of the provided search attributes. Id string `pulumi:"id"` // Order the groups' list by `id`, `name`, `path`, or `similarity`. (Requires administrator privileges) OrderBy *string `pulumi:"orderBy"` @@ -134,7 +134,7 @@ func (o GetGroupsResultOutput) Groups() GetGroupsGroupArrayOutput { return o.ApplyT(func(v GetGroupsResult) []GetGroupsGroup { return v.Groups }).(GetGroupsGroupArrayOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format of a hash of the provided search attributes. func (o GetGroupsResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetGroupsResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getInstanceDeployKeys.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getInstanceDeployKeys.go similarity index 93% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getInstanceDeployKeys.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getInstanceDeployKeys.go index f03e92182..555bb3905 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getInstanceDeployKeys.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getInstanceDeployKeys.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -36,7 +36,7 @@ type GetInstanceDeployKeysArgs struct { type GetInstanceDeployKeysResult struct { // The list of all deploy keys across all projects of the GitLab instance. DeployKeys []GetInstanceDeployKeysDeployKey `pulumi:"deployKeys"` - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format ``. Id string `pulumi:"id"` // Only return deploy keys that are public. Public *bool `pulumi:"public"` @@ -81,7 +81,7 @@ func (o GetInstanceDeployKeysResultOutput) DeployKeys() GetInstanceDeployKeysDep return o.ApplyT(func(v GetInstanceDeployKeysResult) []GetInstanceDeployKeysDeployKey { return v.DeployKeys }).(GetInstanceDeployKeysDeployKeyArrayOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format ``. func (o GetInstanceDeployKeysResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetInstanceDeployKeysResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getInstanceServiceAccount.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getInstanceServiceAccount.go similarity index 85% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getInstanceServiceAccount.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getInstanceServiceAccount.go index b0c1717ef..2d60c5baa 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getInstanceServiceAccount.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getInstanceServiceAccount.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -15,7 +15,7 @@ import ( // // > In order for a user to create a user account, they must have admin privileges at the instance level. This makes this feature unavailable on `gitlab.com` // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/user_service_accounts/) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/service_accounts/#instance-service-accounts) // // ## Example Usage // @@ -24,14 +24,14 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := gitlab.LookupInstanceServiceAccount(ctx, &gitlab.LookupInstanceServiceAccountArgs{ +// _, err := gitlab.GetInstanceServiceAccount(ctx, &gitlab.LookupInstanceServiceAccountArgs{ // ServiceAccountId: "123", // }, nil) // if err != nil { @@ -60,6 +60,9 @@ type LookupInstanceServiceAccountArgs struct { // A collection of values returned by getInstanceServiceAccount. type LookupInstanceServiceAccountResult struct { + // The email of the user. + Email string `pulumi:"email"` + // The ID of this Terraform resource. This matches the service account id. Id string `pulumi:"id"` // The name of the user. Name string `pulumi:"name"` @@ -103,6 +106,12 @@ func (o LookupInstanceServiceAccountResultOutput) ToLookupInstanceServiceAccount return o } +// The email of the user. +func (o LookupInstanceServiceAccountResultOutput) Email() pulumi.StringOutput { + return o.ApplyT(func(v LookupInstanceServiceAccountResult) string { return v.Email }).(pulumi.StringOutput) +} + +// The ID of this Terraform resource. This matches the service account id. func (o LookupInstanceServiceAccountResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupInstanceServiceAccountResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getInstanceVariable.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getInstanceVariable.go similarity index 79% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getInstanceVariable.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getInstanceVariable.go index e61a37628..5ddca66cd 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getInstanceVariable.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getInstanceVariable.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,11 +7,11 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `InstanceVariable` data source allows to retrieve details about an instance-level CI/CD variable. +// The `InstanceVariable` data source retrieves details about an instance-level CI/CD variable. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/instance_level_ci_variables/) // @@ -22,14 +22,14 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := gitlab.LookupInstanceVariable(ctx, &gitlab.LookupInstanceVariableArgs{ +// _, err := gitlab.GetInstanceVariable(ctx, &gitlab.LookupInstanceVariableArgs{ // Key: "foo", // }, nil) // if err != nil { @@ -60,19 +60,19 @@ type LookupInstanceVariableArgs struct { type LookupInstanceVariableResult struct { // The description of the variable. Maximum of 255 characters. Description string `pulumi:"description"` - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format ``. Id string `pulumi:"id"` // The name of the variable. Key string `pulumi:"key"` - // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`. + // If set to `true`, the value of the variable will be hidden in job logs. Masked bool `pulumi:"masked"` - // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. + // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Protected bool `pulumi:"protected"` - // Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded. + // If set to `true`, the variable will be treated as a raw string. Raw bool `pulumi:"raw"` // The value of the variable. Value string `pulumi:"value"` - // The type of a variable. Valid values are: `envVar`, `file`. Default is `envVar`. + // The type of the variable, either `envVar` or `file`. VariableType string `pulumi:"variableType"` } @@ -115,7 +115,7 @@ func (o LookupInstanceVariableResultOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v LookupInstanceVariableResult) string { return v.Description }).(pulumi.StringOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format ``. func (o LookupInstanceVariableResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupInstanceVariableResult) string { return v.Id }).(pulumi.StringOutput) } @@ -125,17 +125,17 @@ func (o LookupInstanceVariableResultOutput) Key() pulumi.StringOutput { return o.ApplyT(func(v LookupInstanceVariableResult) string { return v.Key }).(pulumi.StringOutput) } -// If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`. +// If set to `true`, the value of the variable will be hidden in job logs. func (o LookupInstanceVariableResultOutput) Masked() pulumi.BoolOutput { return o.ApplyT(func(v LookupInstanceVariableResult) bool { return v.Masked }).(pulumi.BoolOutput) } -// If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. +// If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. func (o LookupInstanceVariableResultOutput) Protected() pulumi.BoolOutput { return o.ApplyT(func(v LookupInstanceVariableResult) bool { return v.Protected }).(pulumi.BoolOutput) } -// Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded. +// If set to `true`, the variable will be treated as a raw string. func (o LookupInstanceVariableResultOutput) Raw() pulumi.BoolOutput { return o.ApplyT(func(v LookupInstanceVariableResult) bool { return v.Raw }).(pulumi.BoolOutput) } @@ -145,7 +145,7 @@ func (o LookupInstanceVariableResultOutput) Value() pulumi.StringOutput { return o.ApplyT(func(v LookupInstanceVariableResult) string { return v.Value }).(pulumi.StringOutput) } -// The type of a variable. Valid values are: `envVar`, `file`. Default is `envVar`. +// The type of the variable, either `envVar` or `file`. func (o LookupInstanceVariableResultOutput) VariableType() pulumi.StringOutput { return o.ApplyT(func(v LookupInstanceVariableResult) string { return v.VariableType }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getInstanceVariables.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getInstanceVariables.go similarity index 84% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getInstanceVariables.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getInstanceVariables.go index 2d3cf60f5..1a14d4c62 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getInstanceVariables.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getInstanceVariables.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,11 +7,11 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `getInstanceVariables` data source allows to retrieve all instance-level CI/CD variables. +// The `getInstanceVariables` data source retrieves all instance-level CI/CD variables. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/instance_level_ci_variables/) // @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -50,9 +50,9 @@ func GetInstanceVariables(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*Ge // A collection of values returned by getInstanceVariables. type GetInstanceVariablesResult struct { - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the hardcoded format `instanceVariables`. Id string `pulumi:"id"` - // The list of variables returned by the search + // The list of variables returned by the search. Variables []GetInstanceVariablesVariable `pulumi:"variables"` } @@ -78,12 +78,12 @@ func (o GetInstanceVariablesResultOutput) ToGetInstanceVariablesResultOutputWith return o } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the hardcoded format `instanceVariables`. func (o GetInstanceVariablesResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetInstanceVariablesResult) string { return v.Id }).(pulumi.StringOutput) } -// The list of variables returned by the search +// The list of variables returned by the search. func (o GetInstanceVariablesResultOutput) Variables() GetInstanceVariablesVariableArrayOutput { return o.ApplyT(func(v GetInstanceVariablesResult) []GetInstanceVariablesVariable { return v.Variables }).(GetInstanceVariablesVariableArrayOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getMemberRole.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getMemberRole.go new file mode 100644 index 000000000..ea9ddca25 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getMemberRole.go @@ -0,0 +1,155 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `MemberRole` data source allows details of a custom member role to be retrieved. +// +// **Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/api/graphql/reference/#querymemberrole) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.GetMemberRole(ctx, &gitlab.LookupMemberRoleArgs{ +// Id: "gid://gitlab/MemberRole/1", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupMemberRole(ctx *pulumi.Context, args *LookupMemberRoleArgs, opts ...pulumi.InvokeOption) (*LookupMemberRoleResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupMemberRoleResult + err := ctx.Invoke("gitlab:index/getMemberRole:getMemberRole", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getMemberRole. +type LookupMemberRoleArgs struct { + // Globally unique ID of the member role. In the format of `gid://gitlab/MemberRole/1` + Id string `pulumi:"id"` +} + +// A collection of values returned by getMemberRole. +type LookupMemberRoleResult struct { + // The base access level of the custom role. + BaseAccessLevel string `pulumi:"baseAccessLevel"` + // Timestamp of when the member role was created. + CreatedAt string `pulumi:"createdAt"` + // Description of the member role. + Description string `pulumi:"description"` + // The Web UI path to edit the member role + EditPath string `pulumi:"editPath"` + // All permissions enabled for the custom role. + EnabledPermissions []string `pulumi:"enabledPermissions"` + // Globally unique ID of the member role. In the format of `gid://gitlab/MemberRole/1` + Id string `pulumi:"id"` + // The member role ID integer value extracted from the `id` attribute + Iid int `pulumi:"iid"` + // Name of the member role. + Name string `pulumi:"name"` +} + +func LookupMemberRoleOutput(ctx *pulumi.Context, args LookupMemberRoleOutputArgs, opts ...pulumi.InvokeOption) LookupMemberRoleResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupMemberRoleResultOutput, error) { + args := v.(LookupMemberRoleArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("gitlab:index/getMemberRole:getMemberRole", args, LookupMemberRoleResultOutput{}, options).(LookupMemberRoleResultOutput), nil + }).(LookupMemberRoleResultOutput) +} + +// A collection of arguments for invoking getMemberRole. +type LookupMemberRoleOutputArgs struct { + // Globally unique ID of the member role. In the format of `gid://gitlab/MemberRole/1` + Id pulumi.StringInput `pulumi:"id"` +} + +func (LookupMemberRoleOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupMemberRoleArgs)(nil)).Elem() +} + +// A collection of values returned by getMemberRole. +type LookupMemberRoleResultOutput struct{ *pulumi.OutputState } + +func (LookupMemberRoleResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupMemberRoleResult)(nil)).Elem() +} + +func (o LookupMemberRoleResultOutput) ToLookupMemberRoleResultOutput() LookupMemberRoleResultOutput { + return o +} + +func (o LookupMemberRoleResultOutput) ToLookupMemberRoleResultOutputWithContext(ctx context.Context) LookupMemberRoleResultOutput { + return o +} + +// The base access level of the custom role. +func (o LookupMemberRoleResultOutput) BaseAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v LookupMemberRoleResult) string { return v.BaseAccessLevel }).(pulumi.StringOutput) +} + +// Timestamp of when the member role was created. +func (o LookupMemberRoleResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupMemberRoleResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Description of the member role. +func (o LookupMemberRoleResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupMemberRoleResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The Web UI path to edit the member role +func (o LookupMemberRoleResultOutput) EditPath() pulumi.StringOutput { + return o.ApplyT(func(v LookupMemberRoleResult) string { return v.EditPath }).(pulumi.StringOutput) +} + +// All permissions enabled for the custom role. +func (o LookupMemberRoleResultOutput) EnabledPermissions() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupMemberRoleResult) []string { return v.EnabledPermissions }).(pulumi.StringArrayOutput) +} + +// Globally unique ID of the member role. In the format of `gid://gitlab/MemberRole/1` +func (o LookupMemberRoleResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupMemberRoleResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The member role ID integer value extracted from the `id` attribute +func (o LookupMemberRoleResultOutput) Iid() pulumi.IntOutput { + return o.ApplyT(func(v LookupMemberRoleResult) int { return v.Iid }).(pulumi.IntOutput) +} + +// Name of the member role. +func (o LookupMemberRoleResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupMemberRoleResult) string { return v.Name }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupMemberRoleResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getMetadata.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getMetadata.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getMetadata.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getMetadata.go index 7ec32da6a..0760a4556 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getMetadata.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getMetadata.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getPipelineSchedule.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getPipelineSchedule.go similarity index 89% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getPipelineSchedule.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getPipelineSchedule.go index 567cb2cf5..ffd99a85a 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getPipelineSchedule.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getPipelineSchedule.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,14 +22,14 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := gitlab.LookupPipelineSchedule(ctx, &gitlab.LookupPipelineScheduleArgs{ +// _, err := gitlab.GetPipelineSchedule(ctx, &gitlab.LookupPipelineScheduleArgs{ // Project: "12345", // PipelineScheduleId: 1, // }, nil) @@ -73,7 +73,10 @@ type LookupPipelineScheduleResult struct { CronTimezone string `pulumi:"cronTimezone"` // The description of the pipeline schedule. Description string `pulumi:"description"` - Id string `pulumi:"id"` + // The ID of this Terraform resource. In the format of `:`. + Id string `pulumi:"id"` + // List of pipeline schedule inputs. Each element has `name` and `value`. + Inputs []GetPipelineScheduleInput `pulumi:"inputs"` // The details of the last pipeline run by the schedule. LastPipeline GetPipelineScheduleLastPipeline `pulumi:"lastPipeline"` // The datetime of when the schedule will next run. @@ -155,10 +158,16 @@ func (o LookupPipelineScheduleResultOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v LookupPipelineScheduleResult) string { return v.Description }).(pulumi.StringOutput) } +// The ID of this Terraform resource. In the format of `:`. func (o LookupPipelineScheduleResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupPipelineScheduleResult) string { return v.Id }).(pulumi.StringOutput) } +// List of pipeline schedule inputs. Each element has `name` and `value`. +func (o LookupPipelineScheduleResultOutput) Inputs() GetPipelineScheduleInputArrayOutput { + return o.ApplyT(func(v LookupPipelineScheduleResult) []GetPipelineScheduleInput { return v.Inputs }).(GetPipelineScheduleInputArrayOutput) +} + // The details of the last pipeline run by the schedule. func (o LookupPipelineScheduleResultOutput) LastPipeline() GetPipelineScheduleLastPipelineOutput { return o.ApplyT(func(v LookupPipelineScheduleResult) GetPipelineScheduleLastPipeline { return v.LastPipeline }).(GetPipelineScheduleLastPipelineOutput) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getPipelineSchedules.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getPipelineSchedules.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getPipelineSchedules.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getPipelineSchedules.go index 39bec6ba3..4c5897e52 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getPipelineSchedules.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getPipelineSchedules.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -58,6 +58,7 @@ type GetPipelineSchedulesArgs struct { // A collection of values returned by getPipelineSchedules. type GetPipelineSchedulesResult struct { + // The ID of this Terraform resource. Id string `pulumi:"id"` // The list of pipeline schedules. PipelineSchedules []GetPipelineSchedulesPipelineSchedule `pulumi:"pipelineSchedules"` @@ -99,6 +100,7 @@ func (o GetPipelineSchedulesResultOutput) ToGetPipelineSchedulesResultOutputWith return o } +// The ID of this Terraform resource. func (o GetPipelineSchedulesResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetPipelineSchedulesResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProject.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProject.go similarity index 91% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProject.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProject.go index 428715d9b..d3a8946bd 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProject.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProject.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -104,7 +104,9 @@ type LookupProjectResult struct { InfrastructureAccessLevel string `pulumi:"infrastructureAccessLevel"` // Set the issues access level. Valid values are `disabled`, `private`, `enabled`. IssuesAccessLevel string `pulumi:"issuesAccessLevel"` - // Enable issue tracking for the project. + // Enable issue tracking for the project. Use `issuesAccessLevel` instead. This attribute will be removed in 19.0. + // + // Deprecated: Use `issuesAccessLevel` instead. This attribute will be removed in 19.0. IssuesEnabled bool `pulumi:"issuesEnabled"` // Disable or enable the ability to keep the latest artifact for this project. KeepLatestArtifact bool `pulumi:"keepLatestArtifact"` @@ -116,10 +118,14 @@ type LookupProjectResult struct { MergePipelinesEnabled bool `pulumi:"mergePipelinesEnabled"` // Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`. MergeRequestsAccessLevel string `pulumi:"mergeRequestsAccessLevel"` - // Enable merge requests for the project. + // Enable merge requests for the project. Use `mergeRequestsAccessLevel` instead. This attribute will be removed in 19.0. + // + // Deprecated: Use `mergeRequestsAccessLevel` instead. This attribute will be removed in 19.0. MergeRequestsEnabled bool `pulumi:"mergeRequestsEnabled"` // Enable or disable merge trains. MergeTrainsEnabled bool `pulumi:"mergeTrainsEnabled"` + // Allows merge train merge requests to be merged without waiting for pipelines to finish. + MergeTrainsSkipTrainAllowed bool `pulumi:"mergeTrainsSkipTrainAllowed"` // The visibility of machine learning model experiments. ModelExperimentsAccessLevel string `pulumi:"modelExperimentsAccessLevel"` // The visibility of machine learning model registry. @@ -134,7 +140,9 @@ type LookupProjectResult struct { Path string `pulumi:"path"` // The path of the repository with namespace. PathWithNamespace string `pulumi:"pathWithNamespace"` - // Enable pipelines for the project. + // Enable pipelines for the project. Use `pipelinesAccessLevel` instead. This attribute will be removed in 19.0. + // + // Deprecated: Use `pipelinesAccessLevel` instead. This attribute will be removed in 19.0. PipelinesEnabled bool `pulumi:"pipelinesEnabled"` // Whether merge requests require an associated issue from Jira. Premium and Ultimate only. PreventMergeWithoutJiraIssue bool `pulumi:"preventMergeWithoutJiraIssue"` @@ -158,7 +166,9 @@ type LookupProjectResult struct { RequirementsAccessLevel string `pulumi:"requirementsAccessLevel"` // Automatically resolve merge request diffs discussions on lines changed with a push. ResolveOutdatedDiffDiscussions bool `pulumi:"resolveOutdatedDiffDiscussions"` - // Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. + // Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. Use `ciRestrictPipelineVariablesRole` instead. This attribute will be removed in 19.0. + // + // Deprecated: Use `ciRestrictPipelineVariablesRole` instead. This attribute will be removed in 19.0. RestrictUserDefinedVariables bool `pulumi:"restrictUserDefinedVariables"` // Registration token to use during runner setup. RunnersToken string `pulumi:"runnersToken"` @@ -168,7 +178,9 @@ type LookupProjectResult struct { SharedWithGroups []GetProjectSharedWithGroup `pulumi:"sharedWithGroups"` // Set the snippets access level. Valid values are `disabled`, `private`, `enabled`. SnippetsAccessLevel string `pulumi:"snippetsAccessLevel"` - // Enable snippets for the project. + // Enable snippets for the project. Use `snippetsAccessLevel` instead. This attribute will be removed in 19.0. + // + // Deprecated: Use `snippetsAccessLevel` instead. This attribute will be removed in 19.0. SnippetsEnabled bool `pulumi:"snippetsEnabled"` // Template used to create squash commit message in merge requests. SquashCommitTemplate string `pulumi:"squashCommitTemplate"` @@ -184,7 +196,9 @@ type LookupProjectResult struct { WebUrl string `pulumi:"webUrl"` // Set the wiki access level. Valid values are `disabled`, `private`, `enabled`. WikiAccessLevel string `pulumi:"wikiAccessLevel"` - // Enable wiki for the project. + // Enable wiki for the project. Use `wikiAccessLevel` instead. This attribute will be removed in 19.0. + // + // Deprecated: Use `wikiAccessLevel` instead. This attribute will be removed in 19.0. WikiEnabled bool `pulumi:"wikiEnabled"` } @@ -392,7 +406,9 @@ func (o LookupProjectResultOutput) IssuesAccessLevel() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectResult) string { return v.IssuesAccessLevel }).(pulumi.StringOutput) } -// Enable issue tracking for the project. +// Enable issue tracking for the project. Use `issuesAccessLevel` instead. This attribute will be removed in 19.0. +// +// Deprecated: Use `issuesAccessLevel` instead. This attribute will be removed in 19.0. func (o LookupProjectResultOutput) IssuesEnabled() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectResult) bool { return v.IssuesEnabled }).(pulumi.BoolOutput) } @@ -422,7 +438,9 @@ func (o LookupProjectResultOutput) MergeRequestsAccessLevel() pulumi.StringOutpu return o.ApplyT(func(v LookupProjectResult) string { return v.MergeRequestsAccessLevel }).(pulumi.StringOutput) } -// Enable merge requests for the project. +// Enable merge requests for the project. Use `mergeRequestsAccessLevel` instead. This attribute will be removed in 19.0. +// +// Deprecated: Use `mergeRequestsAccessLevel` instead. This attribute will be removed in 19.0. func (o LookupProjectResultOutput) MergeRequestsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectResult) bool { return v.MergeRequestsEnabled }).(pulumi.BoolOutput) } @@ -432,6 +450,11 @@ func (o LookupProjectResultOutput) MergeTrainsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectResult) bool { return v.MergeTrainsEnabled }).(pulumi.BoolOutput) } +// Allows merge train merge requests to be merged without waiting for pipelines to finish. +func (o LookupProjectResultOutput) MergeTrainsSkipTrainAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v LookupProjectResult) bool { return v.MergeTrainsSkipTrainAllowed }).(pulumi.BoolOutput) +} + // The visibility of machine learning model experiments. func (o LookupProjectResultOutput) ModelExperimentsAccessLevel() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectResult) string { return v.ModelExperimentsAccessLevel }).(pulumi.StringOutput) @@ -467,7 +490,9 @@ func (o LookupProjectResultOutput) PathWithNamespace() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectResult) string { return v.PathWithNamespace }).(pulumi.StringOutput) } -// Enable pipelines for the project. +// Enable pipelines for the project. Use `pipelinesAccessLevel` instead. This attribute will be removed in 19.0. +// +// Deprecated: Use `pipelinesAccessLevel` instead. This attribute will be removed in 19.0. func (o LookupProjectResultOutput) PipelinesEnabled() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectResult) bool { return v.PipelinesEnabled }).(pulumi.BoolOutput) } @@ -527,7 +552,9 @@ func (o LookupProjectResultOutput) ResolveOutdatedDiffDiscussions() pulumi.BoolO return o.ApplyT(func(v LookupProjectResult) bool { return v.ResolveOutdatedDiffDiscussions }).(pulumi.BoolOutput) } -// Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. +// Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. Use `ciRestrictPipelineVariablesRole` instead. This attribute will be removed in 19.0. +// +// Deprecated: Use `ciRestrictPipelineVariablesRole` instead. This attribute will be removed in 19.0. func (o LookupProjectResultOutput) RestrictUserDefinedVariables() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectResult) bool { return v.RestrictUserDefinedVariables }).(pulumi.BoolOutput) } @@ -552,7 +579,9 @@ func (o LookupProjectResultOutput) SnippetsAccessLevel() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectResult) string { return v.SnippetsAccessLevel }).(pulumi.StringOutput) } -// Enable snippets for the project. +// Enable snippets for the project. Use `snippetsAccessLevel` instead. This attribute will be removed in 19.0. +// +// Deprecated: Use `snippetsAccessLevel` instead. This attribute will be removed in 19.0. func (o LookupProjectResultOutput) SnippetsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectResult) bool { return v.SnippetsEnabled }).(pulumi.BoolOutput) } @@ -592,7 +621,9 @@ func (o LookupProjectResultOutput) WikiAccessLevel() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectResult) string { return v.WikiAccessLevel }).(pulumi.StringOutput) } -// Enable wiki for the project. +// Enable wiki for the project. Use `wikiAccessLevel` instead. This attribute will be removed in 19.0. +// +// Deprecated: Use `wikiAccessLevel` instead. This attribute will be removed in 19.0. func (o LookupProjectResultOutput) WikiEnabled() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectResult) bool { return v.WikiEnabled }).(pulumi.BoolOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectAccessTokens.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectAccessTokens.go new file mode 100644 index 000000000..52cbd14df --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectAccessTokens.go @@ -0,0 +1,105 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `getProjectAccessTokens` data source allows to retrieve all project access tokens for a given project. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_access_tokens/) +func GetProjectAccessTokens(ctx *pulumi.Context, args *GetProjectAccessTokensArgs, opts ...pulumi.InvokeOption) (*GetProjectAccessTokensResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetProjectAccessTokensResult + err := ctx.Invoke("gitlab:index/getProjectAccessTokens:getProjectAccessTokens", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getProjectAccessTokens. +type GetProjectAccessTokensArgs struct { + // The name or id of the project. + Project string `pulumi:"project"` + // List all project access token that match the specified state. Valid values are `active`, `inactive`. Returns all project access token if not set. + State *string `pulumi:"state"` +} + +// A collection of values returned by getProjectAccessTokens. +type GetProjectAccessTokensResult struct { + // The list of access tokens returned by the search + AccessTokens []GetProjectAccessTokensAccessToken `pulumi:"accessTokens"` + // The ID of this Terraform resource. + Id string `pulumi:"id"` + // The name or id of the project. + Project string `pulumi:"project"` + // List all project access token that match the specified state. Valid values are `active`, `inactive`. Returns all project access token if not set. + State *string `pulumi:"state"` +} + +func GetProjectAccessTokensOutput(ctx *pulumi.Context, args GetProjectAccessTokensOutputArgs, opts ...pulumi.InvokeOption) GetProjectAccessTokensResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetProjectAccessTokensResultOutput, error) { + args := v.(GetProjectAccessTokensArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("gitlab:index/getProjectAccessTokens:getProjectAccessTokens", args, GetProjectAccessTokensResultOutput{}, options).(GetProjectAccessTokensResultOutput), nil + }).(GetProjectAccessTokensResultOutput) +} + +// A collection of arguments for invoking getProjectAccessTokens. +type GetProjectAccessTokensOutputArgs struct { + // The name or id of the project. + Project pulumi.StringInput `pulumi:"project"` + // List all project access token that match the specified state. Valid values are `active`, `inactive`. Returns all project access token if not set. + State pulumi.StringPtrInput `pulumi:"state"` +} + +func (GetProjectAccessTokensOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectAccessTokensArgs)(nil)).Elem() +} + +// A collection of values returned by getProjectAccessTokens. +type GetProjectAccessTokensResultOutput struct{ *pulumi.OutputState } + +func (GetProjectAccessTokensResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectAccessTokensResult)(nil)).Elem() +} + +func (o GetProjectAccessTokensResultOutput) ToGetProjectAccessTokensResultOutput() GetProjectAccessTokensResultOutput { + return o +} + +func (o GetProjectAccessTokensResultOutput) ToGetProjectAccessTokensResultOutputWithContext(ctx context.Context) GetProjectAccessTokensResultOutput { + return o +} + +// The list of access tokens returned by the search +func (o GetProjectAccessTokensResultOutput) AccessTokens() GetProjectAccessTokensAccessTokenArrayOutput { + return o.ApplyT(func(v GetProjectAccessTokensResult) []GetProjectAccessTokensAccessToken { return v.AccessTokens }).(GetProjectAccessTokensAccessTokenArrayOutput) +} + +// The ID of this Terraform resource. +func (o GetProjectAccessTokensResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectAccessTokensResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The name or id of the project. +func (o GetProjectAccessTokensResultOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectAccessTokensResult) string { return v.Project }).(pulumi.StringOutput) +} + +// List all project access token that match the specified state. Valid values are `active`, `inactive`. Returns all project access token if not set. +func (o GetProjectAccessTokensResultOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectAccessTokensResult) *string { return v.State }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetProjectAccessTokensResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectApprovalRules.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectApprovalRules.go new file mode 100644 index 000000000..d3ff36dd2 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectApprovalRules.go @@ -0,0 +1,130 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `getProjectApprovalRules` data source retrieves all approval rules of a given project. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/merge_request_approvals/#list-all-approval-rules-for-a-project) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.GetProjectApprovalRules(ctx, &gitlab.GetProjectApprovalRulesArgs{ +// Project: "12345", +// }, nil) +// if err != nil { +// return err +// } +// _, err = gitlab.GetProjectApprovalRules(ctx, &gitlab.GetProjectApprovalRulesArgs{ +// Project: "my-group/my-project", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetProjectApprovalRules(ctx *pulumi.Context, args *GetProjectApprovalRulesArgs, opts ...pulumi.InvokeOption) (*GetProjectApprovalRulesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetProjectApprovalRulesResult + err := ctx.Invoke("gitlab:index/getProjectApprovalRules:getProjectApprovalRules", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getProjectApprovalRules. +type GetProjectApprovalRulesArgs struct { + // A list of project approval rules, as defined below. + ApprovalRules []GetProjectApprovalRulesApprovalRule `pulumi:"approvalRules"` + // The ID or path with namespace that identifies the project. + Project string `pulumi:"project"` +} + +// A collection of values returned by getProjectApprovalRules. +type GetProjectApprovalRulesResult struct { + // A list of project approval rules, as defined below. + ApprovalRules []GetProjectApprovalRulesApprovalRule `pulumi:"approvalRules"` + // The ID of this Terraform resource. + Id string `pulumi:"id"` + // The ID or path with namespace that identifies the project. + Project string `pulumi:"project"` +} + +func GetProjectApprovalRulesOutput(ctx *pulumi.Context, args GetProjectApprovalRulesOutputArgs, opts ...pulumi.InvokeOption) GetProjectApprovalRulesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetProjectApprovalRulesResultOutput, error) { + args := v.(GetProjectApprovalRulesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("gitlab:index/getProjectApprovalRules:getProjectApprovalRules", args, GetProjectApprovalRulesResultOutput{}, options).(GetProjectApprovalRulesResultOutput), nil + }).(GetProjectApprovalRulesResultOutput) +} + +// A collection of arguments for invoking getProjectApprovalRules. +type GetProjectApprovalRulesOutputArgs struct { + // A list of project approval rules, as defined below. + ApprovalRules GetProjectApprovalRulesApprovalRuleArrayInput `pulumi:"approvalRules"` + // The ID or path with namespace that identifies the project. + Project pulumi.StringInput `pulumi:"project"` +} + +func (GetProjectApprovalRulesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectApprovalRulesArgs)(nil)).Elem() +} + +// A collection of values returned by getProjectApprovalRules. +type GetProjectApprovalRulesResultOutput struct{ *pulumi.OutputState } + +func (GetProjectApprovalRulesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectApprovalRulesResult)(nil)).Elem() +} + +func (o GetProjectApprovalRulesResultOutput) ToGetProjectApprovalRulesResultOutput() GetProjectApprovalRulesResultOutput { + return o +} + +func (o GetProjectApprovalRulesResultOutput) ToGetProjectApprovalRulesResultOutputWithContext(ctx context.Context) GetProjectApprovalRulesResultOutput { + return o +} + +// A list of project approval rules, as defined below. +func (o GetProjectApprovalRulesResultOutput) ApprovalRules() GetProjectApprovalRulesApprovalRuleArrayOutput { + return o.ApplyT(func(v GetProjectApprovalRulesResult) []GetProjectApprovalRulesApprovalRule { return v.ApprovalRules }).(GetProjectApprovalRulesApprovalRuleArrayOutput) +} + +// The ID of this Terraform resource. +func (o GetProjectApprovalRulesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectApprovalRulesResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The ID or path with namespace that identifies the project. +func (o GetProjectApprovalRulesResultOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectApprovalRulesResult) string { return v.Project }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetProjectApprovalRulesResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectBranches.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectBranches.go similarity index 74% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectBranches.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectBranches.go index ed6443abb..884bae927 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectBranches.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectBranches.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -28,16 +28,24 @@ func GetProjectBranches(ctx *pulumi.Context, args *GetProjectBranchesArgs, opts type GetProjectBranchesArgs struct { // ID or URL-encoded path of the project owned by the authenticated user. Project string `pulumi:"project"` + // Regex pattern to filter the returned branches by name. + Regex *string `pulumi:"regex"` + // A search string to filter branches by name. + Search *string `pulumi:"search"` } // A collection of values returned by getProjectBranches. type GetProjectBranchesResult struct { // The list of branches of the project, as defined below. Branches []GetProjectBranchesBranch `pulumi:"branches"` - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format ``. Id string `pulumi:"id"` // ID or URL-encoded path of the project owned by the authenticated user. Project string `pulumi:"project"` + // Regex pattern to filter the returned branches by name. + Regex *string `pulumi:"regex"` + // A search string to filter branches by name. + Search *string `pulumi:"search"` } func GetProjectBranchesOutput(ctx *pulumi.Context, args GetProjectBranchesOutputArgs, opts ...pulumi.InvokeOption) GetProjectBranchesResultOutput { @@ -53,6 +61,10 @@ func GetProjectBranchesOutput(ctx *pulumi.Context, args GetProjectBranchesOutput type GetProjectBranchesOutputArgs struct { // ID or URL-encoded path of the project owned by the authenticated user. Project pulumi.StringInput `pulumi:"project"` + // Regex pattern to filter the returned branches by name. + Regex pulumi.StringPtrInput `pulumi:"regex"` + // A search string to filter branches by name. + Search pulumi.StringPtrInput `pulumi:"search"` } func (GetProjectBranchesOutputArgs) ElementType() reflect.Type { @@ -79,7 +91,7 @@ func (o GetProjectBranchesResultOutput) Branches() GetProjectBranchesBranchArray return o.ApplyT(func(v GetProjectBranchesResult) []GetProjectBranchesBranch { return v.Branches }).(GetProjectBranchesBranchArrayOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format ``. func (o GetProjectBranchesResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetProjectBranchesResult) string { return v.Id }).(pulumi.StringOutput) } @@ -89,6 +101,16 @@ func (o GetProjectBranchesResultOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v GetProjectBranchesResult) string { return v.Project }).(pulumi.StringOutput) } +// Regex pattern to filter the returned branches by name. +func (o GetProjectBranchesResultOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectBranchesResult) *string { return v.Regex }).(pulumi.StringPtrOutput) +} + +// A search string to filter branches by name. +func (o GetProjectBranchesResultOutput) Search() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectBranchesResult) *string { return v.Search }).(pulumi.StringPtrOutput) +} + func init() { pulumi.RegisterOutputType(GetProjectBranchesResultOutput{}) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectEnvironments.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectEnvironments.go similarity index 96% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectEnvironments.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectEnvironments.go index e2f014062..bc3623ce2 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectEnvironments.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectEnvironments.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -70,7 +70,8 @@ type GetProjectEnvironmentsArgs struct { type GetProjectEnvironmentsResult struct { // The list of environments. Environments []GetProjectEnvironmentsEnvironment `pulumi:"environments"` - Id string `pulumi:"id"` + // The ID of this Terraform resource. + Id string `pulumi:"id"` // Return the environment with this name. Mutually exclusive with search. Name *string `pulumi:"name"` // The ID or full path of the project. @@ -126,6 +127,7 @@ func (o GetProjectEnvironmentsResultOutput) Environments() GetProjectEnvironment return o.ApplyT(func(v GetProjectEnvironmentsResult) []GetProjectEnvironmentsEnvironment { return v.Environments }).(GetProjectEnvironmentsEnvironmentArrayOutput) } +// The ID of this Terraform resource. func (o GetProjectEnvironmentsResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetProjectEnvironmentsResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectHook.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectHook.go similarity index 81% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectHook.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectHook.go index 138736d39..603d90343 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectHook.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectHook.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,11 +7,11 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectHook` data source allows to retrieve details about a hook in a project. +// The `ProjectHook` data source retrieves details about a hook in a project. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_webhooks/#get-a-project-webhook) // @@ -22,20 +22,20 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// example, err := gitlab.LookupProject(ctx, &gitlab.LookupProjectArgs{ +// example, err := gitlab.GetProject(ctx, &gitlab.LookupProjectArgs{ // Id: pulumi.StringRef("foo/bar/baz"), // }, nil) // if err != nil { // return err // } -// _, err = gitlab.LookupProjectHook(ctx, &gitlab.LookupProjectHookArgs{ +// _, err = gitlab.GetProjectHook(ctx, &gitlab.LookupProjectHookArgs{ // Project: example.Id, // HookId: 1, // }, nil) @@ -67,6 +67,8 @@ type LookupProjectHookArgs struct { // A collection of values returned by getProjectHook. type LookupProjectHookResult struct { + // Filter push events by branch. + BranchFilterStrategy string `pulumi:"branchFilterStrategy"` // Invoke the hook for confidential issues events. ConfidentialIssuesEvents bool `pulumi:"confidentialIssuesEvents"` // Invoke the hook for confidential notes events. @@ -75,11 +77,13 @@ type LookupProjectHookResult struct { CustomWebhookTemplate string `pulumi:"customWebhookTemplate"` // Invoke the hook for deployment events. DeploymentEvents bool `pulumi:"deploymentEvents"` + // Invoke the hook for emoji events. + EmojiEvents bool `pulumi:"emojiEvents"` // Enable ssl verification when invoking the hook. EnableSslVerification bool `pulumi:"enableSslVerification"` // The id of the project hook. HookId int `pulumi:"hookId"` - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format `:`. Id string `pulumi:"id"` // Invoke the hook for issues events. IssuesEvents bool `pulumi:"issuesEvents"` @@ -103,10 +107,14 @@ type LookupProjectHookResult struct { ReleasesEvents bool `pulumi:"releasesEvents"` // Invoke the hook for tag push events. TagPushEvents bool `pulumi:"tagPushEvents"` - // A token to present when invoking the hook. The token is not available for imported resources. + // A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. + // + // Deprecated: The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. Token string `pulumi:"token"` // The url of the hook to invoke. Url string `pulumi:"url"` + // Invoke the hook for vulnerability events. + VulnerabilityEvents bool `pulumi:"vulnerabilityEvents"` // Invoke the hook for wiki page events. WikiPageEvents bool `pulumi:"wikiPageEvents"` } @@ -147,6 +155,11 @@ func (o LookupProjectHookResultOutput) ToLookupProjectHookResultOutputWithContex return o } +// Filter push events by branch. +func (o LookupProjectHookResultOutput) BranchFilterStrategy() pulumi.StringOutput { + return o.ApplyT(func(v LookupProjectHookResult) string { return v.BranchFilterStrategy }).(pulumi.StringOutput) +} + // Invoke the hook for confidential issues events. func (o LookupProjectHookResultOutput) ConfidentialIssuesEvents() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectHookResult) bool { return v.ConfidentialIssuesEvents }).(pulumi.BoolOutput) @@ -167,6 +180,11 @@ func (o LookupProjectHookResultOutput) DeploymentEvents() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectHookResult) bool { return v.DeploymentEvents }).(pulumi.BoolOutput) } +// Invoke the hook for emoji events. +func (o LookupProjectHookResultOutput) EmojiEvents() pulumi.BoolOutput { + return o.ApplyT(func(v LookupProjectHookResult) bool { return v.EmojiEvents }).(pulumi.BoolOutput) +} + // Enable ssl verification when invoking the hook. func (o LookupProjectHookResultOutput) EnableSslVerification() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectHookResult) bool { return v.EnableSslVerification }).(pulumi.BoolOutput) @@ -177,7 +195,7 @@ func (o LookupProjectHookResultOutput) HookId() pulumi.IntOutput { return o.ApplyT(func(v LookupProjectHookResult) int { return v.HookId }).(pulumi.IntOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format `:`. func (o LookupProjectHookResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectHookResult) string { return v.Id }).(pulumi.StringOutput) } @@ -237,7 +255,9 @@ func (o LookupProjectHookResultOutput) TagPushEvents() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectHookResult) bool { return v.TagPushEvents }).(pulumi.BoolOutput) } -// A token to present when invoking the hook. The token is not available for imported resources. +// A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. +// +// Deprecated: The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. func (o LookupProjectHookResultOutput) Token() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectHookResult) string { return v.Token }).(pulumi.StringOutput) } @@ -247,6 +267,11 @@ func (o LookupProjectHookResultOutput) Url() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectHookResult) string { return v.Url }).(pulumi.StringOutput) } +// Invoke the hook for vulnerability events. +func (o LookupProjectHookResultOutput) VulnerabilityEvents() pulumi.BoolOutput { + return o.ApplyT(func(v LookupProjectHookResult) bool { return v.VulnerabilityEvents }).(pulumi.BoolOutput) +} + // Invoke the hook for wiki page events. func (o LookupProjectHookResultOutput) WikiPageEvents() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectHookResult) bool { return v.WikiPageEvents }).(pulumi.BoolOutput) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectHooks.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectHooks.go similarity index 90% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectHooks.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectHooks.go index d79efb076..4c2c9eff0 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectHooks.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectHooks.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,14 +22,14 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// example, err := gitlab.LookupProject(ctx, &gitlab.LookupProjectArgs{ +// example, err := gitlab.GetProject(ctx, &gitlab.LookupProjectArgs{ // Id: pulumi.StringRef("foo/bar/baz"), // }, nil) // if err != nil { @@ -66,7 +66,7 @@ type GetProjectHooksArgs struct { type GetProjectHooksResult struct { // The list of hooks. Hooks []GetProjectHooksHook `pulumi:"hooks"` - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format ``. Id string `pulumi:"id"` // The name or id of the project. Project string `pulumi:"project"` @@ -111,7 +111,7 @@ func (o GetProjectHooksResultOutput) Hooks() GetProjectHooksHookArrayOutput { return o.ApplyT(func(v GetProjectHooksResult) []GetProjectHooksHook { return v.Hooks }).(GetProjectHooksHookArrayOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format ``. func (o GetProjectHooksResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetProjectHooksResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectIds.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectIds.go similarity index 91% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectIds.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectIds.go index 8504cf1a4..cf575a35a 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectIds.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectIds.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,14 +22,16 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := gitlab.NewProject(ctx, "new_project", nil) +// _, err := gitlab.NewProject(ctx, "new_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("project"), +// }) // if err != nil { // return err // } @@ -65,6 +67,7 @@ type GetProjectIdsArgs struct { // A collection of values returned by getProjectIds. type GetProjectIdsResult struct { + // The ID of this Terraform resource. In the format of ``. Id string `pulumi:"id"` // The ID or URL-encoded path of the project. Project string `pulumi:"project"` @@ -110,6 +113,7 @@ func (o GetProjectIdsResultOutput) ToGetProjectIdsResultOutputWithContext(ctx co return o } +// The ID of this Terraform resource. In the format of ``. func (o GetProjectIdsResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetProjectIdsResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectIssue.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectIssue.go similarity index 97% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectIssue.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectIssue.go index f2fbdc124..6c1b9ce76 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectIssue.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectIssue.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,27 +22,27 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// foo, err := gitlab.LookupProject(ctx, &gitlab.LookupProjectArgs{ +// foo, err := gitlab.GetProject(ctx, &gitlab.LookupProjectArgs{ // PathWithNamespace: pulumi.StringRef("foo/bar/baz"), // }, nil) // if err != nil { // return err // } -// _, err = gitlab.LookupProjectIssue(ctx, &gitlab.LookupProjectIssueArgs{ +// _, err = gitlab.GetProjectIssue(ctx, &gitlab.LookupProjectIssueArgs{ // Project: foo.Id, // Iid: 1, // }, nil) // if err != nil { // return err // } -// ctx.Export("welcomeIssueWebUrl", webUrl) +// ctx.Export("welcomeIssueWebUrl", pulumi.Any(webUrl)) // return nil // }) // } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectIssueLabelEvents.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectIssueLabelEvents.go new file mode 100644 index 000000000..28c16c564 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectIssueLabelEvents.go @@ -0,0 +1,143 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `getProjectIssueLabelEvents` data source retrieves label events for a specific GitLab project issue. +// +// **Upstream API**: [GitLab Resource Label Events API docs](https://docs.gitlab.com/api/resource_label_events/) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.GetProjectIssueLabelEvents(ctx, &gitlab.GetProjectIssueLabelEventsArgs{ +// Project: "my-group/my-project", +// IssueIid: 42, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetProjectIssueLabelEvents(ctx *pulumi.Context, args *GetProjectIssueLabelEventsArgs, opts ...pulumi.InvokeOption) (*GetProjectIssueLabelEventsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetProjectIssueLabelEventsResult + err := ctx.Invoke("gitlab:index/getProjectIssueLabelEvents:getProjectIssueLabelEvents", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getProjectIssueLabelEvents. +type GetProjectIssueLabelEventsArgs struct { + // The internal ID of the issue. + IssueIid int `pulumi:"issueIid"` + // Number of pages to return. Default is 1. + PagesReturned *int `pulumi:"pagesReturned"` + // The ID or full path of the project. + Project string `pulumi:"project"` +} + +// A collection of values returned by getProjectIssueLabelEvents. +type GetProjectIssueLabelEventsResult struct { + // List of label events for the issue. + Events []GetProjectIssueLabelEventsEvent `pulumi:"events"` + // The ID of this Terraform resource. In the format of `:`. + Id string `pulumi:"id"` + // The internal ID of the issue. + IssueIid int `pulumi:"issueIid"` + // Number of pages to return. Default is 1. + PagesReturned *int `pulumi:"pagesReturned"` + // The ID or full path of the project. + Project string `pulumi:"project"` +} + +func GetProjectIssueLabelEventsOutput(ctx *pulumi.Context, args GetProjectIssueLabelEventsOutputArgs, opts ...pulumi.InvokeOption) GetProjectIssueLabelEventsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetProjectIssueLabelEventsResultOutput, error) { + args := v.(GetProjectIssueLabelEventsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("gitlab:index/getProjectIssueLabelEvents:getProjectIssueLabelEvents", args, GetProjectIssueLabelEventsResultOutput{}, options).(GetProjectIssueLabelEventsResultOutput), nil + }).(GetProjectIssueLabelEventsResultOutput) +} + +// A collection of arguments for invoking getProjectIssueLabelEvents. +type GetProjectIssueLabelEventsOutputArgs struct { + // The internal ID of the issue. + IssueIid pulumi.IntInput `pulumi:"issueIid"` + // Number of pages to return. Default is 1. + PagesReturned pulumi.IntPtrInput `pulumi:"pagesReturned"` + // The ID or full path of the project. + Project pulumi.StringInput `pulumi:"project"` +} + +func (GetProjectIssueLabelEventsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectIssueLabelEventsArgs)(nil)).Elem() +} + +// A collection of values returned by getProjectIssueLabelEvents. +type GetProjectIssueLabelEventsResultOutput struct{ *pulumi.OutputState } + +func (GetProjectIssueLabelEventsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectIssueLabelEventsResult)(nil)).Elem() +} + +func (o GetProjectIssueLabelEventsResultOutput) ToGetProjectIssueLabelEventsResultOutput() GetProjectIssueLabelEventsResultOutput { + return o +} + +func (o GetProjectIssueLabelEventsResultOutput) ToGetProjectIssueLabelEventsResultOutputWithContext(ctx context.Context) GetProjectIssueLabelEventsResultOutput { + return o +} + +// List of label events for the issue. +func (o GetProjectIssueLabelEventsResultOutput) Events() GetProjectIssueLabelEventsEventArrayOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsResult) []GetProjectIssueLabelEventsEvent { return v.Events }).(GetProjectIssueLabelEventsEventArrayOutput) +} + +// The ID of this Terraform resource. In the format of `:`. +func (o GetProjectIssueLabelEventsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The internal ID of the issue. +func (o GetProjectIssueLabelEventsResultOutput) IssueIid() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsResult) int { return v.IssueIid }).(pulumi.IntOutput) +} + +// Number of pages to return. Default is 1. +func (o GetProjectIssueLabelEventsResultOutput) PagesReturned() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsResult) *int { return v.PagesReturned }).(pulumi.IntPtrOutput) +} + +// The ID or full path of the project. +func (o GetProjectIssueLabelEventsResultOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsResult) string { return v.Project }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetProjectIssueLabelEventsResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectIssues.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectIssues.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectIssues.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectIssues.go index a3350f371..977b50b32 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectIssues.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectIssues.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,14 +22,14 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// foo, err := gitlab.LookupProject(ctx, &gitlab.LookupProjectArgs{ +// foo, err := gitlab.GetProject(ctx, &gitlab.LookupProjectArgs{ // Id: pulumi.StringRef("foo/bar/baz"), // }, nil) // if err != nil { @@ -84,15 +84,15 @@ type GetProjectIssuesArgs struct { // Return issues reacted by the authenticated user by the given emoji. None returns issues not given a reaction. Any returns issues given at least one reaction. MyReactionEmoji *string `pulumi:"myReactionEmoji"` // Return issues that do not match the assignee id. - NotAssigneeIds []int `pulumi:"notAssigneeIds"` + NotAssigneeId *int `pulumi:"notAssigneeId"` // Return issues that do not match the author id. - NotAuthorIds []int `pulumi:"notAuthorIds"` + NotAuthorId *int `pulumi:"notAuthorId"` // Return issues that do not match the labels. NotLabels []string `pulumi:"notLabels"` // Return issues that do not match the milestone. NotMilestone *string `pulumi:"notMilestone"` // Return issues not reacted by the authenticated user by the given emoji. - NotMyReactionEmojis []string `pulumi:"notMyReactionEmojis"` + NotMyReactionEmoji *string `pulumi:"notMyReactionEmoji"` // Return issues ordered by. Valid values are `createdAt`, `updatedAt`, `priority`, `dueDate`, `relativePosition`, `labelPriority`, `milestoneDue`, `popularity`, `weight`. Default is created_at OrderBy *string `pulumi:"orderBy"` // The name or id of the project. @@ -144,15 +144,15 @@ type GetProjectIssuesResult struct { // Return issues reacted by the authenticated user by the given emoji. None returns issues not given a reaction. Any returns issues given at least one reaction. MyReactionEmoji *string `pulumi:"myReactionEmoji"` // Return issues that do not match the assignee id. - NotAssigneeIds []int `pulumi:"notAssigneeIds"` + NotAssigneeId *int `pulumi:"notAssigneeId"` // Return issues that do not match the author id. - NotAuthorIds []int `pulumi:"notAuthorIds"` + NotAuthorId *int `pulumi:"notAuthorId"` // Return issues that do not match the labels. NotLabels []string `pulumi:"notLabels"` // Return issues that do not match the milestone. NotMilestone *string `pulumi:"notMilestone"` // Return issues not reacted by the authenticated user by the given emoji. - NotMyReactionEmojis []string `pulumi:"notMyReactionEmojis"` + NotMyReactionEmoji *string `pulumi:"notMyReactionEmoji"` // Return issues ordered by. Valid values are `createdAt`, `updatedAt`, `priority`, `dueDate`, `relativePosition`, `labelPriority`, `milestoneDue`, `popularity`, `weight`. Default is created_at OrderBy *string `pulumi:"orderBy"` // The name or id of the project. @@ -209,15 +209,15 @@ type GetProjectIssuesOutputArgs struct { // Return issues reacted by the authenticated user by the given emoji. None returns issues not given a reaction. Any returns issues given at least one reaction. MyReactionEmoji pulumi.StringPtrInput `pulumi:"myReactionEmoji"` // Return issues that do not match the assignee id. - NotAssigneeIds pulumi.IntArrayInput `pulumi:"notAssigneeIds"` + NotAssigneeId pulumi.IntPtrInput `pulumi:"notAssigneeId"` // Return issues that do not match the author id. - NotAuthorIds pulumi.IntArrayInput `pulumi:"notAuthorIds"` + NotAuthorId pulumi.IntPtrInput `pulumi:"notAuthorId"` // Return issues that do not match the labels. NotLabels pulumi.StringArrayInput `pulumi:"notLabels"` // Return issues that do not match the milestone. NotMilestone pulumi.StringPtrInput `pulumi:"notMilestone"` // Return issues not reacted by the authenticated user by the given emoji. - NotMyReactionEmojis pulumi.StringArrayInput `pulumi:"notMyReactionEmojis"` + NotMyReactionEmoji pulumi.StringPtrInput `pulumi:"notMyReactionEmoji"` // Return issues ordered by. Valid values are `createdAt`, `updatedAt`, `priority`, `dueDate`, `relativePosition`, `labelPriority`, `milestoneDue`, `popularity`, `weight`. Default is created_at OrderBy pulumi.StringPtrInput `pulumi:"orderBy"` // The name or id of the project. @@ -328,13 +328,13 @@ func (o GetProjectIssuesResultOutput) MyReactionEmoji() pulumi.StringPtrOutput { } // Return issues that do not match the assignee id. -func (o GetProjectIssuesResultOutput) NotAssigneeIds() pulumi.IntArrayOutput { - return o.ApplyT(func(v GetProjectIssuesResult) []int { return v.NotAssigneeIds }).(pulumi.IntArrayOutput) +func (o GetProjectIssuesResultOutput) NotAssigneeId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectIssuesResult) *int { return v.NotAssigneeId }).(pulumi.IntPtrOutput) } // Return issues that do not match the author id. -func (o GetProjectIssuesResultOutput) NotAuthorIds() pulumi.IntArrayOutput { - return o.ApplyT(func(v GetProjectIssuesResult) []int { return v.NotAuthorIds }).(pulumi.IntArrayOutput) +func (o GetProjectIssuesResultOutput) NotAuthorId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectIssuesResult) *int { return v.NotAuthorId }).(pulumi.IntPtrOutput) } // Return issues that do not match the labels. @@ -348,8 +348,8 @@ func (o GetProjectIssuesResultOutput) NotMilestone() pulumi.StringPtrOutput { } // Return issues not reacted by the authenticated user by the given emoji. -func (o GetProjectIssuesResultOutput) NotMyReactionEmojis() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetProjectIssuesResult) []string { return v.NotMyReactionEmojis }).(pulumi.StringArrayOutput) +func (o GetProjectIssuesResultOutput) NotMyReactionEmoji() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectIssuesResult) *string { return v.NotMyReactionEmoji }).(pulumi.StringPtrOutput) } // Return issues ordered by. Valid values are `createdAt`, `updatedAt`, `priority`, `dueDate`, `relativePosition`, `labelPriority`, `milestoneDue`, `popularity`, `weight`. Default is created_at diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectLabel.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectLabel.go new file mode 100644 index 000000000..dcd870c7a --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectLabel.go @@ -0,0 +1,204 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectLabel` data source retrieves details about a project label. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/labels/) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// // Retrieve a project label by its ID +// _, err := gitlab.GetProjectLabel(ctx, &gitlab.LookupProjectLabelArgs{ +// Project: "385", +// LabelId: 24, +// }, nil) +// if err != nil { +// return err +// } +// // Retrieve using project path +// _, err = gitlab.GetProjectLabel(ctx, &gitlab.LookupProjectLabelArgs{ +// Project: "group/project", +// LabelId: 25, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupProjectLabel(ctx *pulumi.Context, args *LookupProjectLabelArgs, opts ...pulumi.InvokeOption) (*LookupProjectLabelResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupProjectLabelResult + err := ctx.Invoke("gitlab:index/getProjectLabel:getProjectLabel", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getProjectLabel. +type LookupProjectLabelArgs struct { + // The ID of the label. + LabelId int `pulumi:"labelId"` + // The ID or URL-encoded path of the project. + Project string `pulumi:"project"` +} + +// A collection of values returned by getProjectLabel. +type LookupProjectLabelResult struct { + // The number of closed issues with this label. + ClosedIssuesCount int `pulumi:"closedIssuesCount"` + // The color of the label given in 6-digit hex notation with leading '#' sign. + Color string `pulumi:"color"` + // The description of the label. + Description string `pulumi:"description"` + // The ID of the label in the format `project:label_id`. + Id string `pulumi:"id"` + // Whether the label is a project label. + IsProjectLabel bool `pulumi:"isProjectLabel"` + // The ID of the label. + LabelId int `pulumi:"labelId"` + // The name of the label. + Name string `pulumi:"name"` + // The number of open issues with this label. + OpenIssuesCount int `pulumi:"openIssuesCount"` + // The number of open merge requests with this label. + OpenMergeRequestsCount int `pulumi:"openMergeRequestsCount"` + // The priority of the label. Null if no priority is set. + Priority int `pulumi:"priority"` + // The ID or URL-encoded path of the project. + Project string `pulumi:"project"` + // Whether the authenticated user is subscribed to the label. + Subscribed bool `pulumi:"subscribed"` + // The text color of the label given in 6-digit hex notation with leading '#' sign. + TextColor string `pulumi:"textColor"` +} + +func LookupProjectLabelOutput(ctx *pulumi.Context, args LookupProjectLabelOutputArgs, opts ...pulumi.InvokeOption) LookupProjectLabelResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupProjectLabelResultOutput, error) { + args := v.(LookupProjectLabelArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("gitlab:index/getProjectLabel:getProjectLabel", args, LookupProjectLabelResultOutput{}, options).(LookupProjectLabelResultOutput), nil + }).(LookupProjectLabelResultOutput) +} + +// A collection of arguments for invoking getProjectLabel. +type LookupProjectLabelOutputArgs struct { + // The ID of the label. + LabelId pulumi.IntInput `pulumi:"labelId"` + // The ID or URL-encoded path of the project. + Project pulumi.StringInput `pulumi:"project"` +} + +func (LookupProjectLabelOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupProjectLabelArgs)(nil)).Elem() +} + +// A collection of values returned by getProjectLabel. +type LookupProjectLabelResultOutput struct{ *pulumi.OutputState } + +func (LookupProjectLabelResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupProjectLabelResult)(nil)).Elem() +} + +func (o LookupProjectLabelResultOutput) ToLookupProjectLabelResultOutput() LookupProjectLabelResultOutput { + return o +} + +func (o LookupProjectLabelResultOutput) ToLookupProjectLabelResultOutputWithContext(ctx context.Context) LookupProjectLabelResultOutput { + return o +} + +// The number of closed issues with this label. +func (o LookupProjectLabelResultOutput) ClosedIssuesCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupProjectLabelResult) int { return v.ClosedIssuesCount }).(pulumi.IntOutput) +} + +// The color of the label given in 6-digit hex notation with leading '#' sign. +func (o LookupProjectLabelResultOutput) Color() pulumi.StringOutput { + return o.ApplyT(func(v LookupProjectLabelResult) string { return v.Color }).(pulumi.StringOutput) +} + +// The description of the label. +func (o LookupProjectLabelResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupProjectLabelResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The ID of the label in the format `project:label_id`. +func (o LookupProjectLabelResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupProjectLabelResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Whether the label is a project label. +func (o LookupProjectLabelResultOutput) IsProjectLabel() pulumi.BoolOutput { + return o.ApplyT(func(v LookupProjectLabelResult) bool { return v.IsProjectLabel }).(pulumi.BoolOutput) +} + +// The ID of the label. +func (o LookupProjectLabelResultOutput) LabelId() pulumi.IntOutput { + return o.ApplyT(func(v LookupProjectLabelResult) int { return v.LabelId }).(pulumi.IntOutput) +} + +// The name of the label. +func (o LookupProjectLabelResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupProjectLabelResult) string { return v.Name }).(pulumi.StringOutput) +} + +// The number of open issues with this label. +func (o LookupProjectLabelResultOutput) OpenIssuesCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupProjectLabelResult) int { return v.OpenIssuesCount }).(pulumi.IntOutput) +} + +// The number of open merge requests with this label. +func (o LookupProjectLabelResultOutput) OpenMergeRequestsCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupProjectLabelResult) int { return v.OpenMergeRequestsCount }).(pulumi.IntOutput) +} + +// The priority of the label. Null if no priority is set. +func (o LookupProjectLabelResultOutput) Priority() pulumi.IntOutput { + return o.ApplyT(func(v LookupProjectLabelResult) int { return v.Priority }).(pulumi.IntOutput) +} + +// The ID or URL-encoded path of the project. +func (o LookupProjectLabelResultOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v LookupProjectLabelResult) string { return v.Project }).(pulumi.StringOutput) +} + +// Whether the authenticated user is subscribed to the label. +func (o LookupProjectLabelResultOutput) Subscribed() pulumi.BoolOutput { + return o.ApplyT(func(v LookupProjectLabelResult) bool { return v.Subscribed }).(pulumi.BoolOutput) +} + +// The text color of the label given in 6-digit hex notation with leading '#' sign. +func (o LookupProjectLabelResultOutput) TextColor() pulumi.StringOutput { + return o.ApplyT(func(v LookupProjectLabelResult) string { return v.TextColor }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupProjectLabelResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectLabels.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectLabels.go new file mode 100644 index 000000000..3b63a56e5 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectLabels.go @@ -0,0 +1,120 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `getProjectLabels` data source retrieves a list of labels for a project. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/labels/) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.GetProjectLabels(ctx, &gitlab.GetProjectLabelsArgs{ +// Project: "385", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetProjectLabels(ctx *pulumi.Context, args *GetProjectLabelsArgs, opts ...pulumi.InvokeOption) (*GetProjectLabelsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetProjectLabelsResult + err := ctx.Invoke("gitlab:index/getProjectLabels:getProjectLabels", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getProjectLabels. +type GetProjectLabelsArgs struct { + // The ID or URL-encoded path of the project. + Project string `pulumi:"project"` +} + +// A collection of values returned by getProjectLabels. +type GetProjectLabelsResult struct { + // The ID of this data source. + Id string `pulumi:"id"` + // The list of labels in the project. + Labels []GetProjectLabelsLabel `pulumi:"labels"` + // The ID or URL-encoded path of the project. + Project string `pulumi:"project"` +} + +func GetProjectLabelsOutput(ctx *pulumi.Context, args GetProjectLabelsOutputArgs, opts ...pulumi.InvokeOption) GetProjectLabelsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetProjectLabelsResultOutput, error) { + args := v.(GetProjectLabelsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("gitlab:index/getProjectLabels:getProjectLabels", args, GetProjectLabelsResultOutput{}, options).(GetProjectLabelsResultOutput), nil + }).(GetProjectLabelsResultOutput) +} + +// A collection of arguments for invoking getProjectLabels. +type GetProjectLabelsOutputArgs struct { + // The ID or URL-encoded path of the project. + Project pulumi.StringInput `pulumi:"project"` +} + +func (GetProjectLabelsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectLabelsArgs)(nil)).Elem() +} + +// A collection of values returned by getProjectLabels. +type GetProjectLabelsResultOutput struct{ *pulumi.OutputState } + +func (GetProjectLabelsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectLabelsResult)(nil)).Elem() +} + +func (o GetProjectLabelsResultOutput) ToGetProjectLabelsResultOutput() GetProjectLabelsResultOutput { + return o +} + +func (o GetProjectLabelsResultOutput) ToGetProjectLabelsResultOutputWithContext(ctx context.Context) GetProjectLabelsResultOutput { + return o +} + +// The ID of this data source. +func (o GetProjectLabelsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectLabelsResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The list of labels in the project. +func (o GetProjectLabelsResultOutput) Labels() GetProjectLabelsLabelArrayOutput { + return o.ApplyT(func(v GetProjectLabelsResult) []GetProjectLabelsLabel { return v.Labels }).(GetProjectLabelsLabelArrayOutput) +} + +// The ID or URL-encoded path of the project. +func (o GetProjectLabelsResultOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectLabelsResult) string { return v.Project }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetProjectLabelsResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectMembership.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMembership.go similarity index 71% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectMembership.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMembership.go index 36fdfb0ee..ede860595 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectMembership.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMembership.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,15 +7,13 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectMembership` data source allows to list and filter all members of a project specified by either its id or full path. +// The `ProjectMembership` data source allows you to list and filter all members of a project. // -// > **Note** exactly one of projectId or fullPath must be provided. -// -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/members/#list-all-members-of-a-group-or-project) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_members/#list-all-members-of-a-project) func LookupProjectMembership(ctx *pulumi.Context, args *LookupProjectMembershipArgs, opts ...pulumi.InvokeOption) (*LookupProjectMembershipResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupProjectMembershipResult @@ -28,11 +26,17 @@ func LookupProjectMembership(ctx *pulumi.Context, args *LookupProjectMembershipA // A collection of arguments for invoking getProjectMembership. type LookupProjectMembershipArgs struct { - // The full path of the project. + // The full path of the project. Use `project` instead. Will be removed in 19.0. + // + // Deprecated: Use `project` instead. Will be removed in 19.0. FullPath *string `pulumi:"fullPath"` // Return all project members including members through ancestor groups Inherited *bool `pulumi:"inherited"` - // The ID of the project. + // The ID or full path of the project. + Project *string `pulumi:"project"` + // The ID of the project. Use `project` instead. Will be removed in 19.0. + // + // Deprecated: Use `project` instead. Will be removed in 19.0. ProjectId *int `pulumi:"projectId"` // A query string to search for members Query *string `pulumi:"query"` @@ -42,15 +46,21 @@ type LookupProjectMembershipArgs struct { // A collection of values returned by getProjectMembership. type LookupProjectMembershipResult struct { - // The full path of the project. + // The full path of the project. Use `project` instead. Will be removed in 19.0. + // + // Deprecated: Use `project` instead. Will be removed in 19.0. FullPath string `pulumi:"fullPath"` - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format `` if query is set, otherwise ``. Id string `pulumi:"id"` // Return all project members including members through ancestor groups Inherited *bool `pulumi:"inherited"` // The list of project members. Members []GetProjectMembershipMember `pulumi:"members"` - // The ID of the project. + // The ID or full path of the project. + Project string `pulumi:"project"` + // The ID of the project. Use `project` instead. Will be removed in 19.0. + // + // Deprecated: Use `project` instead. Will be removed in 19.0. ProjectId int `pulumi:"projectId"` // A query string to search for members Query *string `pulumi:"query"` @@ -69,11 +79,17 @@ func LookupProjectMembershipOutput(ctx *pulumi.Context, args LookupProjectMember // A collection of arguments for invoking getProjectMembership. type LookupProjectMembershipOutputArgs struct { - // The full path of the project. + // The full path of the project. Use `project` instead. Will be removed in 19.0. + // + // Deprecated: Use `project` instead. Will be removed in 19.0. FullPath pulumi.StringPtrInput `pulumi:"fullPath"` // Return all project members including members through ancestor groups Inherited pulumi.BoolPtrInput `pulumi:"inherited"` - // The ID of the project. + // The ID or full path of the project. + Project pulumi.StringPtrInput `pulumi:"project"` + // The ID of the project. Use `project` instead. Will be removed in 19.0. + // + // Deprecated: Use `project` instead. Will be removed in 19.0. ProjectId pulumi.IntPtrInput `pulumi:"projectId"` // A query string to search for members Query pulumi.StringPtrInput `pulumi:"query"` @@ -100,12 +116,14 @@ func (o LookupProjectMembershipResultOutput) ToLookupProjectMembershipResultOutp return o } -// The full path of the project. +// The full path of the project. Use `project` instead. Will be removed in 19.0. +// +// Deprecated: Use `project` instead. Will be removed in 19.0. func (o LookupProjectMembershipResultOutput) FullPath() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectMembershipResult) string { return v.FullPath }).(pulumi.StringOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format `` if query is set, otherwise ``. func (o LookupProjectMembershipResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectMembershipResult) string { return v.Id }).(pulumi.StringOutput) } @@ -120,7 +138,14 @@ func (o LookupProjectMembershipResultOutput) Members() GetProjectMembershipMembe return o.ApplyT(func(v LookupProjectMembershipResult) []GetProjectMembershipMember { return v.Members }).(GetProjectMembershipMemberArrayOutput) } -// The ID of the project. +// The ID or full path of the project. +func (o LookupProjectMembershipResultOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v LookupProjectMembershipResult) string { return v.Project }).(pulumi.StringOutput) +} + +// The ID of the project. Use `project` instead. Will be removed in 19.0. +// +// Deprecated: Use `project` instead. Will be removed in 19.0. func (o LookupProjectMembershipResultOutput) ProjectId() pulumi.IntOutput { return o.ApplyT(func(v LookupProjectMembershipResult) int { return v.ProjectId }).(pulumi.IntOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectMergeRequest.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMergeRequest.go similarity index 97% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectMergeRequest.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMergeRequest.go index 75b9e517a..0d35aec9a 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectMergeRequest.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMergeRequest.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMergeRequests.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMergeRequests.go new file mode 100644 index 000000000..2eab0bb2d --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMergeRequests.go @@ -0,0 +1,329 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `getProjectMergeRequests` data source retrieves +// information about a list of merge requests related to a specific project. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/merge_requests/#list-project-merge-requests) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.GetProjectMergeRequests(ctx, &gitlab.GetProjectMergeRequestsArgs{ +// Project: "123", +// TargetBranch: pulumi.StringRef("main"), +// Wip: pulumi.StringRef("yes"), +// }, nil) +// if err != nil { +// return err +// } +// _, err = gitlab.GetProjectMergeRequests(ctx, &gitlab.GetProjectMergeRequestsArgs{ +// Project: "company/group/project1", +// AuthorId: pulumi.IntRef(5), +// CreatedAfter: pulumi.StringRef("2024-07-25T12:00:00Z"), +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetProjectMergeRequests(ctx *pulumi.Context, args *GetProjectMergeRequestsArgs, opts ...pulumi.InvokeOption) (*GetProjectMergeRequestsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetProjectMergeRequestsResult + err := ctx.Invoke("gitlab:index/getProjectMergeRequests:getProjectMergeRequests", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getProjectMergeRequests. +type GetProjectMergeRequestsArgs struct { + // Return merge requests created by the given user ID. + AuthorId *int `pulumi:"authorId"` + // Return merge requests created by the given username. + AuthorUsername *string `pulumi:"authorUsername"` + // Return merge requests created after the given time. Expected in RFC3339 format (2006-01-02T15:04:05Z). + CreatedAfter *string `pulumi:"createdAfter"` + // Return merge requests created before the given time. Expected in RFC3339 format (2006-01-02T15:04:05Z). + CreatedBefore *string `pulumi:"createdBefore"` + // The unique internal IDs of the merge requests. + Iids []int `pulumi:"iids"` + // Return only merge requests for a specific milestone. `None` returns merge requests with no milestone. `Any` returns merge requests that have an assigned milestone. + Milestone *string `pulumi:"milestone"` + // Return merge requests reacted to by the authenticated user with the given emoji. `None` returns issues not given a reaction. `Any` returns issues given at least one reaction. + MyReactionEmoji *string `pulumi:"myReactionEmoji"` + // Return requests ordered by `createdAt`, `title` or `updatedAt`. Default is `createdAt`. + OrderBy *string `pulumi:"orderBy"` + // The ID or path of the project. + Project string `pulumi:"project"` + // Return merge requests reviewed by the given username. `None` returns merge requests with no reviews. `Any` returns merge requests with any reviewer. + ReviewerUsername *string `pulumi:"reviewerUsername"` + // Return merge requests for the given scope: `createdByMe`, `assignedToMe`, or `all`. + Scope *string `pulumi:"scope"` + // Search merge requests against their `title` or `description`. + Search *string `pulumi:"search"` + // Return requests sorted in `asc` or `desc` order. Default is `desc`. + Sort *string `pulumi:"sort"` + // Return merge requests with the given source branch. + SourceBranch *string `pulumi:"sourceBranch"` + // Return all merge requests (all) or just those that are opened, closed, locked, or merged. + State *string `pulumi:"state"` + // Return merge requests with the given target branch. + TargetBranch *string `pulumi:"targetBranch"` + // Return merge requests updated after the given time. Expected in RFC3339 format (2006-01-02T15:04:05Z). + UpdatedAfter *string `pulumi:"updatedAfter"` + // Return merge requests updated before the given time. Expected in RFC3339 format (2006-01-02T15:04:05Z). + UpdatedBefore *string `pulumi:"updatedBefore"` + // Filter merge requests against their wip status. `yes` to return only draft merge requests, `no` to return non-draft merge requests. + Wip *string `pulumi:"wip"` +} + +// A collection of values returned by getProjectMergeRequests. +type GetProjectMergeRequestsResult struct { + // Return merge requests created by the given user ID. + AuthorId *int `pulumi:"authorId"` + // Return merge requests created by the given username. + AuthorUsername *string `pulumi:"authorUsername"` + // Return merge requests created after the given time. Expected in RFC3339 format (2006-01-02T15:04:05Z). + CreatedAfter *string `pulumi:"createdAfter"` + // Return merge requests created before the given time. Expected in RFC3339 format (2006-01-02T15:04:05Z). + CreatedBefore *string `pulumi:"createdBefore"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // The unique internal IDs of the merge requests. + Iids []int `pulumi:"iids"` + // The list of merge requests. + MergeRequests []GetProjectMergeRequestsMergeRequest `pulumi:"mergeRequests"` + // Return only merge requests for a specific milestone. `None` returns merge requests with no milestone. `Any` returns merge requests that have an assigned milestone. + Milestone *string `pulumi:"milestone"` + // Return merge requests reacted to by the authenticated user with the given emoji. `None` returns issues not given a reaction. `Any` returns issues given at least one reaction. + MyReactionEmoji *string `pulumi:"myReactionEmoji"` + // Return requests ordered by `createdAt`, `title` or `updatedAt`. Default is `createdAt`. + OrderBy *string `pulumi:"orderBy"` + // The ID or path of the project. + Project string `pulumi:"project"` + // Return merge requests reviewed by the given username. `None` returns merge requests with no reviews. `Any` returns merge requests with any reviewer. + ReviewerUsername *string `pulumi:"reviewerUsername"` + // Return merge requests for the given scope: `createdByMe`, `assignedToMe`, or `all`. + Scope *string `pulumi:"scope"` + // Search merge requests against their `title` or `description`. + Search *string `pulumi:"search"` + // Return requests sorted in `asc` or `desc` order. Default is `desc`. + Sort *string `pulumi:"sort"` + // Return merge requests with the given source branch. + SourceBranch *string `pulumi:"sourceBranch"` + // Return all merge requests (all) or just those that are opened, closed, locked, or merged. + State *string `pulumi:"state"` + // Return merge requests with the given target branch. + TargetBranch *string `pulumi:"targetBranch"` + // Return merge requests updated after the given time. Expected in RFC3339 format (2006-01-02T15:04:05Z). + UpdatedAfter *string `pulumi:"updatedAfter"` + // Return merge requests updated before the given time. Expected in RFC3339 format (2006-01-02T15:04:05Z). + UpdatedBefore *string `pulumi:"updatedBefore"` + // Filter merge requests against their wip status. `yes` to return only draft merge requests, `no` to return non-draft merge requests. + Wip *string `pulumi:"wip"` +} + +func GetProjectMergeRequestsOutput(ctx *pulumi.Context, args GetProjectMergeRequestsOutputArgs, opts ...pulumi.InvokeOption) GetProjectMergeRequestsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetProjectMergeRequestsResultOutput, error) { + args := v.(GetProjectMergeRequestsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("gitlab:index/getProjectMergeRequests:getProjectMergeRequests", args, GetProjectMergeRequestsResultOutput{}, options).(GetProjectMergeRequestsResultOutput), nil + }).(GetProjectMergeRequestsResultOutput) +} + +// A collection of arguments for invoking getProjectMergeRequests. +type GetProjectMergeRequestsOutputArgs struct { + // Return merge requests created by the given user ID. + AuthorId pulumi.IntPtrInput `pulumi:"authorId"` + // Return merge requests created by the given username. + AuthorUsername pulumi.StringPtrInput `pulumi:"authorUsername"` + // Return merge requests created after the given time. Expected in RFC3339 format (2006-01-02T15:04:05Z). + CreatedAfter pulumi.StringPtrInput `pulumi:"createdAfter"` + // Return merge requests created before the given time. Expected in RFC3339 format (2006-01-02T15:04:05Z). + CreatedBefore pulumi.StringPtrInput `pulumi:"createdBefore"` + // The unique internal IDs of the merge requests. + Iids pulumi.IntArrayInput `pulumi:"iids"` + // Return only merge requests for a specific milestone. `None` returns merge requests with no milestone. `Any` returns merge requests that have an assigned milestone. + Milestone pulumi.StringPtrInput `pulumi:"milestone"` + // Return merge requests reacted to by the authenticated user with the given emoji. `None` returns issues not given a reaction. `Any` returns issues given at least one reaction. + MyReactionEmoji pulumi.StringPtrInput `pulumi:"myReactionEmoji"` + // Return requests ordered by `createdAt`, `title` or `updatedAt`. Default is `createdAt`. + OrderBy pulumi.StringPtrInput `pulumi:"orderBy"` + // The ID or path of the project. + Project pulumi.StringInput `pulumi:"project"` + // Return merge requests reviewed by the given username. `None` returns merge requests with no reviews. `Any` returns merge requests with any reviewer. + ReviewerUsername pulumi.StringPtrInput `pulumi:"reviewerUsername"` + // Return merge requests for the given scope: `createdByMe`, `assignedToMe`, or `all`. + Scope pulumi.StringPtrInput `pulumi:"scope"` + // Search merge requests against their `title` or `description`. + Search pulumi.StringPtrInput `pulumi:"search"` + // Return requests sorted in `asc` or `desc` order. Default is `desc`. + Sort pulumi.StringPtrInput `pulumi:"sort"` + // Return merge requests with the given source branch. + SourceBranch pulumi.StringPtrInput `pulumi:"sourceBranch"` + // Return all merge requests (all) or just those that are opened, closed, locked, or merged. + State pulumi.StringPtrInput `pulumi:"state"` + // Return merge requests with the given target branch. + TargetBranch pulumi.StringPtrInput `pulumi:"targetBranch"` + // Return merge requests updated after the given time. Expected in RFC3339 format (2006-01-02T15:04:05Z). + UpdatedAfter pulumi.StringPtrInput `pulumi:"updatedAfter"` + // Return merge requests updated before the given time. Expected in RFC3339 format (2006-01-02T15:04:05Z). + UpdatedBefore pulumi.StringPtrInput `pulumi:"updatedBefore"` + // Filter merge requests against their wip status. `yes` to return only draft merge requests, `no` to return non-draft merge requests. + Wip pulumi.StringPtrInput `pulumi:"wip"` +} + +func (GetProjectMergeRequestsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectMergeRequestsArgs)(nil)).Elem() +} + +// A collection of values returned by getProjectMergeRequests. +type GetProjectMergeRequestsResultOutput struct{ *pulumi.OutputState } + +func (GetProjectMergeRequestsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectMergeRequestsResult)(nil)).Elem() +} + +func (o GetProjectMergeRequestsResultOutput) ToGetProjectMergeRequestsResultOutput() GetProjectMergeRequestsResultOutput { + return o +} + +func (o GetProjectMergeRequestsResultOutput) ToGetProjectMergeRequestsResultOutputWithContext(ctx context.Context) GetProjectMergeRequestsResultOutput { + return o +} + +// Return merge requests created by the given user ID. +func (o GetProjectMergeRequestsResultOutput) AuthorId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *int { return v.AuthorId }).(pulumi.IntPtrOutput) +} + +// Return merge requests created by the given username. +func (o GetProjectMergeRequestsResultOutput) AuthorUsername() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *string { return v.AuthorUsername }).(pulumi.StringPtrOutput) +} + +// Return merge requests created after the given time. Expected in RFC3339 format (2006-01-02T15:04:05Z). +func (o GetProjectMergeRequestsResultOutput) CreatedAfter() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *string { return v.CreatedAfter }).(pulumi.StringPtrOutput) +} + +// Return merge requests created before the given time. Expected in RFC3339 format (2006-01-02T15:04:05Z). +func (o GetProjectMergeRequestsResultOutput) CreatedBefore() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *string { return v.CreatedBefore }).(pulumi.StringPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetProjectMergeRequestsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique internal IDs of the merge requests. +func (o GetProjectMergeRequestsResultOutput) Iids() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) []int { return v.Iids }).(pulumi.IntArrayOutput) +} + +// The list of merge requests. +func (o GetProjectMergeRequestsResultOutput) MergeRequests() GetProjectMergeRequestsMergeRequestArrayOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) []GetProjectMergeRequestsMergeRequest { return v.MergeRequests }).(GetProjectMergeRequestsMergeRequestArrayOutput) +} + +// Return only merge requests for a specific milestone. `None` returns merge requests with no milestone. `Any` returns merge requests that have an assigned milestone. +func (o GetProjectMergeRequestsResultOutput) Milestone() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *string { return v.Milestone }).(pulumi.StringPtrOutput) +} + +// Return merge requests reacted to by the authenticated user with the given emoji. `None` returns issues not given a reaction. `Any` returns issues given at least one reaction. +func (o GetProjectMergeRequestsResultOutput) MyReactionEmoji() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *string { return v.MyReactionEmoji }).(pulumi.StringPtrOutput) +} + +// Return requests ordered by `createdAt`, `title` or `updatedAt`. Default is `createdAt`. +func (o GetProjectMergeRequestsResultOutput) OrderBy() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *string { return v.OrderBy }).(pulumi.StringPtrOutput) +} + +// The ID or path of the project. +func (o GetProjectMergeRequestsResultOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) string { return v.Project }).(pulumi.StringOutput) +} + +// Return merge requests reviewed by the given username. `None` returns merge requests with no reviews. `Any` returns merge requests with any reviewer. +func (o GetProjectMergeRequestsResultOutput) ReviewerUsername() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *string { return v.ReviewerUsername }).(pulumi.StringPtrOutput) +} + +// Return merge requests for the given scope: `createdByMe`, `assignedToMe`, or `all`. +func (o GetProjectMergeRequestsResultOutput) Scope() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *string { return v.Scope }).(pulumi.StringPtrOutput) +} + +// Search merge requests against their `title` or `description`. +func (o GetProjectMergeRequestsResultOutput) Search() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *string { return v.Search }).(pulumi.StringPtrOutput) +} + +// Return requests sorted in `asc` or `desc` order. Default is `desc`. +func (o GetProjectMergeRequestsResultOutput) Sort() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *string { return v.Sort }).(pulumi.StringPtrOutput) +} + +// Return merge requests with the given source branch. +func (o GetProjectMergeRequestsResultOutput) SourceBranch() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *string { return v.SourceBranch }).(pulumi.StringPtrOutput) +} + +// Return all merge requests (all) or just those that are opened, closed, locked, or merged. +func (o GetProjectMergeRequestsResultOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *string { return v.State }).(pulumi.StringPtrOutput) +} + +// Return merge requests with the given target branch. +func (o GetProjectMergeRequestsResultOutput) TargetBranch() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *string { return v.TargetBranch }).(pulumi.StringPtrOutput) +} + +// Return merge requests updated after the given time. Expected in RFC3339 format (2006-01-02T15:04:05Z). +func (o GetProjectMergeRequestsResultOutput) UpdatedAfter() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *string { return v.UpdatedAfter }).(pulumi.StringPtrOutput) +} + +// Return merge requests updated before the given time. Expected in RFC3339 format (2006-01-02T15:04:05Z). +func (o GetProjectMergeRequestsResultOutput) UpdatedBefore() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *string { return v.UpdatedBefore }).(pulumi.StringPtrOutput) +} + +// Filter merge requests against their wip status. `yes` to return only draft merge requests, `no` to return non-draft merge requests. +func (o GetProjectMergeRequestsResultOutput) Wip() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetProjectMergeRequestsResult) *string { return v.Wip }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetProjectMergeRequestsResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectMilestone.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMilestone.go similarity index 96% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectMilestone.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMilestone.go index 7e2c21160..5b7075030 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectMilestone.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMilestone.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -42,7 +42,7 @@ type LookupProjectMilestoneResult struct { DueDate string `pulumi:"dueDate"` // Bool, true if milestone expired. Expired bool `pulumi:"expired"` - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format ``. Id string `pulumi:"id"` // The ID of the project's milestone. Iid int `pulumi:"iid"` @@ -120,7 +120,7 @@ func (o LookupProjectMilestoneResultOutput) Expired() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectMilestoneResult) bool { return v.Expired }).(pulumi.BoolOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format ``. func (o LookupProjectMilestoneResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectMilestoneResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectMilestones.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMilestones.go similarity index 96% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectMilestones.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMilestones.go index 8b872b5f3..7012725db 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectMilestones.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMilestones.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -42,7 +42,7 @@ type GetProjectMilestonesArgs struct { // A collection of values returned by getProjectMilestones. type GetProjectMilestonesResult struct { - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format ``. Id string `pulumi:"id"` // Return only the milestones having the given `iid` (Note: ignored if `includeParentMilestones` is set as `true`). Iids []int `pulumi:"iids"` @@ -104,7 +104,7 @@ func (o GetProjectMilestonesResultOutput) ToGetProjectMilestonesResultOutputWith return o } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format ``. func (o GetProjectMilestonesResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetProjectMilestonesResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectMirrorPublicKey.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMirrorPublicKey.go similarity index 93% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectMirrorPublicKey.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMirrorPublicKey.go index 6acb39223..0a5c8de24 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectMirrorPublicKey.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectMirrorPublicKey.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -36,6 +36,7 @@ type GetProjectMirrorPublicKeyArgs struct { // A collection of values returned by getProjectMirrorPublicKey. type GetProjectMirrorPublicKeyResult struct { + // The ID of this Terraform resource. In the format of `:`. Id string `pulumi:"id"` // The id of the remote mirror. MirrorId int `pulumi:"mirrorId"` @@ -81,6 +82,7 @@ func (o GetProjectMirrorPublicKeyResultOutput) ToGetProjectMirrorPublicKeyResult return o } +// The ID of this Terraform resource. In the format of `:`. func (o GetProjectMirrorPublicKeyResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetProjectMirrorPublicKeyResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectProtectedBranch.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectProtectedBranch.go similarity index 98% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectProtectedBranch.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectProtectedBranch.go index c1814dc70..a52ce965a 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectProtectedBranch.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectProtectedBranch.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectProtectedBranches.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectProtectedBranches.go similarity index 97% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectProtectedBranches.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectProtectedBranches.go index b711bb836..7a4806c7e 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectProtectedBranches.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectProtectedBranches.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectProtectedTag.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectProtectedTag.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectProtectedTag.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectProtectedTag.go index e333ea9b5..4cb4f0527 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectProtectedTag.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectProtectedTag.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,13 +7,13 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) // The `getProjectProtectedTag` data source allows details of a protected tag to be retrieved by its name and the project it belongs to. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/protected_tags/#get-a-single-protected-tag-or-wildcard-protected-tag) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/protected_tags/#get-a-protected-tag-or-wildcard-protected-tag) func GetProjectProtectedTag(ctx *pulumi.Context, args *GetProjectProtectedTagArgs, opts ...pulumi.InvokeOption) (*GetProjectProtectedTagResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv GetProjectProtectedTagResult diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectProtectedTags.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectProtectedTags.go similarity index 96% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectProtectedTags.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectProtectedTags.go index 9eafb543f..d8e0fda88 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectProtectedTags.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectProtectedTags.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectSecureFile.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectSecureFile.go new file mode 100644 index 000000000..19c95386b --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectSecureFile.go @@ -0,0 +1,185 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectSecureFile` data source allows the contents of a secure file to be retrieved by either Name or ID. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/secure_files/) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.GetProjectSecureFile(ctx, &gitlab.LookupProjectSecureFileArgs{ +// Project: "123", +// SecureFileId: pulumi.IntRef(123), +// }, nil) +// if err != nil { +// return err +// } +// _, err = gitlab.GetProjectSecureFile(ctx, &gitlab.LookupProjectSecureFileArgs{ +// Project: "123", +// Name: pulumi.StringRef("secret.pem"), +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupProjectSecureFile(ctx *pulumi.Context, args *LookupProjectSecureFileArgs, opts ...pulumi.InvokeOption) (*LookupProjectSecureFileResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupProjectSecureFileResult + err := ctx.Invoke("gitlab:index/getProjectSecureFile:getProjectSecureFile", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getProjectSecureFile. +type LookupProjectSecureFileArgs struct { + // The name for the secure file, unique per project + Name *string `pulumi:"name"` + // The ID or full path of the project the secure file resides. + Project string `pulumi:"project"` + // The id of the secure file in gitlab + SecureFileId *int `pulumi:"secureFileId"` +} + +// A collection of values returned by getProjectSecureFile. +type LookupProjectSecureFileResult struct { + // The checksum of the file + Checksum string `pulumi:"checksum"` + // The checksum algorithm used + ChecksumAlgorithm string `pulumi:"checksumAlgorithm"` + // The contents of the secure file + Content string `pulumi:"content"` + // The time the secure file was uploaded + CreatedAt string `pulumi:"createdAt"` + // The time the secure file will expire + ExpiresAt string `pulumi:"expiresAt"` + // The ID of this data source. In the format `` + Id string `pulumi:"id"` + // metadata returned by the gitlab api about the secure file + Metadata GetProjectSecureFileMetadata `pulumi:"metadata"` + // The name for the secure file, unique per project + Name *string `pulumi:"name"` + // The ID or full path of the project the secure file resides. + Project string `pulumi:"project"` + // The id of the secure file in gitlab + SecureFileId int `pulumi:"secureFileId"` +} + +func LookupProjectSecureFileOutput(ctx *pulumi.Context, args LookupProjectSecureFileOutputArgs, opts ...pulumi.InvokeOption) LookupProjectSecureFileResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupProjectSecureFileResultOutput, error) { + args := v.(LookupProjectSecureFileArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("gitlab:index/getProjectSecureFile:getProjectSecureFile", args, LookupProjectSecureFileResultOutput{}, options).(LookupProjectSecureFileResultOutput), nil + }).(LookupProjectSecureFileResultOutput) +} + +// A collection of arguments for invoking getProjectSecureFile. +type LookupProjectSecureFileOutputArgs struct { + // The name for the secure file, unique per project + Name pulumi.StringPtrInput `pulumi:"name"` + // The ID or full path of the project the secure file resides. + Project pulumi.StringInput `pulumi:"project"` + // The id of the secure file in gitlab + SecureFileId pulumi.IntPtrInput `pulumi:"secureFileId"` +} + +func (LookupProjectSecureFileOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupProjectSecureFileArgs)(nil)).Elem() +} + +// A collection of values returned by getProjectSecureFile. +type LookupProjectSecureFileResultOutput struct{ *pulumi.OutputState } + +func (LookupProjectSecureFileResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupProjectSecureFileResult)(nil)).Elem() +} + +func (o LookupProjectSecureFileResultOutput) ToLookupProjectSecureFileResultOutput() LookupProjectSecureFileResultOutput { + return o +} + +func (o LookupProjectSecureFileResultOutput) ToLookupProjectSecureFileResultOutputWithContext(ctx context.Context) LookupProjectSecureFileResultOutput { + return o +} + +// The checksum of the file +func (o LookupProjectSecureFileResultOutput) Checksum() pulumi.StringOutput { + return o.ApplyT(func(v LookupProjectSecureFileResult) string { return v.Checksum }).(pulumi.StringOutput) +} + +// The checksum algorithm used +func (o LookupProjectSecureFileResultOutput) ChecksumAlgorithm() pulumi.StringOutput { + return o.ApplyT(func(v LookupProjectSecureFileResult) string { return v.ChecksumAlgorithm }).(pulumi.StringOutput) +} + +// The contents of the secure file +func (o LookupProjectSecureFileResultOutput) Content() pulumi.StringOutput { + return o.ApplyT(func(v LookupProjectSecureFileResult) string { return v.Content }).(pulumi.StringOutput) +} + +// The time the secure file was uploaded +func (o LookupProjectSecureFileResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupProjectSecureFileResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The time the secure file will expire +func (o LookupProjectSecureFileResultOutput) ExpiresAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupProjectSecureFileResult) string { return v.ExpiresAt }).(pulumi.StringOutput) +} + +// The ID of this data source. In the format `` +func (o LookupProjectSecureFileResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupProjectSecureFileResult) string { return v.Id }).(pulumi.StringOutput) +} + +// metadata returned by the gitlab api about the secure file +func (o LookupProjectSecureFileResultOutput) Metadata() GetProjectSecureFileMetadataOutput { + return o.ApplyT(func(v LookupProjectSecureFileResult) GetProjectSecureFileMetadata { return v.Metadata }).(GetProjectSecureFileMetadataOutput) +} + +// The name for the secure file, unique per project +func (o LookupProjectSecureFileResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupProjectSecureFileResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The ID or full path of the project the secure file resides. +func (o LookupProjectSecureFileResultOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v LookupProjectSecureFileResult) string { return v.Project }).(pulumi.StringOutput) +} + +// The id of the secure file in gitlab +func (o LookupProjectSecureFileResultOutput) SecureFileId() pulumi.IntOutput { + return o.ApplyT(func(v LookupProjectSecureFileResult) int { return v.SecureFileId }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupProjectSecureFileResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectTag.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectTag.go similarity index 93% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectTag.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectTag.go index e853ac66c..3c09d5f4d 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectTag.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectTag.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -36,7 +36,7 @@ type LookupProjectTagArgs struct { type LookupProjectTagResult struct { // The commit associated with the tag. Commits []GetProjectTagCommit `pulumi:"commits"` - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format ``. Id string `pulumi:"id"` // The message of the annotated tag. Message string `pulumi:"message"` @@ -44,7 +44,7 @@ type LookupProjectTagResult struct { Name string `pulumi:"name"` // The ID or URL-encoded path of the project owned by the authenticated user. Project string `pulumi:"project"` - // Bool, true if tag has tag protection. + // True if tag has tag protection. Protected bool `pulumi:"protected"` // The release associated with the tag. Releases []GetProjectTagRelease `pulumi:"releases"` @@ -93,7 +93,7 @@ func (o LookupProjectTagResultOutput) Commits() GetProjectTagCommitArrayOutput { return o.ApplyT(func(v LookupProjectTagResult) []GetProjectTagCommit { return v.Commits }).(GetProjectTagCommitArrayOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format ``. func (o LookupProjectTagResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectTagResult) string { return v.Id }).(pulumi.StringOutput) } @@ -113,7 +113,7 @@ func (o LookupProjectTagResultOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectTagResult) string { return v.Project }).(pulumi.StringOutput) } -// Bool, true if tag has tag protection. +// True if tag has tag protection. func (o LookupProjectTagResultOutput) Protected() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectTagResult) bool { return v.Protected }).(pulumi.BoolOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectTags.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectTags.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectTags.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectTags.go index 2419f8900..b46a3b02d 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectTags.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectTags.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -38,7 +38,7 @@ type GetProjectTagsArgs struct { // A collection of values returned by getProjectTags. type GetProjectTagsResult struct { - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format ``. Id string `pulumi:"id"` // Return tags ordered by `name` or `updated` fields. Default is `updated`. OrderBy *string `pulumi:"orderBy"` @@ -92,7 +92,7 @@ func (o GetProjectTagsResultOutput) ToGetProjectTagsResultOutputWithContext(ctx return o } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format ``. func (o GetProjectTagsResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetProjectTagsResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectVariable.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectVariable.go similarity index 76% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectVariable.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectVariable.go index 32ef20a15..2eab29ef9 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectVariable.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectVariable.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,14 +22,14 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := gitlab.LookupProjectVariable(ctx, &gitlab.LookupProjectVariableArgs{ +// _, err := gitlab.GetProjectVariable(ctx, &gitlab.LookupProjectVariableArgs{ // Project: "my/example/project", // Key: "foo", // }, nil) @@ -37,7 +37,7 @@ import ( // return err // } // // Using an environment scope -// _, err = gitlab.LookupProjectVariable(ctx, &gitlab.LookupProjectVariableArgs{ +// _, err = gitlab.GetProjectVariable(ctx, &gitlab.LookupProjectVariableArgs{ // Project: "my/example/project", // Key: "bar", // EnvironmentScope: pulumi.StringRef("staging/*"), @@ -62,35 +62,35 @@ func LookupProjectVariable(ctx *pulumi.Context, args *LookupProjectVariableArgs, // A collection of arguments for invoking getProjectVariable. type LookupProjectVariableArgs struct { - // The environment scope of the variable. Defaults to all environment (`*`). Note that in Community Editions of Gitlab, values other than `*` will cause inconsistent plans. + // The environment scope of the variable. Defaults to all environment (`*`). EnvironmentScope *string `pulumi:"environmentScope"` // The name of the variable. Key string `pulumi:"key"` - // The name or id of the project. + // The name or path of the project. Project string `pulumi:"project"` } // A collection of values returned by getProjectVariable. type LookupProjectVariableResult struct { - // The description of the variable. + // The description of the variable. Maximum of 255 characters. Description string `pulumi:"description"` - // The environment scope of the variable. Defaults to all environment (`*`). Note that in Community Editions of Gitlab, values other than `*` will cause inconsistent plans. + // The environment scope of the variable. Defaults to all environment (`*`). EnvironmentScope string `pulumi:"environmentScope"` - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format ``. Id string `pulumi:"id"` // The name of the variable. Key string `pulumi:"key"` - // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`. + // If set to `true`, the value of the variable will be hidden in job logs. Masked bool `pulumi:"masked"` - // The name or id of the project. + // The name or path of the project. Project string `pulumi:"project"` - // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. + // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Protected bool `pulumi:"protected"` - // Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded. + // If set to `true`, the variable will be treated as a raw string. Raw bool `pulumi:"raw"` // The value of the variable. Value string `pulumi:"value"` - // The type of a variable. Valid values are: `envVar`, `file`. Default is `envVar`. + // The type of the variable, either `envVar` or `file`. VariableType string `pulumi:"variableType"` } @@ -105,11 +105,11 @@ func LookupProjectVariableOutput(ctx *pulumi.Context, args LookupProjectVariable // A collection of arguments for invoking getProjectVariable. type LookupProjectVariableOutputArgs struct { - // The environment scope of the variable. Defaults to all environment (`*`). Note that in Community Editions of Gitlab, values other than `*` will cause inconsistent plans. + // The environment scope of the variable. Defaults to all environment (`*`). EnvironmentScope pulumi.StringPtrInput `pulumi:"environmentScope"` // The name of the variable. Key pulumi.StringInput `pulumi:"key"` - // The name or id of the project. + // The name or path of the project. Project pulumi.StringInput `pulumi:"project"` } @@ -132,17 +132,17 @@ func (o LookupProjectVariableResultOutput) ToLookupProjectVariableResultOutputWi return o } -// The description of the variable. +// The description of the variable. Maximum of 255 characters. func (o LookupProjectVariableResultOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectVariableResult) string { return v.Description }).(pulumi.StringOutput) } -// The environment scope of the variable. Defaults to all environment (`*`). Note that in Community Editions of Gitlab, values other than `*` will cause inconsistent plans. +// The environment scope of the variable. Defaults to all environment (`*`). func (o LookupProjectVariableResultOutput) EnvironmentScope() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectVariableResult) string { return v.EnvironmentScope }).(pulumi.StringOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format ``. func (o LookupProjectVariableResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectVariableResult) string { return v.Id }).(pulumi.StringOutput) } @@ -152,22 +152,22 @@ func (o LookupProjectVariableResultOutput) Key() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectVariableResult) string { return v.Key }).(pulumi.StringOutput) } -// If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`. +// If set to `true`, the value of the variable will be hidden in job logs. func (o LookupProjectVariableResultOutput) Masked() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectVariableResult) bool { return v.Masked }).(pulumi.BoolOutput) } -// The name or id of the project. +// The name or path of the project. func (o LookupProjectVariableResultOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectVariableResult) string { return v.Project }).(pulumi.StringOutput) } -// If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. +// If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. func (o LookupProjectVariableResultOutput) Protected() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectVariableResult) bool { return v.Protected }).(pulumi.BoolOutput) } -// Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded. +// If set to `true`, the variable will be treated as a raw string. func (o LookupProjectVariableResultOutput) Raw() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectVariableResult) bool { return v.Raw }).(pulumi.BoolOutput) } @@ -177,7 +177,7 @@ func (o LookupProjectVariableResultOutput) Value() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectVariableResult) string { return v.Value }).(pulumi.StringOutput) } -// The type of a variable. Valid values are: `envVar`, `file`. Default is `envVar`. +// The type of the variable, either `envVar` or `file`. func (o LookupProjectVariableResultOutput) VariableType() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectVariableResult) string { return v.VariableType }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectVariables.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectVariables.go similarity index 90% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectVariables.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectVariables.go index dc5431dae..5697af317 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjectVariables.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjectVariables.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -62,7 +62,7 @@ func GetProjectVariables(ctx *pulumi.Context, args *GetProjectVariablesArgs, opt type GetProjectVariablesArgs struct { // The environment scope of the variable. Defaults to all environment (`*`). EnvironmentScope *string `pulumi:"environmentScope"` - // The name or id of the project. + // The name or path of the project. Project string `pulumi:"project"` } @@ -70,9 +70,9 @@ type GetProjectVariablesArgs struct { type GetProjectVariablesResult struct { // The environment scope of the variable. Defaults to all environment (`*`). EnvironmentScope *string `pulumi:"environmentScope"` - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format ``. Id string `pulumi:"id"` - // The name or id of the project. + // The name or path of the project. Project string `pulumi:"project"` // The list of variables returned by the search Variables []GetProjectVariablesVariable `pulumi:"variables"` @@ -91,7 +91,7 @@ func GetProjectVariablesOutput(ctx *pulumi.Context, args GetProjectVariablesOutp type GetProjectVariablesOutputArgs struct { // The environment scope of the variable. Defaults to all environment (`*`). EnvironmentScope pulumi.StringPtrInput `pulumi:"environmentScope"` - // The name or id of the project. + // The name or path of the project. Project pulumi.StringInput `pulumi:"project"` } @@ -119,12 +119,12 @@ func (o GetProjectVariablesResultOutput) EnvironmentScope() pulumi.StringPtrOutp return o.ApplyT(func(v GetProjectVariablesResult) *string { return v.EnvironmentScope }).(pulumi.StringPtrOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format ``. func (o GetProjectVariablesResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetProjectVariablesResult) string { return v.Id }).(pulumi.StringOutput) } -// The name or id of the project. +// The name or path of the project. func (o GetProjectVariablesResultOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v GetProjectVariablesResult) string { return v.Project }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjects.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjects.go similarity index 96% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjects.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjects.go index 905234549..4ac53a893 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getProjects.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getProjects.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -26,7 +26,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -34,14 +34,14 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // // List projects within a group tree -// mygroup, err := gitlab.LookupGroup(ctx, &gitlab.LookupGroupArgs{ +// mygroup, err := gitlab.GetGroup(ctx, &gitlab.LookupGroupArgs{ // FullPath: pulumi.StringRef("mygroup"), // }, nil) // if err != nil { // return err // } // _, err = gitlab.GetProjects(ctx, &gitlab.GetProjectsArgs{ -// GroupId: pulumi.IntRef(mygroup.Id), +// GroupId: pulumi.IntRef(pulumi.Int(mygroup.Id)), // OrderBy: pulumi.StringRef("name"), // IncludeSubgroups: pulumi.BoolRef(true), // WithShared: pulumi.BoolRef(false), @@ -84,7 +84,7 @@ type GetProjectsArgs struct { MaxQueryablePages *int `pulumi:"maxQueryablePages"` // Limit by projects that the current user is a member of. Membership *bool `pulumi:"membership"` - // Limit to projects where current user has at least this access level, refer to the [official documentation](https://docs.gitlab.com/api/members/) for values. Cannot be used with `groupId`. + // Limit to projects where current user has at least this access level, refer to the [official documentation](https://docs.gitlab.com/user/permissions/#default-roles) for values. Cannot be used with `groupId`. MinAccessLevel *int `pulumi:"minAccessLevel"` // Return projects ordered ordered by: `id`, `name`, `path`, `createdAt`, `updatedAt`, `lastActivityAt`, `similarity`, `repositorySize`, `storageSize`, `packagesSize`, `wikiSize`. Some values or only available in certain circumstances. See [upstream docs](https://docs.gitlab.com/api/projects/#list-all-projects) for details. OrderBy *string `pulumi:"orderBy"` @@ -134,7 +134,7 @@ type GetProjectsResult struct { MaxQueryablePages *int `pulumi:"maxQueryablePages"` // Limit by projects that the current user is a member of. Membership *bool `pulumi:"membership"` - // Limit to projects where current user has at least this access level, refer to the [official documentation](https://docs.gitlab.com/api/members/) for values. Cannot be used with `groupId`. + // Limit to projects where current user has at least this access level, refer to the [official documentation](https://docs.gitlab.com/user/permissions/#default-roles) for values. Cannot be used with `groupId`. MinAccessLevel *int `pulumi:"minAccessLevel"` // Return projects ordered ordered by: `id`, `name`, `path`, `createdAt`, `updatedAt`, `lastActivityAt`, `similarity`, `repositorySize`, `storageSize`, `packagesSize`, `wikiSize`. Some values or only available in certain circumstances. See [upstream docs](https://docs.gitlab.com/api/projects/#list-all-projects) for details. OrderBy *string `pulumi:"orderBy"` @@ -193,7 +193,7 @@ type GetProjectsOutputArgs struct { MaxQueryablePages pulumi.IntPtrInput `pulumi:"maxQueryablePages"` // Limit by projects that the current user is a member of. Membership pulumi.BoolPtrInput `pulumi:"membership"` - // Limit to projects where current user has at least this access level, refer to the [official documentation](https://docs.gitlab.com/api/members/) for values. Cannot be used with `groupId`. + // Limit to projects where current user has at least this access level, refer to the [official documentation](https://docs.gitlab.com/user/permissions/#default-roles) for values. Cannot be used with `groupId`. MinAccessLevel pulumi.IntPtrInput `pulumi:"minAccessLevel"` // Return projects ordered ordered by: `id`, `name`, `path`, `createdAt`, `updatedAt`, `lastActivityAt`, `similarity`, `repositorySize`, `storageSize`, `packagesSize`, `wikiSize`. Some values or only available in certain circumstances. See [upstream docs](https://docs.gitlab.com/api/projects/#list-all-projects) for details. OrderBy pulumi.StringPtrInput `pulumi:"orderBy"` @@ -278,7 +278,7 @@ func (o GetProjectsResultOutput) Membership() pulumi.BoolPtrOutput { return o.ApplyT(func(v GetProjectsResult) *bool { return v.Membership }).(pulumi.BoolPtrOutput) } -// Limit to projects where current user has at least this access level, refer to the [official documentation](https://docs.gitlab.com/api/members/) for values. Cannot be used with `groupId`. +// Limit to projects where current user has at least this access level, refer to the [official documentation](https://docs.gitlab.com/user/permissions/#default-roles) for values. Cannot be used with `groupId`. func (o GetProjectsResultOutput) MinAccessLevel() pulumi.IntPtrOutput { return o.ApplyT(func(v GetProjectsResult) *int { return v.MinAccessLevel }).(pulumi.IntPtrOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getRelease.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRelease.go similarity index 92% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getRelease.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRelease.go index 2929b893b..22123a29f 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getRelease.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRelease.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -30,7 +30,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // // By project ID and tag_name -// _, err := gitlab.LookupRelease(ctx, &gitlab.LookupReleaseArgs{ +// _, err := gitlab.GetRelease(ctx, &gitlab.LookupReleaseArgs{ // ProjectId: "1234", // TagName: "v1.0", // }, nil) @@ -70,7 +70,8 @@ type LookupReleaseResult struct { CreatedAt string `pulumi:"createdAt"` // An HTML rendered description of the release. Description string `pulumi:"description"` - Id string `pulumi:"id"` + // The ID of this Terraform resource. In the format of ``. + Id string `pulumi:"id"` // The name of the release. Name string `pulumi:"name"` // The ID or URL-encoded path of the project. @@ -134,6 +135,7 @@ func (o LookupReleaseResultOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v LookupReleaseResult) string { return v.Description }).(pulumi.StringOutput) } +// The ID of this Terraform resource. In the format of ``. func (o LookupReleaseResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupReleaseResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getReleaseLink.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getReleaseLink.go similarity index 83% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getReleaseLink.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getReleaseLink.go index b2f4f60a3..50a536a1d 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getReleaseLink.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getReleaseLink.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,11 +7,11 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ReleaseLink` data source allows get details of a release link. +// The `ReleaseLink` data source allows you to get details of a release link. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/releases/links/) func LookupReleaseLink(ctx *pulumi.Context, args *LookupReleaseLinkArgs, opts ...pulumi.InvokeOption) (*LookupReleaseLinkResult, error) { @@ -28,7 +28,7 @@ func LookupReleaseLink(ctx *pulumi.Context, args *LookupReleaseLinkArgs, opts .. type LookupReleaseLinkArgs struct { // The ID of the link. LinkId int `pulumi:"linkId"` - // The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding). + // The ID or Namespace path of the project. Project string `pulumi:"project"` // The tag associated with the Release. TagName string `pulumi:"tagName"` @@ -36,21 +36,21 @@ type LookupReleaseLinkArgs struct { // A collection of values returned by getReleaseLink. type LookupReleaseLinkResult struct { - // Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). + // Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). DirectAssetUrl string `pulumi:"directAssetUrl"` // External or internal link. External bool `pulumi:"external"` - // Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). + // Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). Filepath string `pulumi:"filepath"` - // The provider-assigned unique ID for this managed resource. + // The ID of this data source. Id string `pulumi:"id"` // The ID of the link. LinkId int `pulumi:"linkId"` - // The type of the link. Valid values are `other`, `runbook`, `image`, `package`. Defaults to other. + // The type of the link. Valid values are `other`, `runbook`, `image`, `package`. LinkType string `pulumi:"linkType"` // The name of the link. Link names must be unique within the release. Name string `pulumi:"name"` - // The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding). + // The ID or Namespace path of the project. Project string `pulumi:"project"` // The tag associated with the Release. TagName string `pulumi:"tagName"` @@ -71,7 +71,7 @@ func LookupReleaseLinkOutput(ctx *pulumi.Context, args LookupReleaseLinkOutputAr type LookupReleaseLinkOutputArgs struct { // The ID of the link. LinkId pulumi.IntInput `pulumi:"linkId"` - // The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding). + // The ID or Namespace path of the project. Project pulumi.StringInput `pulumi:"project"` // The tag associated with the Release. TagName pulumi.StringInput `pulumi:"tagName"` @@ -96,7 +96,7 @@ func (o LookupReleaseLinkResultOutput) ToLookupReleaseLinkResultOutputWithContex return o } -// Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). +// Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). func (o LookupReleaseLinkResultOutput) DirectAssetUrl() pulumi.StringOutput { return o.ApplyT(func(v LookupReleaseLinkResult) string { return v.DirectAssetUrl }).(pulumi.StringOutput) } @@ -106,12 +106,12 @@ func (o LookupReleaseLinkResultOutput) External() pulumi.BoolOutput { return o.ApplyT(func(v LookupReleaseLinkResult) bool { return v.External }).(pulumi.BoolOutput) } -// Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). +// Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). func (o LookupReleaseLinkResultOutput) Filepath() pulumi.StringOutput { return o.ApplyT(func(v LookupReleaseLinkResult) string { return v.Filepath }).(pulumi.StringOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this data source. func (o LookupReleaseLinkResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupReleaseLinkResult) string { return v.Id }).(pulumi.StringOutput) } @@ -121,7 +121,7 @@ func (o LookupReleaseLinkResultOutput) LinkId() pulumi.IntOutput { return o.ApplyT(func(v LookupReleaseLinkResult) int { return v.LinkId }).(pulumi.IntOutput) } -// The type of the link. Valid values are `other`, `runbook`, `image`, `package`. Defaults to other. +// The type of the link. Valid values are `other`, `runbook`, `image`, `package`. func (o LookupReleaseLinkResultOutput) LinkType() pulumi.StringOutput { return o.ApplyT(func(v LookupReleaseLinkResult) string { return v.LinkType }).(pulumi.StringOutput) } @@ -131,7 +131,7 @@ func (o LookupReleaseLinkResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v LookupReleaseLinkResult) string { return v.Name }).(pulumi.StringOutput) } -// The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding). +// The ID or Namespace path of the project. func (o LookupReleaseLinkResultOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v LookupReleaseLinkResult) string { return v.Project }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getReleaseLinks.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getReleaseLinks.go similarity index 89% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getReleaseLinks.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getReleaseLinks.go index b3c880214..5c4ae84a4 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getReleaseLinks.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getReleaseLinks.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -26,7 +26,7 @@ func GetReleaseLinks(ctx *pulumi.Context, args *GetReleaseLinksArgs, opts ...pul // A collection of arguments for invoking getReleaseLinks. type GetReleaseLinksArgs struct { - // The ID or full path to the project. + // The ID or Namespace path of the project. Project string `pulumi:"project"` // The tag associated with the Release. TagName string `pulumi:"tagName"` @@ -34,9 +34,9 @@ type GetReleaseLinksArgs struct { // A collection of values returned by getReleaseLinks. type GetReleaseLinksResult struct { - // The provider-assigned unique ID for this managed resource. + // The ID of this data source. Id string `pulumi:"id"` - // The ID or full path to the project. + // The ID or Namespace path of the project. Project string `pulumi:"project"` // List of release links ReleaseLinks []GetReleaseLinksReleaseLink `pulumi:"releaseLinks"` @@ -55,7 +55,7 @@ func GetReleaseLinksOutput(ctx *pulumi.Context, args GetReleaseLinksOutputArgs, // A collection of arguments for invoking getReleaseLinks. type GetReleaseLinksOutputArgs struct { - // The ID or full path to the project. + // The ID or Namespace path of the project. Project pulumi.StringInput `pulumi:"project"` // The tag associated with the Release. TagName pulumi.StringInput `pulumi:"tagName"` @@ -80,12 +80,12 @@ func (o GetReleaseLinksResultOutput) ToGetReleaseLinksResultOutputWithContext(ct return o } -// The provider-assigned unique ID for this managed resource. +// The ID of this data source. func (o GetReleaseLinksResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetReleaseLinksResult) string { return v.Id }).(pulumi.StringOutput) } -// The ID or full path to the project. +// The ID or Namespace path of the project. func (o GetReleaseLinksResultOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v GetReleaseLinksResult) string { return v.Project }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getRepositoryFile.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRepositoryFile.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getRepositoryFile.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRepositoryFile.go index fa3fb5f4e..d199d5961 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getRepositoryFile.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRepositoryFile.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,14 +22,14 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := gitlab.LookupRepositoryFile(ctx, &gitlab.LookupRepositoryFileArgs{ +// _, err := gitlab.GetRepositoryFile(ctx, &gitlab.LookupRepositoryFileArgs{ // Project: "example", // Ref: "main", // FilePath: "README.md", @@ -80,7 +80,7 @@ type LookupRepositoryFileResult struct { FileName string `pulumi:"fileName"` // The full path of the file. It must be relative to the root of the project without a leading slash `/` or `./`. FilePath string `pulumi:"filePath"` - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format ``. Id string `pulumi:"id"` // The last known commit id. LastCommitId string `pulumi:"lastCommitId"` @@ -170,7 +170,7 @@ func (o LookupRepositoryFileResultOutput) FilePath() pulumi.StringOutput { return o.ApplyT(func(v LookupRepositoryFileResult) string { return v.FilePath }).(pulumi.StringOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format ``. func (o LookupRepositoryFileResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupRepositoryFileResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getRepositoryTree.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRepositoryTree.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getRepositoryTree.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRepositoryTree.go index 8c8dc489c..ccad4deaa 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getRepositoryTree.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRepositoryTree.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -67,7 +67,7 @@ type GetRepositoryTreeArgs struct { // A collection of values returned by getRepositoryTree. type GetRepositoryTreeResult struct { - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. A hash of project and ref, with path and recursive if set. Id string `pulumi:"id"` // The path inside repository. Used to get content of subdirectories. Path *string `pulumi:"path"` @@ -121,7 +121,7 @@ func (o GetRepositoryTreeResultOutput) ToGetRepositoryTreeResultOutputWithContex return o } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. A hash of project and ref, with path and recursive if set. func (o GetRepositoryTreeResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetRepositoryTreeResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRunnerController.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRunnerController.go new file mode 100644 index 000000000..88074e8dd --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRunnerController.go @@ -0,0 +1,138 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `RunnerController` data source retrieves details about a single runner controller. +// +// > This data source is **experimental** and may change or be removed in future versions. Introduced in GitLab 18.9. +// +// > This data source requires administration privileges. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/runner_controllers/#retrieve-a-single-runner-controller) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.GetRunnerController(ctx, &gitlab.LookupRunnerControllerArgs{ +// Id: 1, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupRunnerController(ctx *pulumi.Context, args *LookupRunnerControllerArgs, opts ...pulumi.InvokeOption) (*LookupRunnerControllerResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupRunnerControllerResult + err := ctx.Invoke("gitlab:index/getRunnerController:getRunnerController", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getRunnerController. +type LookupRunnerControllerArgs struct { + // The ID of the runner controller. + Id int `pulumi:"id"` +} + +// A collection of values returned by getRunnerController. +type LookupRunnerControllerResult struct { + // The time the runner controller was created. + CreatedAt string `pulumi:"createdAt"` + // The description of the runner controller. + Description string `pulumi:"description"` + // The ID of the runner controller. + Id int `pulumi:"id"` + // The state of the runner controller. Valid values are: `disabled`, `enabled`, `dryRun`. + State string `pulumi:"state"` + // The time the runner controller was last updated. + UpdatedAt string `pulumi:"updatedAt"` +} + +func LookupRunnerControllerOutput(ctx *pulumi.Context, args LookupRunnerControllerOutputArgs, opts ...pulumi.InvokeOption) LookupRunnerControllerResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupRunnerControllerResultOutput, error) { + args := v.(LookupRunnerControllerArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("gitlab:index/getRunnerController:getRunnerController", args, LookupRunnerControllerResultOutput{}, options).(LookupRunnerControllerResultOutput), nil + }).(LookupRunnerControllerResultOutput) +} + +// A collection of arguments for invoking getRunnerController. +type LookupRunnerControllerOutputArgs struct { + // The ID of the runner controller. + Id pulumi.IntInput `pulumi:"id"` +} + +func (LookupRunnerControllerOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupRunnerControllerArgs)(nil)).Elem() +} + +// A collection of values returned by getRunnerController. +type LookupRunnerControllerResultOutput struct{ *pulumi.OutputState } + +func (LookupRunnerControllerResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupRunnerControllerResult)(nil)).Elem() +} + +func (o LookupRunnerControllerResultOutput) ToLookupRunnerControllerResultOutput() LookupRunnerControllerResultOutput { + return o +} + +func (o LookupRunnerControllerResultOutput) ToLookupRunnerControllerResultOutputWithContext(ctx context.Context) LookupRunnerControllerResultOutput { + return o +} + +// The time the runner controller was created. +func (o LookupRunnerControllerResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupRunnerControllerResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The description of the runner controller. +func (o LookupRunnerControllerResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupRunnerControllerResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The ID of the runner controller. +func (o LookupRunnerControllerResultOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v LookupRunnerControllerResult) int { return v.Id }).(pulumi.IntOutput) +} + +// The state of the runner controller. Valid values are: `disabled`, `enabled`, `dryRun`. +func (o LookupRunnerControllerResultOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v LookupRunnerControllerResult) string { return v.State }).(pulumi.StringOutput) +} + +// The time the runner controller was last updated. +func (o LookupRunnerControllerResultOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupRunnerControllerResult) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupRunnerControllerResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRunnerControllerScopes.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRunnerControllerScopes.go new file mode 100644 index 000000000..932a7ba61 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRunnerControllerScopes.go @@ -0,0 +1,135 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `getRunnerControllerScopes` data source retrieves scopes for a runner controller. +// +// > This data source is **experimental** and may change or be removed in future versions. Introduced in GitLab 18.10. +// +// > This data source requires administration privileges. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/runner_controllers/#list-all-scopes-for-a-runner-controller) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.GetRunnerControllerScopes(ctx, &gitlab.GetRunnerControllerScopesArgs{ +// RunnerControllerId: 1, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetRunnerControllerScopes(ctx *pulumi.Context, args *GetRunnerControllerScopesArgs, opts ...pulumi.InvokeOption) (*GetRunnerControllerScopesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetRunnerControllerScopesResult + err := ctx.Invoke("gitlab:index/getRunnerControllerScopes:getRunnerControllerScopes", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getRunnerControllerScopes. +type GetRunnerControllerScopesArgs struct { + // The ID of the runner controller. + RunnerControllerId int `pulumi:"runnerControllerId"` +} + +// A collection of values returned by getRunnerControllerScopes. +type GetRunnerControllerScopesResult struct { + // The ID of this data source. In the format of ``. + Id string `pulumi:"id"` + // The list of instance-level scopings. + InstanceLevelScopings []GetRunnerControllerScopesInstanceLevelScoping `pulumi:"instanceLevelScopings"` + // The ID of the runner controller. + RunnerControllerId int `pulumi:"runnerControllerId"` + // The list of runner-level scopings. + RunnerLevelScopings []GetRunnerControllerScopesRunnerLevelScoping `pulumi:"runnerLevelScopings"` +} + +func GetRunnerControllerScopesOutput(ctx *pulumi.Context, args GetRunnerControllerScopesOutputArgs, opts ...pulumi.InvokeOption) GetRunnerControllerScopesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetRunnerControllerScopesResultOutput, error) { + args := v.(GetRunnerControllerScopesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("gitlab:index/getRunnerControllerScopes:getRunnerControllerScopes", args, GetRunnerControllerScopesResultOutput{}, options).(GetRunnerControllerScopesResultOutput), nil + }).(GetRunnerControllerScopesResultOutput) +} + +// A collection of arguments for invoking getRunnerControllerScopes. +type GetRunnerControllerScopesOutputArgs struct { + // The ID of the runner controller. + RunnerControllerId pulumi.IntInput `pulumi:"runnerControllerId"` +} + +func (GetRunnerControllerScopesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRunnerControllerScopesArgs)(nil)).Elem() +} + +// A collection of values returned by getRunnerControllerScopes. +type GetRunnerControllerScopesResultOutput struct{ *pulumi.OutputState } + +func (GetRunnerControllerScopesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRunnerControllerScopesResult)(nil)).Elem() +} + +func (o GetRunnerControllerScopesResultOutput) ToGetRunnerControllerScopesResultOutput() GetRunnerControllerScopesResultOutput { + return o +} + +func (o GetRunnerControllerScopesResultOutput) ToGetRunnerControllerScopesResultOutputWithContext(ctx context.Context) GetRunnerControllerScopesResultOutput { + return o +} + +// The ID of this data source. In the format of ``. +func (o GetRunnerControllerScopesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetRunnerControllerScopesResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The list of instance-level scopings. +func (o GetRunnerControllerScopesResultOutput) InstanceLevelScopings() GetRunnerControllerScopesInstanceLevelScopingArrayOutput { + return o.ApplyT(func(v GetRunnerControllerScopesResult) []GetRunnerControllerScopesInstanceLevelScoping { + return v.InstanceLevelScopings + }).(GetRunnerControllerScopesInstanceLevelScopingArrayOutput) +} + +// The ID of the runner controller. +func (o GetRunnerControllerScopesResultOutput) RunnerControllerId() pulumi.IntOutput { + return o.ApplyT(func(v GetRunnerControllerScopesResult) int { return v.RunnerControllerId }).(pulumi.IntOutput) +} + +// The list of runner-level scopings. +func (o GetRunnerControllerScopesResultOutput) RunnerLevelScopings() GetRunnerControllerScopesRunnerLevelScopingArrayOutput { + return o.ApplyT(func(v GetRunnerControllerScopesResult) []GetRunnerControllerScopesRunnerLevelScoping { + return v.RunnerLevelScopings + }).(GetRunnerControllerScopesRunnerLevelScopingArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetRunnerControllerScopesResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRunnerControllers.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRunnerControllers.go new file mode 100644 index 000000000..dd3e30281 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRunnerControllers.go @@ -0,0 +1,97 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `getRunnerControllers` data source retrieves all runner controllers. +// +// > This data source is **experimental** and may change or be removed in future versions. Introduced in GitLab 18.9. +// +// > This data source requires administration privileges. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/runner_controllers/#list-all-runner-controllers) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.GetRunnerControllers(ctx, map[string]interface{}{}, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetRunnerControllers(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetRunnerControllersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetRunnerControllersResult + err := ctx.Invoke("gitlab:index/getRunnerControllers:getRunnerControllers", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getRunnerControllers. +type GetRunnerControllersResult struct { + // The ID of this data source. + Id string `pulumi:"id"` + // The list of runner controllers. + RunnerControllers []GetRunnerControllersRunnerController `pulumi:"runnerControllers"` +} + +func GetRunnerControllersOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetRunnerControllersResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetRunnerControllersResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("gitlab:index/getRunnerControllers:getRunnerControllers", nil, GetRunnerControllersResultOutput{}, options).(GetRunnerControllersResultOutput), nil + }).(GetRunnerControllersResultOutput) +} + +// A collection of values returned by getRunnerControllers. +type GetRunnerControllersResultOutput struct{ *pulumi.OutputState } + +func (GetRunnerControllersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRunnerControllersResult)(nil)).Elem() +} + +func (o GetRunnerControllersResultOutput) ToGetRunnerControllersResultOutput() GetRunnerControllersResultOutput { + return o +} + +func (o GetRunnerControllersResultOutput) ToGetRunnerControllersResultOutputWithContext(ctx context.Context) GetRunnerControllersResultOutput { + return o +} + +// The ID of this data source. +func (o GetRunnerControllersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetRunnerControllersResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The list of runner controllers. +func (o GetRunnerControllersResultOutput) RunnerControllers() GetRunnerControllersRunnerControllerArrayOutput { + return o.ApplyT(func(v GetRunnerControllersResult) []GetRunnerControllersRunnerController { return v.RunnerControllers }).(GetRunnerControllersRunnerControllerArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetRunnerControllersResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getRunners.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRunners.go similarity index 90% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getRunners.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRunners.go index 1b3678d7c..0fc469b4f 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getRunners.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getRunners.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -70,26 +70,27 @@ func GetRunners(ctx *pulumi.Context, args *GetRunnersArgs, opts ...pulumi.Invoke type GetRunnersArgs struct { // Filters for runners with the given paused value Paused *bool `pulumi:"paused"` - // Filters for runners with the given status. Valid Values are `online`, `offline`, `stale`, and `neverContacted`. + // Filters for runners with the given status. Valid Values are `online`, `offline`, `stale`, `neverContacted`. Status *string `pulumi:"status"` // Filters for runners with all of the given tags TagLists []string `pulumi:"tagLists"` - // The type of runner to return. Valid values are `instanceType`, `groupType` and `projectType` + // The type of runner to return. Valid values are `instanceType`, `groupType`, `projectType`. Type *string `pulumi:"type"` } // A collection of values returned by getRunners. type GetRunnersResult struct { + // The ID of this Terraform resource. Id string `pulumi:"id"` // Filters for runners with the given paused value Paused *bool `pulumi:"paused"` // The list of runners. Runners []GetRunnersRunner `pulumi:"runners"` - // Filters for runners with the given status. Valid Values are `online`, `offline`, `stale`, and `neverContacted`. + // Filters for runners with the given status. Valid Values are `online`, `offline`, `stale`, `neverContacted`. Status *string `pulumi:"status"` // Filters for runners with all of the given tags TagLists []string `pulumi:"tagLists"` - // The type of runner to return. Valid values are `instanceType`, `groupType` and `projectType` + // The type of runner to return. Valid values are `instanceType`, `groupType`, `projectType`. Type *string `pulumi:"type"` } @@ -106,11 +107,11 @@ func GetRunnersOutput(ctx *pulumi.Context, args GetRunnersOutputArgs, opts ...pu type GetRunnersOutputArgs struct { // Filters for runners with the given paused value Paused pulumi.BoolPtrInput `pulumi:"paused"` - // Filters for runners with the given status. Valid Values are `online`, `offline`, `stale`, and `neverContacted`. + // Filters for runners with the given status. Valid Values are `online`, `offline`, `stale`, `neverContacted`. Status pulumi.StringPtrInput `pulumi:"status"` // Filters for runners with all of the given tags TagLists pulumi.StringArrayInput `pulumi:"tagLists"` - // The type of runner to return. Valid values are `instanceType`, `groupType` and `projectType` + // The type of runner to return. Valid values are `instanceType`, `groupType`, `projectType`. Type pulumi.StringPtrInput `pulumi:"type"` } @@ -133,6 +134,7 @@ func (o GetRunnersResultOutput) ToGetRunnersResultOutputWithContext(ctx context. return o } +// The ID of this Terraform resource. func (o GetRunnersResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetRunnersResult) string { return v.Id }).(pulumi.StringOutput) } @@ -147,7 +149,7 @@ func (o GetRunnersResultOutput) Runners() GetRunnersRunnerArrayOutput { return o.ApplyT(func(v GetRunnersResult) []GetRunnersRunner { return v.Runners }).(GetRunnersRunnerArrayOutput) } -// Filters for runners with the given status. Valid Values are `online`, `offline`, `stale`, and `neverContacted`. +// Filters for runners with the given status. Valid Values are `online`, `offline`, `stale`, `neverContacted`. func (o GetRunnersResultOutput) Status() pulumi.StringPtrOutput { return o.ApplyT(func(v GetRunnersResult) *string { return v.Status }).(pulumi.StringPtrOutput) } @@ -157,7 +159,7 @@ func (o GetRunnersResultOutput) TagLists() pulumi.StringArrayOutput { return o.ApplyT(func(v GetRunnersResult) []string { return v.TagLists }).(pulumi.StringArrayOutput) } -// The type of runner to return. Valid values are `instanceType`, `groupType` and `projectType` +// The type of runner to return. Valid values are `instanceType`, `groupType`, `projectType`. func (o GetRunnersResultOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v GetRunnersResult) *string { return v.Type }).(pulumi.StringPtrOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getSecurityPolicyDocument.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getSecurityPolicyDocument.go new file mode 100644 index 000000000..c858bc0af --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getSecurityPolicyDocument.go @@ -0,0 +1,151 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Generates a GitLab security policy YAML document from structured configuration. +// This data source performs pure transformation without any API calls. +// +// **Upstream API**: [GitLab Security Policies Documentation](https://docs.gitlab.com/ee/user/application_security/policies/scan_execution_policies/) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// // Use this with `gitlab_repository_file` to manage your policies using native HCL +// scan, err := gitlab.GetSecurityPolicyDocument(ctx, &gitlab.GetSecurityPolicyDocumentArgs{ +// ScanExecutionPolicies: []gitlab.GetSecurityPolicyDocumentScanExecutionPolicy{ +// { +// Name: "Basic SAST Policy", +// Enabled: true, +// Rules: []gitlab.GetSecurityPolicyDocumentScanExecutionPolicyRule{ +// { +// Type: "pipeline", +// BranchType: pulumi.StringRef("all"), +// }, +// }, +// Actions: []gitlab.GetSecurityPolicyDocumentScanExecutionPolicyAction{ +// { +// Scan: "sast", +// }, +// }, +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// // See `gitlab_project_security_policy_attachment` or `gitlab_group_security_policy_attachment` +// // for how to link a security policy project to a project or group. +// _, err = gitlab.NewRepositoryFile(ctx, "policy", &gitlab.RepositoryFileArgs{ +// Project: pulumi.String("1234"), +// Ref: "main", +// FilePath: pulumi.String(".gitlab/security-policies/policy.yml"), +// Content: pulumi.String(pulumi.String(scan.Yaml)), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetSecurityPolicyDocument(ctx *pulumi.Context, args *GetSecurityPolicyDocumentArgs, opts ...pulumi.InvokeOption) (*GetSecurityPolicyDocumentResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetSecurityPolicyDocumentResult + err := ctx.Invoke("gitlab:index/getSecurityPolicyDocument:getSecurityPolicyDocument", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getSecurityPolicyDocument. +type GetSecurityPolicyDocumentArgs struct { + // Scan execution policy configuration. Multiple policies can be specified. + ScanExecutionPolicies []GetSecurityPolicyDocumentScanExecutionPolicy `pulumi:"scanExecutionPolicies"` +} + +// A collection of values returned by getSecurityPolicyDocument. +type GetSecurityPolicyDocumentResult struct { + // Unique identifier for this policy document (hash of generated YAML). + Id string `pulumi:"id"` + // Scan execution policy configuration. Multiple policies can be specified. + ScanExecutionPolicies []GetSecurityPolicyDocumentScanExecutionPolicy `pulumi:"scanExecutionPolicies"` + // The generated policy document in YAML format, ready to write to `.gitlab/security-policies/policy.yml`. + Yaml string `pulumi:"yaml"` +} + +func GetSecurityPolicyDocumentOutput(ctx *pulumi.Context, args GetSecurityPolicyDocumentOutputArgs, opts ...pulumi.InvokeOption) GetSecurityPolicyDocumentResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetSecurityPolicyDocumentResultOutput, error) { + args := v.(GetSecurityPolicyDocumentArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("gitlab:index/getSecurityPolicyDocument:getSecurityPolicyDocument", args, GetSecurityPolicyDocumentResultOutput{}, options).(GetSecurityPolicyDocumentResultOutput), nil + }).(GetSecurityPolicyDocumentResultOutput) +} + +// A collection of arguments for invoking getSecurityPolicyDocument. +type GetSecurityPolicyDocumentOutputArgs struct { + // Scan execution policy configuration. Multiple policies can be specified. + ScanExecutionPolicies GetSecurityPolicyDocumentScanExecutionPolicyArrayInput `pulumi:"scanExecutionPolicies"` +} + +func (GetSecurityPolicyDocumentOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityPolicyDocumentArgs)(nil)).Elem() +} + +// A collection of values returned by getSecurityPolicyDocument. +type GetSecurityPolicyDocumentResultOutput struct{ *pulumi.OutputState } + +func (GetSecurityPolicyDocumentResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityPolicyDocumentResult)(nil)).Elem() +} + +func (o GetSecurityPolicyDocumentResultOutput) ToGetSecurityPolicyDocumentResultOutput() GetSecurityPolicyDocumentResultOutput { + return o +} + +func (o GetSecurityPolicyDocumentResultOutput) ToGetSecurityPolicyDocumentResultOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentResultOutput { + return o +} + +// Unique identifier for this policy document (hash of generated YAML). +func (o GetSecurityPolicyDocumentResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Scan execution policy configuration. Multiple policies can be specified. +func (o GetSecurityPolicyDocumentResultOutput) ScanExecutionPolicies() GetSecurityPolicyDocumentScanExecutionPolicyArrayOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentResult) []GetSecurityPolicyDocumentScanExecutionPolicy { + return v.ScanExecutionPolicies + }).(GetSecurityPolicyDocumentScanExecutionPolicyArrayOutput) +} + +// The generated policy document in YAML format, ready to write to `.gitlab/security-policies/policy.yml`. +func (o GetSecurityPolicyDocumentResultOutput) Yaml() pulumi.StringOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentResult) string { return v.Yaml }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetSecurityPolicyDocumentResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getUser.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getUser.go similarity index 86% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getUser.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getUser.go index 535e446c1..208be2d11 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getUser.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getUser.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -18,6 +18,8 @@ import ( // > When using the `email` attribute, an exact match is not guaranteed. The most related match will be returned. The most related match will prioritize an exact match if one is available. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/users/#get-a-single-user) +// +// ## Example Usage func LookupUser(ctx *pulumi.Context, args *LookupUserArgs, opts ...pulumi.InvokeOption) (*LookupUserResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupUserResult @@ -30,8 +32,10 @@ func LookupUser(ctx *pulumi.Context, args *LookupUserArgs, opts ...pulumi.Invoke // A collection of arguments for invoking getUser. type LookupUserArgs struct { - // The public email address of the user. + // The email address of the user. Email *string `pulumi:"email"` + // (Experimental) If true, returns only an exact match. Otherwise, fuzzy matching might return the closest result. If no exact match is available, the data source returns an error. + EmailExactMatch *bool `pulumi:"emailExactMatch"` // The ID of the user's namespace. Requires admin token to access this field. NamespaceId *int `pulumi:"namespaceId"` // The ID of the user. @@ -56,13 +60,15 @@ type LookupUserResult struct { CreatedAt string `pulumi:"createdAt"` // Current user's sign-in date. CurrentSignInAt string `pulumi:"currentSignInAt"` - // The public email address of the user. + // The email address of the user. Email string `pulumi:"email"` + // (Experimental) If true, returns only an exact match. Otherwise, fuzzy matching might return the closest result. If no exact match is available, the data source returns an error. + EmailExactMatch *bool `pulumi:"emailExactMatch"` // The external UID of the user. ExternUid string `pulumi:"externUid"` // Whether the user is external. External bool `pulumi:"external"` - // The provider-assigned unique ID for this managed resource. + // The ID of this datasource. In the format ``. Id string `pulumi:"id"` // Whether the user is an admin. IsAdmin bool `pulumi:"isAdmin"` @@ -84,6 +90,8 @@ type LookupUserResult struct { Organization string `pulumi:"organization"` // Number of projects the user can create. ProjectsLimit int `pulumi:"projectsLimit"` + // The public email address of the user. + PublicEmail string `pulumi:"publicEmail"` // Skype username of the user. Skype string `pulumi:"skype"` // Whether the user is active or blocked. @@ -115,8 +123,10 @@ func LookupUserOutput(ctx *pulumi.Context, args LookupUserOutputArgs, opts ...pu // A collection of arguments for invoking getUser. type LookupUserOutputArgs struct { - // The public email address of the user. + // The email address of the user. Email pulumi.StringPtrInput `pulumi:"email"` + // (Experimental) If true, returns only an exact match. Otherwise, fuzzy matching might return the closest result. If no exact match is available, the data source returns an error. + EmailExactMatch pulumi.BoolPtrInput `pulumi:"emailExactMatch"` // The ID of the user's namespace. Requires admin token to access this field. NamespaceId pulumi.IntPtrInput `pulumi:"namespaceId"` // The ID of the user. @@ -179,11 +189,16 @@ func (o LookupUserResultOutput) CurrentSignInAt() pulumi.StringOutput { return o.ApplyT(func(v LookupUserResult) string { return v.CurrentSignInAt }).(pulumi.StringOutput) } -// The public email address of the user. +// The email address of the user. func (o LookupUserResultOutput) Email() pulumi.StringOutput { return o.ApplyT(func(v LookupUserResult) string { return v.Email }).(pulumi.StringOutput) } +// (Experimental) If true, returns only an exact match. Otherwise, fuzzy matching might return the closest result. If no exact match is available, the data source returns an error. +func (o LookupUserResultOutput) EmailExactMatch() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupUserResult) *bool { return v.EmailExactMatch }).(pulumi.BoolPtrOutput) +} + // The external UID of the user. func (o LookupUserResultOutput) ExternUid() pulumi.StringOutput { return o.ApplyT(func(v LookupUserResult) string { return v.ExternUid }).(pulumi.StringOutput) @@ -194,7 +209,7 @@ func (o LookupUserResultOutput) External() pulumi.BoolOutput { return o.ApplyT(func(v LookupUserResult) bool { return v.External }).(pulumi.BoolOutput) } -// The provider-assigned unique ID for this managed resource. +// The ID of this datasource. In the format ``. func (o LookupUserResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupUserResult) string { return v.Id }).(pulumi.StringOutput) } @@ -249,6 +264,11 @@ func (o LookupUserResultOutput) ProjectsLimit() pulumi.IntOutput { return o.ApplyT(func(v LookupUserResult) int { return v.ProjectsLimit }).(pulumi.IntOutput) } +// The public email address of the user. +func (o LookupUserResultOutput) PublicEmail() pulumi.StringOutput { + return o.ApplyT(func(v LookupUserResult) string { return v.PublicEmail }).(pulumi.StringOutput) +} + // Skype username of the user. func (o LookupUserResultOutput) Skype() pulumi.StringOutput { return o.ApplyT(func(v LookupUserResult) string { return v.Skype }).(pulumi.StringOutput) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getUserSshkeys.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getUserSshkeys.go similarity index 93% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getUserSshkeys.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getUserSshkeys.go index b0654b33f..a0c8c4239 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getUserSshkeys.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getUserSshkeys.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,11 +7,11 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `getUserSshkeys` data source allows a list of SSH keys to be retrieved by either the user ID or username. +// The `getUserSshkeys` data source retrieves a list of SSH keys for a user. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/user_keys/#list-all-ssh-keys-for-a-user) func GetUserSshkeys(ctx *pulumi.Context, args *GetUserSshkeysArgs, opts ...pulumi.InvokeOption) (*GetUserSshkeysResult, error) { diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getUsers.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getUsers.go similarity index 92% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getUsers.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getUsers.go index 7e1abdaab..479ec030f 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/getUsers.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/getUsers.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -26,7 +26,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -82,6 +82,8 @@ type GetUsersArgs struct { ExternUid *string `pulumi:"externUid"` // Filters only external users. External *bool `pulumi:"external"` + // Filters only regular users that are not bot or internal users. + Humans *bool `pulumi:"humans"` // Order the users' list by `id`, `name`, `username`, `createdAt` or `updatedAt`. (Requires administrator privileges) OrderBy *string `pulumi:"orderBy"` // Search users by username, name or email. @@ -114,7 +116,9 @@ type GetUsersResult struct { ExternUid *string `pulumi:"externUid"` // Filters only external users. External *bool `pulumi:"external"` - // The provider-assigned unique ID for this managed resource. + // Filters only regular users that are not bot or internal users. + Humans *bool `pulumi:"humans"` + // The ID of this datasource. In the format of a hash taken from the search options. Id string `pulumi:"id"` // Order the users' list by `id`, `name`, `username`, `createdAt` or `updatedAt`. (Requires administrator privileges) OrderBy *string `pulumi:"orderBy"` @@ -159,6 +163,8 @@ type GetUsersOutputArgs struct { ExternUid pulumi.StringPtrInput `pulumi:"externUid"` // Filters only external users. External pulumi.BoolPtrInput `pulumi:"external"` + // Filters only regular users that are not bot or internal users. + Humans pulumi.BoolPtrInput `pulumi:"humans"` // Order the users' list by `id`, `name`, `username`, `createdAt` or `updatedAt`. (Requires administrator privileges) OrderBy pulumi.StringPtrInput `pulumi:"orderBy"` // Search users by username, name or email. @@ -235,7 +241,12 @@ func (o GetUsersResultOutput) External() pulumi.BoolPtrOutput { return o.ApplyT(func(v GetUsersResult) *bool { return v.External }).(pulumi.BoolPtrOutput) } -// The provider-assigned unique ID for this managed resource. +// Filters only regular users that are not bot or internal users. +func (o GetUsersResultOutput) Humans() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetUsersResult) *bool { return v.Humans }).(pulumi.BoolPtrOutput) +} + +// The ID of this datasource. In the format of a hash taken from the search options. func (o GetUsersResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetUsersResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/globalLevelNotifications.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/globalLevelNotifications.go similarity index 97% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/globalLevelNotifications.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/globalLevelNotifications.go index 409dc7751..4e4a89881 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/globalLevelNotifications.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/globalLevelNotifications.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,34 +7,22 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `GlobalLevelNotifications` resource allows to manage global notifications. +// The `GlobalLevelNotifications` resource manages global notifications. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/notification_settings/#group--project-level-notification-settings) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/notification_settings/#get-group-or-project-notification-settings) // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_global_level_notifications`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `GlobalLevelNotifications`. For example: // -// terraform -// -// import { -// -// to = gitlab_global_level_notifications.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // // Note: You can import a global notification state using "gitlab" as the ID. -// -// # The ID will always be gitlab, because the global notificatio only exists -// +// The ID will always be gitlab, because the global notificatio only exists // once per user // // ```sh diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/group.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/group.go similarity index 77% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/group.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/group.go index fa2955d4e..0ada6c6a2 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/group.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/group.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `Group` resource allows to manage the lifecycle of a group. +// The `Group` resource manages the lifecycle of a group. // -// > On GitLab SaaS, you must use the GitLab UI to create groups without a parent group. You cannot use this provider nor the API to do this. +// > On GitLab.com, you cannot use the `Group` resource to create a [top-level group](https://docs.gitlab.com/user/group/#group-hierarchy). Instead, you must [create a group](https://docs.gitlab.com/user/group/#create-a-group) in the UI, then import the group into your Terraform configuration. From here, you can manage the group using the Terraform Provider. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/groups/) // @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -121,26 +121,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `Group`. For example: // -// terraform -// -// import { -// -// to = gitlab_group.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// ```sh -// $ pulumi import gitlab:index/group:Group You can import a group state using ` `. The -// ``` -// -// `id` can be whatever the [details of a group][details_of_a_group] api takes for +// Importing using the CLI is supported with the following syntax: // +// `id` can be whatever the [details of a group][detailsOfAGroup] api takes for // its `:id` value, so for example: // // ```sh @@ -149,6 +134,8 @@ import ( type Group struct { pulumi.CustomResourceState + // Allow merging merge requests when the pipeline is skipped. Only applies when only*allow*merge*if*pipeline_succeeds is true. Premium and Ultimate only. + AllowMergeOnSkippedPipeline pulumi.BoolOutput `pulumi:"allowMergeOnSkippedPipeline"` // A list of email address domains to allow group access. Will be concatenated together into a comma separated string. AllowedEmailDomainsLists pulumi.StringArrayOutput `pulumi:"allowedEmailDomainsLists"` // Default to Auto DevOps pipeline for all projects within this group. @@ -163,7 +150,7 @@ type Group struct { DefaultBranch pulumi.StringPtrOutput `pulumi:"defaultBranch"` // See https://docs.gitlab.com/api/groups/#options-for-default*branch*protection. Valid values are: `0`, `1`, `2`, `3`, `4`. // - // Deprecated: Deprecated in GitLab 17.0. Use defaultBranchProtectionDefaults instead. + // Deprecated: Deprecated in GitLab 17.0, due for removal in v5 of the API. Use defaultBranchProtectionDefaults instead. DefaultBranchProtection pulumi.IntOutput `pulumi:"defaultBranchProtection"` // The default branch protection defaults DefaultBranchProtectionDefaults GroupDefaultBranchProtectionDefaultsOutput `pulumi:"defaultBranchProtectionDefaults"` @@ -171,7 +158,7 @@ type Group struct { Description pulumi.StringPtrOutput `pulumi:"description"` // Enable email notifications. EmailsEnabled pulumi.BoolOutput `pulumi:"emailsEnabled"` - // Can be set by administrators only. Additional CI/CD minutes for this group. + // Available in Self-Managed, Premium and Ultimate plans. Can be set by administrators only. Additional CI/CD minutes for this group. ExtraSharedRunnersMinutesLimit pulumi.IntOutput `pulumi:"extraSharedRunnersMinutesLimit"` // The full name of the group. FullName pulumi.StringOutput `pulumi:"fullName"` @@ -181,12 +168,18 @@ type Group struct { IpRestrictionRanges pulumi.StringArrayOutput `pulumi:"ipRestrictionRanges"` // Enable/disable Large File Storage (LFS) for the projects in this group. LfsEnabled pulumi.BoolOutput `pulumi:"lfsEnabled"` + // The maximum file size in megabytes for individual job artifacts. + MaxArtifactsSize pulumi.IntOutput `pulumi:"maxArtifactsSize"` // Users cannot be added to projects in this group. MembershipLock pulumi.BoolOutput `pulumi:"membershipLock"` // Disable the capability of a group from getting mentioned. MentionsDisabled pulumi.BoolOutput `pulumi:"mentionsDisabled"` // The name of the group. Name pulumi.StringOutput `pulumi:"name"` + // Only allow merging merge requests when all discussions are resolved. When enabled for a group, applies to all projects in the group. Premium and Ultimate only. + OnlyAllowMergeIfAllDiscussionsAreResolved pulumi.BoolOutput `pulumi:"onlyAllowMergeIfAllDiscussionsAreResolved"` + // Only allow merging merge requests if the pipeline succeeds. When enabled for a group, applies to all projects in the group. Premium and Ultimate only. + OnlyAllowMergeIfPipelineSucceeds pulumi.BoolOutput `pulumi:"onlyAllowMergeIfPipelineSucceeds"` // Id of the parent group (creates a nested group). ParentId pulumi.IntOutput `pulumi:"parentId"` // The path of the group. @@ -195,7 +188,9 @@ type Group struct { PermanentlyRemoveOnDelete pulumi.BoolPtrOutput `pulumi:"permanentlyRemoveOnDelete"` // Defaults to false. When enabled, users can not fork projects from this group to external namespaces. PreventForkingOutsideGroup pulumi.BoolOutput `pulumi:"preventForkingOutsideGroup"` - // Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer` + // Defaults to false. When enabled, users cannot invite other groups outside of the top-level group’s hierarchy. This option is only available for top-level groups. + PreventSharingGroupsOutsideHierarchy pulumi.BoolOutput `pulumi:"preventSharingGroupsOutsideHierarchy"` + // Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator` ProjectCreationLevel pulumi.StringOutput `pulumi:"projectCreationLevel"` // Push rules for the group. PushRules GroupPushRulesOutput `pulumi:"pushRules"` @@ -207,7 +202,7 @@ type Group struct { RunnersToken pulumi.StringOutput `pulumi:"runnersToken"` // Prevent sharing a project with another group within this group. ShareWithGroupLock pulumi.BoolOutput `pulumi:"shareWithGroupLock"` - // Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0. + // Available in Self-Managed, Premium and Ultimate plans. Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0. SharedRunnersMinutesLimit pulumi.IntOutput `pulumi:"sharedRunnersMinutesLimit"` // Enable or disable shared runners for a group’s subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. SharedRunnersSetting pulumi.StringOutput `pulumi:"sharedRunnersSetting"` @@ -260,6 +255,8 @@ func GetGroup(ctx *pulumi.Context, // Input properties used for looking up and filtering Group resources. type groupState struct { + // Allow merging merge requests when the pipeline is skipped. Only applies when only*allow*merge*if*pipeline_succeeds is true. Premium and Ultimate only. + AllowMergeOnSkippedPipeline *bool `pulumi:"allowMergeOnSkippedPipeline"` // A list of email address domains to allow group access. Will be concatenated together into a comma separated string. AllowedEmailDomainsLists []string `pulumi:"allowedEmailDomainsLists"` // Default to Auto DevOps pipeline for all projects within this group. @@ -274,7 +271,7 @@ type groupState struct { DefaultBranch *string `pulumi:"defaultBranch"` // See https://docs.gitlab.com/api/groups/#options-for-default*branch*protection. Valid values are: `0`, `1`, `2`, `3`, `4`. // - // Deprecated: Deprecated in GitLab 17.0. Use defaultBranchProtectionDefaults instead. + // Deprecated: Deprecated in GitLab 17.0, due for removal in v5 of the API. Use defaultBranchProtectionDefaults instead. DefaultBranchProtection *int `pulumi:"defaultBranchProtection"` // The default branch protection defaults DefaultBranchProtectionDefaults *GroupDefaultBranchProtectionDefaults `pulumi:"defaultBranchProtectionDefaults"` @@ -282,7 +279,7 @@ type groupState struct { Description *string `pulumi:"description"` // Enable email notifications. EmailsEnabled *bool `pulumi:"emailsEnabled"` - // Can be set by administrators only. Additional CI/CD minutes for this group. + // Available in Self-Managed, Premium and Ultimate plans. Can be set by administrators only. Additional CI/CD minutes for this group. ExtraSharedRunnersMinutesLimit *int `pulumi:"extraSharedRunnersMinutesLimit"` // The full name of the group. FullName *string `pulumi:"fullName"` @@ -292,12 +289,18 @@ type groupState struct { IpRestrictionRanges []string `pulumi:"ipRestrictionRanges"` // Enable/disable Large File Storage (LFS) for the projects in this group. LfsEnabled *bool `pulumi:"lfsEnabled"` + // The maximum file size in megabytes for individual job artifacts. + MaxArtifactsSize *int `pulumi:"maxArtifactsSize"` // Users cannot be added to projects in this group. MembershipLock *bool `pulumi:"membershipLock"` // Disable the capability of a group from getting mentioned. MentionsDisabled *bool `pulumi:"mentionsDisabled"` // The name of the group. Name *string `pulumi:"name"` + // Only allow merging merge requests when all discussions are resolved. When enabled for a group, applies to all projects in the group. Premium and Ultimate only. + OnlyAllowMergeIfAllDiscussionsAreResolved *bool `pulumi:"onlyAllowMergeIfAllDiscussionsAreResolved"` + // Only allow merging merge requests if the pipeline succeeds. When enabled for a group, applies to all projects in the group. Premium and Ultimate only. + OnlyAllowMergeIfPipelineSucceeds *bool `pulumi:"onlyAllowMergeIfPipelineSucceeds"` // Id of the parent group (creates a nested group). ParentId *int `pulumi:"parentId"` // The path of the group. @@ -306,7 +309,9 @@ type groupState struct { PermanentlyRemoveOnDelete *bool `pulumi:"permanentlyRemoveOnDelete"` // Defaults to false. When enabled, users can not fork projects from this group to external namespaces. PreventForkingOutsideGroup *bool `pulumi:"preventForkingOutsideGroup"` - // Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer` + // Defaults to false. When enabled, users cannot invite other groups outside of the top-level group’s hierarchy. This option is only available for top-level groups. + PreventSharingGroupsOutsideHierarchy *bool `pulumi:"preventSharingGroupsOutsideHierarchy"` + // Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator` ProjectCreationLevel *string `pulumi:"projectCreationLevel"` // Push rules for the group. PushRules *GroupPushRules `pulumi:"pushRules"` @@ -318,7 +323,7 @@ type groupState struct { RunnersToken *string `pulumi:"runnersToken"` // Prevent sharing a project with another group within this group. ShareWithGroupLock *bool `pulumi:"shareWithGroupLock"` - // Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0. + // Available in Self-Managed, Premium and Ultimate plans. Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0. SharedRunnersMinutesLimit *int `pulumi:"sharedRunnersMinutesLimit"` // Enable or disable shared runners for a group’s subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. SharedRunnersSetting *string `pulumi:"sharedRunnersSetting"` @@ -335,6 +340,8 @@ type groupState struct { } type GroupState struct { + // Allow merging merge requests when the pipeline is skipped. Only applies when only*allow*merge*if*pipeline_succeeds is true. Premium and Ultimate only. + AllowMergeOnSkippedPipeline pulumi.BoolPtrInput // A list of email address domains to allow group access. Will be concatenated together into a comma separated string. AllowedEmailDomainsLists pulumi.StringArrayInput // Default to Auto DevOps pipeline for all projects within this group. @@ -349,7 +356,7 @@ type GroupState struct { DefaultBranch pulumi.StringPtrInput // See https://docs.gitlab.com/api/groups/#options-for-default*branch*protection. Valid values are: `0`, `1`, `2`, `3`, `4`. // - // Deprecated: Deprecated in GitLab 17.0. Use defaultBranchProtectionDefaults instead. + // Deprecated: Deprecated in GitLab 17.0, due for removal in v5 of the API. Use defaultBranchProtectionDefaults instead. DefaultBranchProtection pulumi.IntPtrInput // The default branch protection defaults DefaultBranchProtectionDefaults GroupDefaultBranchProtectionDefaultsPtrInput @@ -357,7 +364,7 @@ type GroupState struct { Description pulumi.StringPtrInput // Enable email notifications. EmailsEnabled pulumi.BoolPtrInput - // Can be set by administrators only. Additional CI/CD minutes for this group. + // Available in Self-Managed, Premium and Ultimate plans. Can be set by administrators only. Additional CI/CD minutes for this group. ExtraSharedRunnersMinutesLimit pulumi.IntPtrInput // The full name of the group. FullName pulumi.StringPtrInput @@ -367,12 +374,18 @@ type GroupState struct { IpRestrictionRanges pulumi.StringArrayInput // Enable/disable Large File Storage (LFS) for the projects in this group. LfsEnabled pulumi.BoolPtrInput + // The maximum file size in megabytes for individual job artifacts. + MaxArtifactsSize pulumi.IntPtrInput // Users cannot be added to projects in this group. MembershipLock pulumi.BoolPtrInput // Disable the capability of a group from getting mentioned. MentionsDisabled pulumi.BoolPtrInput // The name of the group. Name pulumi.StringPtrInput + // Only allow merging merge requests when all discussions are resolved. When enabled for a group, applies to all projects in the group. Premium and Ultimate only. + OnlyAllowMergeIfAllDiscussionsAreResolved pulumi.BoolPtrInput + // Only allow merging merge requests if the pipeline succeeds. When enabled for a group, applies to all projects in the group. Premium and Ultimate only. + OnlyAllowMergeIfPipelineSucceeds pulumi.BoolPtrInput // Id of the parent group (creates a nested group). ParentId pulumi.IntPtrInput // The path of the group. @@ -381,7 +394,9 @@ type GroupState struct { PermanentlyRemoveOnDelete pulumi.BoolPtrInput // Defaults to false. When enabled, users can not fork projects from this group to external namespaces. PreventForkingOutsideGroup pulumi.BoolPtrInput - // Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer` + // Defaults to false. When enabled, users cannot invite other groups outside of the top-level group’s hierarchy. This option is only available for top-level groups. + PreventSharingGroupsOutsideHierarchy pulumi.BoolPtrInput + // Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator` ProjectCreationLevel pulumi.StringPtrInput // Push rules for the group. PushRules GroupPushRulesPtrInput @@ -393,7 +408,7 @@ type GroupState struct { RunnersToken pulumi.StringPtrInput // Prevent sharing a project with another group within this group. ShareWithGroupLock pulumi.BoolPtrInput - // Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0. + // Available in Self-Managed, Premium and Ultimate plans. Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0. SharedRunnersMinutesLimit pulumi.IntPtrInput // Enable or disable shared runners for a group’s subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. SharedRunnersSetting pulumi.StringPtrInput @@ -414,6 +429,8 @@ func (GroupState) ElementType() reflect.Type { } type groupArgs struct { + // Allow merging merge requests when the pipeline is skipped. Only applies when only*allow*merge*if*pipeline_succeeds is true. Premium and Ultimate only. + AllowMergeOnSkippedPipeline *bool `pulumi:"allowMergeOnSkippedPipeline"` // A list of email address domains to allow group access. Will be concatenated together into a comma separated string. AllowedEmailDomainsLists []string `pulumi:"allowedEmailDomainsLists"` // Default to Auto DevOps pipeline for all projects within this group. @@ -426,7 +443,7 @@ type groupArgs struct { DefaultBranch *string `pulumi:"defaultBranch"` // See https://docs.gitlab.com/api/groups/#options-for-default*branch*protection. Valid values are: `0`, `1`, `2`, `3`, `4`. // - // Deprecated: Deprecated in GitLab 17.0. Use defaultBranchProtectionDefaults instead. + // Deprecated: Deprecated in GitLab 17.0, due for removal in v5 of the API. Use defaultBranchProtectionDefaults instead. DefaultBranchProtection *int `pulumi:"defaultBranchProtection"` // The default branch protection defaults DefaultBranchProtectionDefaults *GroupDefaultBranchProtectionDefaults `pulumi:"defaultBranchProtectionDefaults"` @@ -434,18 +451,24 @@ type groupArgs struct { Description *string `pulumi:"description"` // Enable email notifications. EmailsEnabled *bool `pulumi:"emailsEnabled"` - // Can be set by administrators only. Additional CI/CD minutes for this group. + // Available in Self-Managed, Premium and Ultimate plans. Can be set by administrators only. Additional CI/CD minutes for this group. ExtraSharedRunnersMinutesLimit *int `pulumi:"extraSharedRunnersMinutesLimit"` // A list of IP addresses or subnet masks to restrict group access. Will be concatenated together into a comma separated string. Only allowed on top level groups. IpRestrictionRanges []string `pulumi:"ipRestrictionRanges"` // Enable/disable Large File Storage (LFS) for the projects in this group. LfsEnabled *bool `pulumi:"lfsEnabled"` + // The maximum file size in megabytes for individual job artifacts. + MaxArtifactsSize *int `pulumi:"maxArtifactsSize"` // Users cannot be added to projects in this group. MembershipLock *bool `pulumi:"membershipLock"` // Disable the capability of a group from getting mentioned. MentionsDisabled *bool `pulumi:"mentionsDisabled"` // The name of the group. Name *string `pulumi:"name"` + // Only allow merging merge requests when all discussions are resolved. When enabled for a group, applies to all projects in the group. Premium and Ultimate only. + OnlyAllowMergeIfAllDiscussionsAreResolved *bool `pulumi:"onlyAllowMergeIfAllDiscussionsAreResolved"` + // Only allow merging merge requests if the pipeline succeeds. When enabled for a group, applies to all projects in the group. Premium and Ultimate only. + OnlyAllowMergeIfPipelineSucceeds *bool `pulumi:"onlyAllowMergeIfPipelineSucceeds"` // Id of the parent group (creates a nested group). ParentId *int `pulumi:"parentId"` // The path of the group. @@ -454,7 +477,9 @@ type groupArgs struct { PermanentlyRemoveOnDelete *bool `pulumi:"permanentlyRemoveOnDelete"` // Defaults to false. When enabled, users can not fork projects from this group to external namespaces. PreventForkingOutsideGroup *bool `pulumi:"preventForkingOutsideGroup"` - // Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer` + // Defaults to false. When enabled, users cannot invite other groups outside of the top-level group’s hierarchy. This option is only available for top-level groups. + PreventSharingGroupsOutsideHierarchy *bool `pulumi:"preventSharingGroupsOutsideHierarchy"` + // Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator` ProjectCreationLevel *string `pulumi:"projectCreationLevel"` // Push rules for the group. PushRules *GroupPushRules `pulumi:"pushRules"` @@ -464,7 +489,7 @@ type groupArgs struct { RequireTwoFactorAuthentication *bool `pulumi:"requireTwoFactorAuthentication"` // Prevent sharing a project with another group within this group. ShareWithGroupLock *bool `pulumi:"shareWithGroupLock"` - // Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0. + // Available in Self-Managed, Premium and Ultimate plans. Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0. SharedRunnersMinutesLimit *int `pulumi:"sharedRunnersMinutesLimit"` // Enable or disable shared runners for a group’s subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. SharedRunnersSetting *string `pulumi:"sharedRunnersSetting"` @@ -480,6 +505,8 @@ type groupArgs struct { // The set of arguments for constructing a Group resource. type GroupArgs struct { + // Allow merging merge requests when the pipeline is skipped. Only applies when only*allow*merge*if*pipeline_succeeds is true. Premium and Ultimate only. + AllowMergeOnSkippedPipeline pulumi.BoolPtrInput // A list of email address domains to allow group access. Will be concatenated together into a comma separated string. AllowedEmailDomainsLists pulumi.StringArrayInput // Default to Auto DevOps pipeline for all projects within this group. @@ -492,7 +519,7 @@ type GroupArgs struct { DefaultBranch pulumi.StringPtrInput // See https://docs.gitlab.com/api/groups/#options-for-default*branch*protection. Valid values are: `0`, `1`, `2`, `3`, `4`. // - // Deprecated: Deprecated in GitLab 17.0. Use defaultBranchProtectionDefaults instead. + // Deprecated: Deprecated in GitLab 17.0, due for removal in v5 of the API. Use defaultBranchProtectionDefaults instead. DefaultBranchProtection pulumi.IntPtrInput // The default branch protection defaults DefaultBranchProtectionDefaults GroupDefaultBranchProtectionDefaultsPtrInput @@ -500,18 +527,24 @@ type GroupArgs struct { Description pulumi.StringPtrInput // Enable email notifications. EmailsEnabled pulumi.BoolPtrInput - // Can be set by administrators only. Additional CI/CD minutes for this group. + // Available in Self-Managed, Premium and Ultimate plans. Can be set by administrators only. Additional CI/CD minutes for this group. ExtraSharedRunnersMinutesLimit pulumi.IntPtrInput // A list of IP addresses or subnet masks to restrict group access. Will be concatenated together into a comma separated string. Only allowed on top level groups. IpRestrictionRanges pulumi.StringArrayInput // Enable/disable Large File Storage (LFS) for the projects in this group. LfsEnabled pulumi.BoolPtrInput + // The maximum file size in megabytes for individual job artifacts. + MaxArtifactsSize pulumi.IntPtrInput // Users cannot be added to projects in this group. MembershipLock pulumi.BoolPtrInput // Disable the capability of a group from getting mentioned. MentionsDisabled pulumi.BoolPtrInput // The name of the group. Name pulumi.StringPtrInput + // Only allow merging merge requests when all discussions are resolved. When enabled for a group, applies to all projects in the group. Premium and Ultimate only. + OnlyAllowMergeIfAllDiscussionsAreResolved pulumi.BoolPtrInput + // Only allow merging merge requests if the pipeline succeeds. When enabled for a group, applies to all projects in the group. Premium and Ultimate only. + OnlyAllowMergeIfPipelineSucceeds pulumi.BoolPtrInput // Id of the parent group (creates a nested group). ParentId pulumi.IntPtrInput // The path of the group. @@ -520,7 +553,9 @@ type GroupArgs struct { PermanentlyRemoveOnDelete pulumi.BoolPtrInput // Defaults to false. When enabled, users can not fork projects from this group to external namespaces. PreventForkingOutsideGroup pulumi.BoolPtrInput - // Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer` + // Defaults to false. When enabled, users cannot invite other groups outside of the top-level group’s hierarchy. This option is only available for top-level groups. + PreventSharingGroupsOutsideHierarchy pulumi.BoolPtrInput + // Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator` ProjectCreationLevel pulumi.StringPtrInput // Push rules for the group. PushRules GroupPushRulesPtrInput @@ -530,7 +565,7 @@ type GroupArgs struct { RequireTwoFactorAuthentication pulumi.BoolPtrInput // Prevent sharing a project with another group within this group. ShareWithGroupLock pulumi.BoolPtrInput - // Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0. + // Available in Self-Managed, Premium and Ultimate plans. Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0. SharedRunnersMinutesLimit pulumi.IntPtrInput // Enable or disable shared runners for a group’s subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. SharedRunnersSetting pulumi.StringPtrInput @@ -631,6 +666,11 @@ func (o GroupOutput) ToGroupOutputWithContext(ctx context.Context) GroupOutput { return o } +// Allow merging merge requests when the pipeline is skipped. Only applies when only*allow*merge*if*pipeline_succeeds is true. Premium and Ultimate only. +func (o GroupOutput) AllowMergeOnSkippedPipeline() pulumi.BoolOutput { + return o.ApplyT(func(v *Group) pulumi.BoolOutput { return v.AllowMergeOnSkippedPipeline }).(pulumi.BoolOutput) +} + // A list of email address domains to allow group access. Will be concatenated together into a comma separated string. func (o GroupOutput) AllowedEmailDomainsLists() pulumi.StringArrayOutput { return o.ApplyT(func(v *Group) pulumi.StringArrayOutput { return v.AllowedEmailDomainsLists }).(pulumi.StringArrayOutput) @@ -663,7 +703,7 @@ func (o GroupOutput) DefaultBranch() pulumi.StringPtrOutput { // See https://docs.gitlab.com/api/groups/#options-for-default*branch*protection. Valid values are: `0`, `1`, `2`, `3`, `4`. // -// Deprecated: Deprecated in GitLab 17.0. Use defaultBranchProtectionDefaults instead. +// Deprecated: Deprecated in GitLab 17.0, due for removal in v5 of the API. Use defaultBranchProtectionDefaults instead. func (o GroupOutput) DefaultBranchProtection() pulumi.IntOutput { return o.ApplyT(func(v *Group) pulumi.IntOutput { return v.DefaultBranchProtection }).(pulumi.IntOutput) } @@ -683,7 +723,7 @@ func (o GroupOutput) EmailsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Group) pulumi.BoolOutput { return v.EmailsEnabled }).(pulumi.BoolOutput) } -// Can be set by administrators only. Additional CI/CD minutes for this group. +// Available in Self-Managed, Premium and Ultimate plans. Can be set by administrators only. Additional CI/CD minutes for this group. func (o GroupOutput) ExtraSharedRunnersMinutesLimit() pulumi.IntOutput { return o.ApplyT(func(v *Group) pulumi.IntOutput { return v.ExtraSharedRunnersMinutesLimit }).(pulumi.IntOutput) } @@ -708,6 +748,11 @@ func (o GroupOutput) LfsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Group) pulumi.BoolOutput { return v.LfsEnabled }).(pulumi.BoolOutput) } +// The maximum file size in megabytes for individual job artifacts. +func (o GroupOutput) MaxArtifactsSize() pulumi.IntOutput { + return o.ApplyT(func(v *Group) pulumi.IntOutput { return v.MaxArtifactsSize }).(pulumi.IntOutput) +} + // Users cannot be added to projects in this group. func (o GroupOutput) MembershipLock() pulumi.BoolOutput { return o.ApplyT(func(v *Group) pulumi.BoolOutput { return v.MembershipLock }).(pulumi.BoolOutput) @@ -723,6 +768,16 @@ func (o GroupOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Group) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } +// Only allow merging merge requests when all discussions are resolved. When enabled for a group, applies to all projects in the group. Premium and Ultimate only. +func (o GroupOutput) OnlyAllowMergeIfAllDiscussionsAreResolved() pulumi.BoolOutput { + return o.ApplyT(func(v *Group) pulumi.BoolOutput { return v.OnlyAllowMergeIfAllDiscussionsAreResolved }).(pulumi.BoolOutput) +} + +// Only allow merging merge requests if the pipeline succeeds. When enabled for a group, applies to all projects in the group. Premium and Ultimate only. +func (o GroupOutput) OnlyAllowMergeIfPipelineSucceeds() pulumi.BoolOutput { + return o.ApplyT(func(v *Group) pulumi.BoolOutput { return v.OnlyAllowMergeIfPipelineSucceeds }).(pulumi.BoolOutput) +} + // Id of the parent group (creates a nested group). func (o GroupOutput) ParentId() pulumi.IntOutput { return o.ApplyT(func(v *Group) pulumi.IntOutput { return v.ParentId }).(pulumi.IntOutput) @@ -743,7 +798,12 @@ func (o GroupOutput) PreventForkingOutsideGroup() pulumi.BoolOutput { return o.ApplyT(func(v *Group) pulumi.BoolOutput { return v.PreventForkingOutsideGroup }).(pulumi.BoolOutput) } -// Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer` +// Defaults to false. When enabled, users cannot invite other groups outside of the top-level group’s hierarchy. This option is only available for top-level groups. +func (o GroupOutput) PreventSharingGroupsOutsideHierarchy() pulumi.BoolOutput { + return o.ApplyT(func(v *Group) pulumi.BoolOutput { return v.PreventSharingGroupsOutsideHierarchy }).(pulumi.BoolOutput) +} + +// Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator` func (o GroupOutput) ProjectCreationLevel() pulumi.StringOutput { return o.ApplyT(func(v *Group) pulumi.StringOutput { return v.ProjectCreationLevel }).(pulumi.StringOutput) } @@ -773,7 +833,7 @@ func (o GroupOutput) ShareWithGroupLock() pulumi.BoolOutput { return o.ApplyT(func(v *Group) pulumi.BoolOutput { return v.ShareWithGroupLock }).(pulumi.BoolOutput) } -// Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0. +// Available in Self-Managed, Premium and Ultimate plans. Can be set by administrators only. Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0. func (o GroupOutput) SharedRunnersMinutesLimit() pulumi.IntOutput { return o.ApplyT(func(v *Group) pulumi.IntOutput { return v.SharedRunnersMinutesLimit }).(pulumi.IntOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupAccessToken.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupAccessToken.go similarity index 85% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupAccessToken.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupAccessToken.go index e4550f8c2..1f5f36944 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupAccessToken.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupAccessToken.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,17 +8,17 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `GroupAccessToken` resource allows to manage the lifecycle of a group access token. +// The `GroupAccessToken` resource manages the lifecycle of a group access token. // -// > Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/operations/tracing/) +// > Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/development/tracing/) // // > Use `rotationConfiguration` to automatically rotate tokens instead of using `timestamp()` as timestamp will cause changes with every plan. `pulumi up` must still be run to rotate the token. // -// > Due to [Automatic reuse detection](https://docs.gitlab.com/api/group_access_tokens/#automatic-reuse-detection) it's possible that a new Group Access Token will immediately be revoked. Check if an old process using the old token is running if this happens. +// > Due to [Automatic reuse detection](https://docs.gitlab.com/api/personal_access_tokens/#automatic-reuse-detection) it's possible that a new Group Access Token will immediately be revoked. Check if an old process using the old token is running if this happens. // // **Upstream API**: [GitLab REST API](https://docs.gitlab.com/api/group_access_tokens/) // @@ -29,7 +29,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -64,21 +64,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_access_token`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `GroupAccessToken`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_group_access_token.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// A GitLab Group Access Token can be imported using a key composed of `:`, e.g. +// A GitLab Group Access Token can be imported using a key composed of `:`, for example: // // ```sh // $ pulumi import gitlab:index/groupAccessToken:GroupAccessToken example "12345:1" @@ -106,12 +96,14 @@ type GroupAccessToken struct { Revoked pulumi.BoolOutput `pulumi:"revoked"` // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration GroupAccessTokenRotationConfigurationPtrOutput `pulumi:"rotationConfiguration"` - // The scopes of the group access token. Valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` + // The scopes of the group access token. Valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability`, `selfRotate` Scopes pulumi.StringArrayOutput `pulumi:"scopes"` // The token of the group access token. **Note**: the token is not available for imported resources. Token pulumi.StringOutput `pulumi:"token"` // The userId associated to the token. UserId pulumi.IntOutput `pulumi:"userId"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolOutput `pulumi:"validatePastExpirationDate"` } // NewGroupAccessToken registers a new resource with the given unique name, arguments, and options. @@ -172,12 +164,14 @@ type groupAccessTokenState struct { Revoked *bool `pulumi:"revoked"` // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration *GroupAccessTokenRotationConfiguration `pulumi:"rotationConfiguration"` - // The scopes of the group access token. Valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` + // The scopes of the group access token. Valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability`, `selfRotate` Scopes []string `pulumi:"scopes"` // The token of the group access token. **Note**: the token is not available for imported resources. Token *string `pulumi:"token"` // The userId associated to the token. UserId *int `pulumi:"userId"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate *bool `pulumi:"validatePastExpirationDate"` } type GroupAccessTokenState struct { @@ -199,12 +193,14 @@ type GroupAccessTokenState struct { Revoked pulumi.BoolPtrInput // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration GroupAccessTokenRotationConfigurationPtrInput - // The scopes of the group access token. Valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` + // The scopes of the group access token. Valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability`, `selfRotate` Scopes pulumi.StringArrayInput // The token of the group access token. **Note**: the token is not available for imported resources. Token pulumi.StringPtrInput // The userId associated to the token. UserId pulumi.IntPtrInput + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolPtrInput } func (GroupAccessTokenState) ElementType() reflect.Type { @@ -224,8 +220,10 @@ type groupAccessTokenArgs struct { Name *string `pulumi:"name"` // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration *GroupAccessTokenRotationConfiguration `pulumi:"rotationConfiguration"` - // The scopes of the group access token. Valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` + // The scopes of the group access token. Valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability`, `selfRotate` Scopes []string `pulumi:"scopes"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate *bool `pulumi:"validatePastExpirationDate"` } // The set of arguments for constructing a GroupAccessToken resource. @@ -242,8 +240,10 @@ type GroupAccessTokenArgs struct { Name pulumi.StringPtrInput // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration GroupAccessTokenRotationConfigurationPtrInput - // The scopes of the group access token. Valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` + // The scopes of the group access token. Valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability`, `selfRotate` Scopes pulumi.StringArrayInput + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolPtrInput } func (GroupAccessTokenArgs) ElementType() reflect.Type { @@ -380,7 +380,7 @@ func (o GroupAccessTokenOutput) RotationConfiguration() GroupAccessTokenRotation }).(GroupAccessTokenRotationConfigurationPtrOutput) } -// The scopes of the group access token. Valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` +// The scopes of the group access token. Valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability`, `selfRotate` func (o GroupAccessTokenOutput) Scopes() pulumi.StringArrayOutput { return o.ApplyT(func(v *GroupAccessToken) pulumi.StringArrayOutput { return v.Scopes }).(pulumi.StringArrayOutput) } @@ -395,6 +395,11 @@ func (o GroupAccessTokenOutput) UserId() pulumi.IntOutput { return o.ApplyT(func(v *GroupAccessToken) pulumi.IntOutput { return v.UserId }).(pulumi.IntOutput) } +// Wether to validate if the expiration date is in the future. +func (o GroupAccessTokenOutput) ValidatePastExpirationDate() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupAccessToken) pulumi.BoolOutput { return v.ValidatePastExpirationDate }).(pulumi.BoolOutput) +} + type GroupAccessTokenArrayOutput struct{ *pulumi.OutputState } func (GroupAccessTokenArrayOutput) ElementType() reflect.Type { diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupBadge.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupBadge.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupBadge.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupBadge.go index 2f0c82c36..f3304f874 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupBadge.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupBadge.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `GroupBadge` resource allows to manage the lifecycle of group badges. +// The `GroupBadge` resource manages the lifecycle of group badges. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/user/project/badges/#group-badges) // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -32,6 +32,7 @@ import ( // pulumi.Run(func(ctx *pulumi.Context) error { // foo, err := gitlab.NewGroup(ctx, "foo", &gitlab.GroupArgs{ // Name: pulumi.String("foo-group"), +// Path: pulumi.String("foo-path"), // }) // if err != nil { // return err @@ -79,21 +80,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_badge`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `GroupBadge`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_group_badge.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab group badges can be imported using an id made up of `{group_id}:{badge_id}`, e.g. +// GitLab group badges can be imported using an id made up of `{group_id}:{badge_id}`, for example: // // ```sh // $ pulumi import gitlab:index/groupBadge:GroupBadge foo 1:3 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupCluster.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupCluster.go similarity index 96% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupCluster.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupCluster.go index baba4fb35..75f4ac73b 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupCluster.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupCluster.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `GroupCluster` resource allows to manage the lifecycle of a group cluster. +// The `GroupCluster` resource manages the lifecycle of a group cluster. // -// > This is deprecated GitLab feature since 14.5 +// > This is deprecated, due for removal in GitLab 19.0. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_clusters/) // @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -62,21 +62,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_cluster`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `GroupCluster`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_group_cluster.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab group clusters can be imported using an id made up of `groupid:clusterid`, e.g. +// GitLab group clusters can be imported using an id made up of `groupid:clusterid`, for example: // // ```sh // $ pulumi import gitlab:index/groupCluster:GroupCluster bar 123:321 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupCustomAttribute.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupCustomAttribute.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupCustomAttribute.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupCustomAttribute.go index 0c9cf6b64..ed532440e 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupCustomAttribute.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupCustomAttribute.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `GroupCustomAttribute` resource allows to manage custom attributes for a group. +// The `GroupCustomAttribute` resource manages custom attributes for a group. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/custom_attributes/) // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -46,21 +46,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_custom_attribute`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `GroupCustomAttribute`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_group_custom_attribute.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import a group custom attribute using the an id made up of `{group-id}:{key}`, e.g. +// You can import a group custom attribute using the an id made up of `{group-id}:{key}`, for example: // // ```sh // $ pulumi import gitlab:index/groupCustomAttribute:GroupCustomAttribute attr 42:location diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupDependencyProxy.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupDependencyProxy.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupDependencyProxy.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupDependencyProxy.go index d062affa7..89e41ae59 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupDependencyProxy.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupDependencyProxy.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -49,24 +49,12 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_dependency_proxy`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `GroupDependencyProxy`. For example: // -// terraform -// -// import { -// -// to = gitlab_group_dependency_proxy.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import a group dependency proxy using the group id. e.g. `{group-id}` +// Importing using the CLI is supported with the following syntax: // +// You can import a group dependency proxy using the group id. for example: `{group-id}` // "secret" will not populate when importing the dependency proxy, but will still -// // be required in the configuration. // // ```sh diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupDeployToken.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupDeployToken.go new file mode 100644 index 000000000..ca70131e0 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupDeployToken.go @@ -0,0 +1,404 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `GroupDeployToken` resource allows you to manage the lifecycle of deploy tokens on a group. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/deploy_tokens/) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi-std/sdk/go/std" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// // Example Usage +// _, err := gitlab.NewGroupDeployToken(ctx, "example", &gitlab.GroupDeployTokenArgs{ +// Group: pulumi.String("example/deploying"), +// Name: pulumi.String("Example group deploy token"), +// Username: pulumi.String("example-username"), +// ExpiresAt: pulumi.String("2020-03-14T00:00:00.000Z"), +// Scopes: pulumi.StringArray{ +// pulumi.String("read_repository"), +// pulumi.String("read_registry"), +// }, +// }) +// if err != nil { +// return err +// } +// invokeTimeadd, err := std.Timeadd(ctx, &std.TimeaddArgs{ +// Duration: std.Timestamp(ctx, &std.TimestampArgs{}, nil).Result, +// Timestamp: "24h", +// }, nil) +// if err != nil { +// return err +// } +// _, err = gitlab.NewGroupDeployToken(ctx, "example-two", &gitlab.GroupDeployTokenArgs{ +// Group: pulumi.String("12345678"), +// Name: pulumi.String("Example group deploy token expires in 24h"), +// ExpiresAt: pulumi.String(invokeTimeadd.Result), +// Scopes: pulumi.StringArray{ +// pulumi.String("read_repository"), +// pulumi.String("read_registry"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `GroupDeployToken`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// GitLab group deploy tokens can be imported using an id made up of `{group_id}:{deploy_token_id}`. +// +// ```sh +// $ pulumi import gitlab:index/groupDeployToken:GroupDeployToken group_token 1:4 +// ``` +// +// Note: the `token` resource attribute is not available for imported resources as this information cannot be read from the GitLab API. +type GroupDeployToken struct { + pulumi.CustomResourceState + + // True if the token is expired. + Expired pulumi.BoolOutput `pulumi:"expired"` + // Time the token expires in RFC3339 format. Not set by default. + ExpiresAt pulumi.StringOutput `pulumi:"expiresAt"` + // The Id or full path of the group. + Group pulumi.StringOutput `pulumi:"group"` + // A name to describe the deploy token with. + Name pulumi.StringOutput `pulumi:"name"` + // True if the token is revoked. + Revoked pulumi.BoolOutput `pulumi:"revoked"` + // The scopes of the group deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` + Scopes pulumi.StringArrayOutput `pulumi:"scopes"` + // The secret token. This is only populated when creating a new deploy token. **Note**: The token is not available for imported resources. + Token pulumi.StringOutput `pulumi:"token"` + // A username for the deploy token. Default is `gitlab+deploy-token-{n}`. + Username pulumi.StringOutput `pulumi:"username"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolOutput `pulumi:"validatePastExpirationDate"` +} + +// NewGroupDeployToken registers a new resource with the given unique name, arguments, and options. +func NewGroupDeployToken(ctx *pulumi.Context, + name string, args *GroupDeployTokenArgs, opts ...pulumi.ResourceOption) (*GroupDeployToken, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Group == nil { + return nil, errors.New("invalid value for required argument 'Group'") + } + if args.Scopes == nil { + return nil, errors.New("invalid value for required argument 'Scopes'") + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "token", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource GroupDeployToken + err := ctx.RegisterResource("gitlab:index/groupDeployToken:GroupDeployToken", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetGroupDeployToken gets an existing GroupDeployToken resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetGroupDeployToken(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *GroupDeployTokenState, opts ...pulumi.ResourceOption) (*GroupDeployToken, error) { + var resource GroupDeployToken + err := ctx.ReadResource("gitlab:index/groupDeployToken:GroupDeployToken", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering GroupDeployToken resources. +type groupDeployTokenState struct { + // True if the token is expired. + Expired *bool `pulumi:"expired"` + // Time the token expires in RFC3339 format. Not set by default. + ExpiresAt *string `pulumi:"expiresAt"` + // The Id or full path of the group. + Group *string `pulumi:"group"` + // A name to describe the deploy token with. + Name *string `pulumi:"name"` + // True if the token is revoked. + Revoked *bool `pulumi:"revoked"` + // The scopes of the group deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` + Scopes []string `pulumi:"scopes"` + // The secret token. This is only populated when creating a new deploy token. **Note**: The token is not available for imported resources. + Token *string `pulumi:"token"` + // A username for the deploy token. Default is `gitlab+deploy-token-{n}`. + Username *string `pulumi:"username"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate *bool `pulumi:"validatePastExpirationDate"` +} + +type GroupDeployTokenState struct { + // True if the token is expired. + Expired pulumi.BoolPtrInput + // Time the token expires in RFC3339 format. Not set by default. + ExpiresAt pulumi.StringPtrInput + // The Id or full path of the group. + Group pulumi.StringPtrInput + // A name to describe the deploy token with. + Name pulumi.StringPtrInput + // True if the token is revoked. + Revoked pulumi.BoolPtrInput + // The scopes of the group deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` + Scopes pulumi.StringArrayInput + // The secret token. This is only populated when creating a new deploy token. **Note**: The token is not available for imported resources. + Token pulumi.StringPtrInput + // A username for the deploy token. Default is `gitlab+deploy-token-{n}`. + Username pulumi.StringPtrInput + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolPtrInput +} + +func (GroupDeployTokenState) ElementType() reflect.Type { + return reflect.TypeOf((*groupDeployTokenState)(nil)).Elem() +} + +type groupDeployTokenArgs struct { + // Time the token expires in RFC3339 format. Not set by default. + ExpiresAt *string `pulumi:"expiresAt"` + // The Id or full path of the group. + Group string `pulumi:"group"` + // A name to describe the deploy token with. + Name *string `pulumi:"name"` + // The scopes of the group deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` + Scopes []string `pulumi:"scopes"` + // A username for the deploy token. Default is `gitlab+deploy-token-{n}`. + Username *string `pulumi:"username"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate *bool `pulumi:"validatePastExpirationDate"` +} + +// The set of arguments for constructing a GroupDeployToken resource. +type GroupDeployTokenArgs struct { + // Time the token expires in RFC3339 format. Not set by default. + ExpiresAt pulumi.StringPtrInput + // The Id or full path of the group. + Group pulumi.StringInput + // A name to describe the deploy token with. + Name pulumi.StringPtrInput + // The scopes of the group deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` + Scopes pulumi.StringArrayInput + // A username for the deploy token. Default is `gitlab+deploy-token-{n}`. + Username pulumi.StringPtrInput + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolPtrInput +} + +func (GroupDeployTokenArgs) ElementType() reflect.Type { + return reflect.TypeOf((*groupDeployTokenArgs)(nil)).Elem() +} + +type GroupDeployTokenInput interface { + pulumi.Input + + ToGroupDeployTokenOutput() GroupDeployTokenOutput + ToGroupDeployTokenOutputWithContext(ctx context.Context) GroupDeployTokenOutput +} + +func (*GroupDeployToken) ElementType() reflect.Type { + return reflect.TypeOf((**GroupDeployToken)(nil)).Elem() +} + +func (i *GroupDeployToken) ToGroupDeployTokenOutput() GroupDeployTokenOutput { + return i.ToGroupDeployTokenOutputWithContext(context.Background()) +} + +func (i *GroupDeployToken) ToGroupDeployTokenOutputWithContext(ctx context.Context) GroupDeployTokenOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupDeployTokenOutput) +} + +// GroupDeployTokenArrayInput is an input type that accepts GroupDeployTokenArray and GroupDeployTokenArrayOutput values. +// You can construct a concrete instance of `GroupDeployTokenArrayInput` via: +// +// GroupDeployTokenArray{ GroupDeployTokenArgs{...} } +type GroupDeployTokenArrayInput interface { + pulumi.Input + + ToGroupDeployTokenArrayOutput() GroupDeployTokenArrayOutput + ToGroupDeployTokenArrayOutputWithContext(context.Context) GroupDeployTokenArrayOutput +} + +type GroupDeployTokenArray []GroupDeployTokenInput + +func (GroupDeployTokenArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GroupDeployToken)(nil)).Elem() +} + +func (i GroupDeployTokenArray) ToGroupDeployTokenArrayOutput() GroupDeployTokenArrayOutput { + return i.ToGroupDeployTokenArrayOutputWithContext(context.Background()) +} + +func (i GroupDeployTokenArray) ToGroupDeployTokenArrayOutputWithContext(ctx context.Context) GroupDeployTokenArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupDeployTokenArrayOutput) +} + +// GroupDeployTokenMapInput is an input type that accepts GroupDeployTokenMap and GroupDeployTokenMapOutput values. +// You can construct a concrete instance of `GroupDeployTokenMapInput` via: +// +// GroupDeployTokenMap{ "key": GroupDeployTokenArgs{...} } +type GroupDeployTokenMapInput interface { + pulumi.Input + + ToGroupDeployTokenMapOutput() GroupDeployTokenMapOutput + ToGroupDeployTokenMapOutputWithContext(context.Context) GroupDeployTokenMapOutput +} + +type GroupDeployTokenMap map[string]GroupDeployTokenInput + +func (GroupDeployTokenMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GroupDeployToken)(nil)).Elem() +} + +func (i GroupDeployTokenMap) ToGroupDeployTokenMapOutput() GroupDeployTokenMapOutput { + return i.ToGroupDeployTokenMapOutputWithContext(context.Background()) +} + +func (i GroupDeployTokenMap) ToGroupDeployTokenMapOutputWithContext(ctx context.Context) GroupDeployTokenMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupDeployTokenMapOutput) +} + +type GroupDeployTokenOutput struct{ *pulumi.OutputState } + +func (GroupDeployTokenOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GroupDeployToken)(nil)).Elem() +} + +func (o GroupDeployTokenOutput) ToGroupDeployTokenOutput() GroupDeployTokenOutput { + return o +} + +func (o GroupDeployTokenOutput) ToGroupDeployTokenOutputWithContext(ctx context.Context) GroupDeployTokenOutput { + return o +} + +// True if the token is expired. +func (o GroupDeployTokenOutput) Expired() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupDeployToken) pulumi.BoolOutput { return v.Expired }).(pulumi.BoolOutput) +} + +// Time the token expires in RFC3339 format. Not set by default. +func (o GroupDeployTokenOutput) ExpiresAt() pulumi.StringOutput { + return o.ApplyT(func(v *GroupDeployToken) pulumi.StringOutput { return v.ExpiresAt }).(pulumi.StringOutput) +} + +// The Id or full path of the group. +func (o GroupDeployTokenOutput) Group() pulumi.StringOutput { + return o.ApplyT(func(v *GroupDeployToken) pulumi.StringOutput { return v.Group }).(pulumi.StringOutput) +} + +// A name to describe the deploy token with. +func (o GroupDeployTokenOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *GroupDeployToken) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// True if the token is revoked. +func (o GroupDeployTokenOutput) Revoked() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupDeployToken) pulumi.BoolOutput { return v.Revoked }).(pulumi.BoolOutput) +} + +// The scopes of the group deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` +func (o GroupDeployTokenOutput) Scopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GroupDeployToken) pulumi.StringArrayOutput { return v.Scopes }).(pulumi.StringArrayOutput) +} + +// The secret token. This is only populated when creating a new deploy token. **Note**: The token is not available for imported resources. +func (o GroupDeployTokenOutput) Token() pulumi.StringOutput { + return o.ApplyT(func(v *GroupDeployToken) pulumi.StringOutput { return v.Token }).(pulumi.StringOutput) +} + +// A username for the deploy token. Default is `gitlab+deploy-token-{n}`. +func (o GroupDeployTokenOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v *GroupDeployToken) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) +} + +// Wether to validate if the expiration date is in the future. +func (o GroupDeployTokenOutput) ValidatePastExpirationDate() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupDeployToken) pulumi.BoolOutput { return v.ValidatePastExpirationDate }).(pulumi.BoolOutput) +} + +type GroupDeployTokenArrayOutput struct{ *pulumi.OutputState } + +func (GroupDeployTokenArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GroupDeployToken)(nil)).Elem() +} + +func (o GroupDeployTokenArrayOutput) ToGroupDeployTokenArrayOutput() GroupDeployTokenArrayOutput { + return o +} + +func (o GroupDeployTokenArrayOutput) ToGroupDeployTokenArrayOutputWithContext(ctx context.Context) GroupDeployTokenArrayOutput { + return o +} + +func (o GroupDeployTokenArrayOutput) Index(i pulumi.IntInput) GroupDeployTokenOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *GroupDeployToken { + return vs[0].([]*GroupDeployToken)[vs[1].(int)] + }).(GroupDeployTokenOutput) +} + +type GroupDeployTokenMapOutput struct{ *pulumi.OutputState } + +func (GroupDeployTokenMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GroupDeployToken)(nil)).Elem() +} + +func (o GroupDeployTokenMapOutput) ToGroupDeployTokenMapOutput() GroupDeployTokenMapOutput { + return o +} + +func (o GroupDeployTokenMapOutput) ToGroupDeployTokenMapOutputWithContext(ctx context.Context) GroupDeployTokenMapOutput { + return o +} + +func (o GroupDeployTokenMapOutput) MapIndex(k pulumi.StringInput) GroupDeployTokenOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *GroupDeployToken { + return vs[0].(map[string]*GroupDeployToken)[vs[1].(string)] + }).(GroupDeployTokenOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GroupDeployTokenInput)(nil)).Elem(), &GroupDeployToken{}) + pulumi.RegisterInputType(reflect.TypeOf((*GroupDeployTokenArrayInput)(nil)).Elem(), GroupDeployTokenArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GroupDeployTokenMapInput)(nil)).Elem(), GroupDeployTokenMap{}) + pulumi.RegisterOutputType(GroupDeployTokenOutput{}) + pulumi.RegisterOutputType(GroupDeployTokenArrayOutput{}) + pulumi.RegisterOutputType(GroupDeployTokenMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupEpicBoard.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupEpicBoard.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupEpicBoard.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupEpicBoard.go index 96c14d1b0..9b27513c0 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupEpicBoard.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupEpicBoard.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `GroupEpicBoard` resource allows to manage the lifecycle of a epic board in a group. +// The `GroupEpicBoard` resource manages the lifecycle of a epic board in a group. // // > Multiple epic boards on one group requires a GitLab Premium or above License. // @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -76,21 +76,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_epic_board`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `GroupEpicBoard`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_group_epic_board.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import this resource with an id made up of `{group-id}:{epic-board-id}`, e.g. +// You can import this resource with an id made up of `{group-id}:{epic-board-id}`, for example: // // ```sh // $ pulumi import gitlab:index/groupEpicBoard:GroupEpicBoard agile 70:156 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupHook.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupHook.go similarity index 68% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupHook.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupHook.go index 91bd5b59f..70483b468 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupHook.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupHook.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,31 +8,23 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `GroupHook` resource allows to manage the lifecycle of a group hook. +// The `GroupHook` resource manages the lifecycle of a group hook. +// +// > Note that `pushEvents` defaults to `true`. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_webhooks/) // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_hook`. For example: -// -// terraform -// -// import { -// -// to = gitlab_group_hook.example +// Starting in Terraform v1.5.0, you can use an import block to import `GroupHook`. For example: // -// id = "see CLI command below for ID" +// Importing using the CLI is supported with the following syntax: // -// } -// -// Import using the CLI is supported using the following syntax: -// -// A GitLab Group Hook can be imported using a key composed of `:`, e.g. +// A GitLab Group Hook can be imported using a key composed of `:`, for example: // // ```sh // $ pulumi import gitlab:index/groupHook:GroupHook example "12345:1" @@ -44,21 +36,23 @@ type GroupHook struct { // Filter push events by branch. Valid values are: `wildcard`, `regex`, `allBranches`. BranchFilterStrategy pulumi.StringOutput `pulumi:"branchFilterStrategy"` - // Invoke the hook for confidential issues events. + // Invoke the hook for confidential issues events. Defaults to `false`. ConfidentialIssuesEvents pulumi.BoolOutput `pulumi:"confidentialIssuesEvents"` - // Invoke the hook for confidential note events. + // Invoke the hook for confidential note events. Defaults to `false`. ConfidentialNoteEvents pulumi.BoolOutput `pulumi:"confidentialNoteEvents"` // Custom headers for the project webhook. CustomHeaders GroupHookCustomHeaderArrayOutput `pulumi:"customHeaders"` // Custom webhook template. CustomWebhookTemplate pulumi.StringOutput `pulumi:"customWebhookTemplate"` - // Invoke the hook for deployment events. + // Invoke the hook for deployment events. Defaults to `false`. DeploymentEvents pulumi.BoolOutput `pulumi:"deploymentEvents"` // Description of the group webhook. Description pulumi.StringOutput `pulumi:"description"` - // Enable SSL verification when invoking the hook. + // Invoke the hook for emoji events. Defaults to `false`. + EmojiEvents pulumi.BoolOutput `pulumi:"emojiEvents"` + // Enable SSL verification when invoking the hook. Defaults to `true`. EnableSslVerification pulumi.BoolOutput `pulumi:"enableSslVerification"` - // Invoke the hook for feature flag events. + // Invoke the hook for feature flag events. Defaults to `false`. FeatureFlagEvents pulumi.BoolOutput `pulumi:"featureFlagEvents"` // The full path or id of the group to add the hook to. Group pulumi.StringOutput `pulumi:"group"` @@ -66,33 +60,39 @@ type GroupHook struct { GroupId pulumi.IntOutput `pulumi:"groupId"` // The id of the group hook. HookId pulumi.IntOutput `pulumi:"hookId"` - // Invoke the hook for issues events. + // Invoke the hook for issues events. Defaults to `false`. IssuesEvents pulumi.BoolOutput `pulumi:"issuesEvents"` - // Invoke the hook for job events. + // Invoke the hook for job events. Defaults to `false`. JobEvents pulumi.BoolOutput `pulumi:"jobEvents"` - // Invoke the hook for merge requests events. + // Invoke the hook for member events. Defaults to `false`. + MemberEvents pulumi.BoolOutput `pulumi:"memberEvents"` + // Invoke the hook for merge requests events. Defaults to `false`. MergeRequestsEvents pulumi.BoolOutput `pulumi:"mergeRequestsEvents"` // Name of the group webhook. Name pulumi.StringOutput `pulumi:"name"` - // Invoke the hook for note events. + // Invoke the hook for note events. Defaults to `false`. NoteEvents pulumi.BoolOutput `pulumi:"noteEvents"` - // Invoke the hook for pipeline events. + // Invoke the hook for pipeline events. Defaults to `false`. PipelineEvents pulumi.BoolOutput `pulumi:"pipelineEvents"` - // Invoke the hook for push events. + // Invoke the hook for project events. Defaults to `false`. + ProjectEvents pulumi.BoolOutput `pulumi:"projectEvents"` + // Invoke the hook for push events. Defaults to `true`. PushEvents pulumi.BoolOutput `pulumi:"pushEvents"` // Invoke the hook for push events on matching branches only. PushEventsBranchFilter pulumi.StringOutput `pulumi:"pushEventsBranchFilter"` - // Invoke the hook for release events. + // Invoke the hook for release events. Defaults to `false`. ReleasesEvents pulumi.BoolOutput `pulumi:"releasesEvents"` - // Invoke the hook for subgroup events. + // Invoke the hook for subgroup events. Defaults to `false`. SubgroupEvents pulumi.BoolOutput `pulumi:"subgroupEvents"` - // Invoke the hook for tag push events. + // Invoke the hook for tag push events. Defaults to `false`. TagPushEvents pulumi.BoolOutput `pulumi:"tagPushEvents"` // A token to present when invoking the hook. The token is not available for imported resources. Token pulumi.StringOutput `pulumi:"token"` // The url of the hook to invoke. Forces re-creation to preserve `token`. Url pulumi.StringOutput `pulumi:"url"` - // Invoke the hook for wiki page events. + // Invoke the hook for vulnerability events. Defaults to `false`. + VulnerabilityEvents pulumi.BoolOutput `pulumi:"vulnerabilityEvents"` + // Invoke the hook for wiki page events. Defaults to `false`. WikiPageEvents pulumi.BoolOutput `pulumi:"wikiPageEvents"` } @@ -141,21 +141,23 @@ func GetGroupHook(ctx *pulumi.Context, type groupHookState struct { // Filter push events by branch. Valid values are: `wildcard`, `regex`, `allBranches`. BranchFilterStrategy *string `pulumi:"branchFilterStrategy"` - // Invoke the hook for confidential issues events. + // Invoke the hook for confidential issues events. Defaults to `false`. ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` - // Invoke the hook for confidential note events. + // Invoke the hook for confidential note events. Defaults to `false`. ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` // Custom headers for the project webhook. CustomHeaders []GroupHookCustomHeader `pulumi:"customHeaders"` // Custom webhook template. CustomWebhookTemplate *string `pulumi:"customWebhookTemplate"` - // Invoke the hook for deployment events. + // Invoke the hook for deployment events. Defaults to `false`. DeploymentEvents *bool `pulumi:"deploymentEvents"` // Description of the group webhook. Description *string `pulumi:"description"` - // Enable SSL verification when invoking the hook. + // Invoke the hook for emoji events. Defaults to `false`. + EmojiEvents *bool `pulumi:"emojiEvents"` + // Enable SSL verification when invoking the hook. Defaults to `true`. EnableSslVerification *bool `pulumi:"enableSslVerification"` - // Invoke the hook for feature flag events. + // Invoke the hook for feature flag events. Defaults to `false`. FeatureFlagEvents *bool `pulumi:"featureFlagEvents"` // The full path or id of the group to add the hook to. Group *string `pulumi:"group"` @@ -163,54 +165,62 @@ type groupHookState struct { GroupId *int `pulumi:"groupId"` // The id of the group hook. HookId *int `pulumi:"hookId"` - // Invoke the hook for issues events. + // Invoke the hook for issues events. Defaults to `false`. IssuesEvents *bool `pulumi:"issuesEvents"` - // Invoke the hook for job events. + // Invoke the hook for job events. Defaults to `false`. JobEvents *bool `pulumi:"jobEvents"` - // Invoke the hook for merge requests events. + // Invoke the hook for member events. Defaults to `false`. + MemberEvents *bool `pulumi:"memberEvents"` + // Invoke the hook for merge requests events. Defaults to `false`. MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` // Name of the group webhook. Name *string `pulumi:"name"` - // Invoke the hook for note events. + // Invoke the hook for note events. Defaults to `false`. NoteEvents *bool `pulumi:"noteEvents"` - // Invoke the hook for pipeline events. + // Invoke the hook for pipeline events. Defaults to `false`. PipelineEvents *bool `pulumi:"pipelineEvents"` - // Invoke the hook for push events. + // Invoke the hook for project events. Defaults to `false`. + ProjectEvents *bool `pulumi:"projectEvents"` + // Invoke the hook for push events. Defaults to `true`. PushEvents *bool `pulumi:"pushEvents"` // Invoke the hook for push events on matching branches only. PushEventsBranchFilter *string `pulumi:"pushEventsBranchFilter"` - // Invoke the hook for release events. + // Invoke the hook for release events. Defaults to `false`. ReleasesEvents *bool `pulumi:"releasesEvents"` - // Invoke the hook for subgroup events. + // Invoke the hook for subgroup events. Defaults to `false`. SubgroupEvents *bool `pulumi:"subgroupEvents"` - // Invoke the hook for tag push events. + // Invoke the hook for tag push events. Defaults to `false`. TagPushEvents *bool `pulumi:"tagPushEvents"` // A token to present when invoking the hook. The token is not available for imported resources. Token *string `pulumi:"token"` // The url of the hook to invoke. Forces re-creation to preserve `token`. Url *string `pulumi:"url"` - // Invoke the hook for wiki page events. + // Invoke the hook for vulnerability events. Defaults to `false`. + VulnerabilityEvents *bool `pulumi:"vulnerabilityEvents"` + // Invoke the hook for wiki page events. Defaults to `false`. WikiPageEvents *bool `pulumi:"wikiPageEvents"` } type GroupHookState struct { // Filter push events by branch. Valid values are: `wildcard`, `regex`, `allBranches`. BranchFilterStrategy pulumi.StringPtrInput - // Invoke the hook for confidential issues events. + // Invoke the hook for confidential issues events. Defaults to `false`. ConfidentialIssuesEvents pulumi.BoolPtrInput - // Invoke the hook for confidential note events. + // Invoke the hook for confidential note events. Defaults to `false`. ConfidentialNoteEvents pulumi.BoolPtrInput // Custom headers for the project webhook. CustomHeaders GroupHookCustomHeaderArrayInput // Custom webhook template. CustomWebhookTemplate pulumi.StringPtrInput - // Invoke the hook for deployment events. + // Invoke the hook for deployment events. Defaults to `false`. DeploymentEvents pulumi.BoolPtrInput // Description of the group webhook. Description pulumi.StringPtrInput - // Enable SSL verification when invoking the hook. + // Invoke the hook for emoji events. Defaults to `false`. + EmojiEvents pulumi.BoolPtrInput + // Enable SSL verification when invoking the hook. Defaults to `true`. EnableSslVerification pulumi.BoolPtrInput - // Invoke the hook for feature flag events. + // Invoke the hook for feature flag events. Defaults to `false`. FeatureFlagEvents pulumi.BoolPtrInput // The full path or id of the group to add the hook to. Group pulumi.StringPtrInput @@ -218,33 +228,39 @@ type GroupHookState struct { GroupId pulumi.IntPtrInput // The id of the group hook. HookId pulumi.IntPtrInput - // Invoke the hook for issues events. + // Invoke the hook for issues events. Defaults to `false`. IssuesEvents pulumi.BoolPtrInput - // Invoke the hook for job events. + // Invoke the hook for job events. Defaults to `false`. JobEvents pulumi.BoolPtrInput - // Invoke the hook for merge requests events. + // Invoke the hook for member events. Defaults to `false`. + MemberEvents pulumi.BoolPtrInput + // Invoke the hook for merge requests events. Defaults to `false`. MergeRequestsEvents pulumi.BoolPtrInput // Name of the group webhook. Name pulumi.StringPtrInput - // Invoke the hook for note events. + // Invoke the hook for note events. Defaults to `false`. NoteEvents pulumi.BoolPtrInput - // Invoke the hook for pipeline events. + // Invoke the hook for pipeline events. Defaults to `false`. PipelineEvents pulumi.BoolPtrInput - // Invoke the hook for push events. + // Invoke the hook for project events. Defaults to `false`. + ProjectEvents pulumi.BoolPtrInput + // Invoke the hook for push events. Defaults to `true`. PushEvents pulumi.BoolPtrInput // Invoke the hook for push events on matching branches only. PushEventsBranchFilter pulumi.StringPtrInput - // Invoke the hook for release events. + // Invoke the hook for release events. Defaults to `false`. ReleasesEvents pulumi.BoolPtrInput - // Invoke the hook for subgroup events. + // Invoke the hook for subgroup events. Defaults to `false`. SubgroupEvents pulumi.BoolPtrInput - // Invoke the hook for tag push events. + // Invoke the hook for tag push events. Defaults to `false`. TagPushEvents pulumi.BoolPtrInput // A token to present when invoking the hook. The token is not available for imported resources. Token pulumi.StringPtrInput // The url of the hook to invoke. Forces re-creation to preserve `token`. Url pulumi.StringPtrInput - // Invoke the hook for wiki page events. + // Invoke the hook for vulnerability events. Defaults to `false`. + VulnerabilityEvents pulumi.BoolPtrInput + // Invoke the hook for wiki page events. Defaults to `false`. WikiPageEvents pulumi.BoolPtrInput } @@ -255,51 +271,59 @@ func (GroupHookState) ElementType() reflect.Type { type groupHookArgs struct { // Filter push events by branch. Valid values are: `wildcard`, `regex`, `allBranches`. BranchFilterStrategy *string `pulumi:"branchFilterStrategy"` - // Invoke the hook for confidential issues events. + // Invoke the hook for confidential issues events. Defaults to `false`. ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` - // Invoke the hook for confidential note events. + // Invoke the hook for confidential note events. Defaults to `false`. ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` // Custom headers for the project webhook. CustomHeaders []GroupHookCustomHeader `pulumi:"customHeaders"` // Custom webhook template. CustomWebhookTemplate *string `pulumi:"customWebhookTemplate"` - // Invoke the hook for deployment events. + // Invoke the hook for deployment events. Defaults to `false`. DeploymentEvents *bool `pulumi:"deploymentEvents"` // Description of the group webhook. Description *string `pulumi:"description"` - // Enable SSL verification when invoking the hook. + // Invoke the hook for emoji events. Defaults to `false`. + EmojiEvents *bool `pulumi:"emojiEvents"` + // Enable SSL verification when invoking the hook. Defaults to `true`. EnableSslVerification *bool `pulumi:"enableSslVerification"` - // Invoke the hook for feature flag events. + // Invoke the hook for feature flag events. Defaults to `false`. FeatureFlagEvents *bool `pulumi:"featureFlagEvents"` // The full path or id of the group to add the hook to. Group string `pulumi:"group"` - // Invoke the hook for issues events. + // Invoke the hook for issues events. Defaults to `false`. IssuesEvents *bool `pulumi:"issuesEvents"` - // Invoke the hook for job events. + // Invoke the hook for job events. Defaults to `false`. JobEvents *bool `pulumi:"jobEvents"` - // Invoke the hook for merge requests events. + // Invoke the hook for member events. Defaults to `false`. + MemberEvents *bool `pulumi:"memberEvents"` + // Invoke the hook for merge requests events. Defaults to `false`. MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` // Name of the group webhook. Name *string `pulumi:"name"` - // Invoke the hook for note events. + // Invoke the hook for note events. Defaults to `false`. NoteEvents *bool `pulumi:"noteEvents"` - // Invoke the hook for pipeline events. + // Invoke the hook for pipeline events. Defaults to `false`. PipelineEvents *bool `pulumi:"pipelineEvents"` - // Invoke the hook for push events. + // Invoke the hook for project events. Defaults to `false`. + ProjectEvents *bool `pulumi:"projectEvents"` + // Invoke the hook for push events. Defaults to `true`. PushEvents *bool `pulumi:"pushEvents"` // Invoke the hook for push events on matching branches only. PushEventsBranchFilter *string `pulumi:"pushEventsBranchFilter"` - // Invoke the hook for release events. + // Invoke the hook for release events. Defaults to `false`. ReleasesEvents *bool `pulumi:"releasesEvents"` - // Invoke the hook for subgroup events. + // Invoke the hook for subgroup events. Defaults to `false`. SubgroupEvents *bool `pulumi:"subgroupEvents"` - // Invoke the hook for tag push events. + // Invoke the hook for tag push events. Defaults to `false`. TagPushEvents *bool `pulumi:"tagPushEvents"` // A token to present when invoking the hook. The token is not available for imported resources. Token *string `pulumi:"token"` // The url of the hook to invoke. Forces re-creation to preserve `token`. Url string `pulumi:"url"` - // Invoke the hook for wiki page events. + // Invoke the hook for vulnerability events. Defaults to `false`. + VulnerabilityEvents *bool `pulumi:"vulnerabilityEvents"` + // Invoke the hook for wiki page events. Defaults to `false`. WikiPageEvents *bool `pulumi:"wikiPageEvents"` } @@ -307,51 +331,59 @@ type groupHookArgs struct { type GroupHookArgs struct { // Filter push events by branch. Valid values are: `wildcard`, `regex`, `allBranches`. BranchFilterStrategy pulumi.StringPtrInput - // Invoke the hook for confidential issues events. + // Invoke the hook for confidential issues events. Defaults to `false`. ConfidentialIssuesEvents pulumi.BoolPtrInput - // Invoke the hook for confidential note events. + // Invoke the hook for confidential note events. Defaults to `false`. ConfidentialNoteEvents pulumi.BoolPtrInput // Custom headers for the project webhook. CustomHeaders GroupHookCustomHeaderArrayInput // Custom webhook template. CustomWebhookTemplate pulumi.StringPtrInput - // Invoke the hook for deployment events. + // Invoke the hook for deployment events. Defaults to `false`. DeploymentEvents pulumi.BoolPtrInput // Description of the group webhook. Description pulumi.StringPtrInput - // Enable SSL verification when invoking the hook. + // Invoke the hook for emoji events. Defaults to `false`. + EmojiEvents pulumi.BoolPtrInput + // Enable SSL verification when invoking the hook. Defaults to `true`. EnableSslVerification pulumi.BoolPtrInput - // Invoke the hook for feature flag events. + // Invoke the hook for feature flag events. Defaults to `false`. FeatureFlagEvents pulumi.BoolPtrInput // The full path or id of the group to add the hook to. Group pulumi.StringInput - // Invoke the hook for issues events. + // Invoke the hook for issues events. Defaults to `false`. IssuesEvents pulumi.BoolPtrInput - // Invoke the hook for job events. + // Invoke the hook for job events. Defaults to `false`. JobEvents pulumi.BoolPtrInput - // Invoke the hook for merge requests events. + // Invoke the hook for member events. Defaults to `false`. + MemberEvents pulumi.BoolPtrInput + // Invoke the hook for merge requests events. Defaults to `false`. MergeRequestsEvents pulumi.BoolPtrInput // Name of the group webhook. Name pulumi.StringPtrInput - // Invoke the hook for note events. + // Invoke the hook for note events. Defaults to `false`. NoteEvents pulumi.BoolPtrInput - // Invoke the hook for pipeline events. + // Invoke the hook for pipeline events. Defaults to `false`. PipelineEvents pulumi.BoolPtrInput - // Invoke the hook for push events. + // Invoke the hook for project events. Defaults to `false`. + ProjectEvents pulumi.BoolPtrInput + // Invoke the hook for push events. Defaults to `true`. PushEvents pulumi.BoolPtrInput // Invoke the hook for push events on matching branches only. PushEventsBranchFilter pulumi.StringPtrInput - // Invoke the hook for release events. + // Invoke the hook for release events. Defaults to `false`. ReleasesEvents pulumi.BoolPtrInput - // Invoke the hook for subgroup events. + // Invoke the hook for subgroup events. Defaults to `false`. SubgroupEvents pulumi.BoolPtrInput - // Invoke the hook for tag push events. + // Invoke the hook for tag push events. Defaults to `false`. TagPushEvents pulumi.BoolPtrInput // A token to present when invoking the hook. The token is not available for imported resources. Token pulumi.StringPtrInput // The url of the hook to invoke. Forces re-creation to preserve `token`. Url pulumi.StringInput - // Invoke the hook for wiki page events. + // Invoke the hook for vulnerability events. Defaults to `false`. + VulnerabilityEvents pulumi.BoolPtrInput + // Invoke the hook for wiki page events. Defaults to `false`. WikiPageEvents pulumi.BoolPtrInput } @@ -447,12 +479,12 @@ func (o GroupHookOutput) BranchFilterStrategy() pulumi.StringOutput { return o.ApplyT(func(v *GroupHook) pulumi.StringOutput { return v.BranchFilterStrategy }).(pulumi.StringOutput) } -// Invoke the hook for confidential issues events. +// Invoke the hook for confidential issues events. Defaults to `false`. func (o GroupHookOutput) ConfidentialIssuesEvents() pulumi.BoolOutput { return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.ConfidentialIssuesEvents }).(pulumi.BoolOutput) } -// Invoke the hook for confidential note events. +// Invoke the hook for confidential note events. Defaults to `false`. func (o GroupHookOutput) ConfidentialNoteEvents() pulumi.BoolOutput { return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.ConfidentialNoteEvents }).(pulumi.BoolOutput) } @@ -467,7 +499,7 @@ func (o GroupHookOutput) CustomWebhookTemplate() pulumi.StringOutput { return o.ApplyT(func(v *GroupHook) pulumi.StringOutput { return v.CustomWebhookTemplate }).(pulumi.StringOutput) } -// Invoke the hook for deployment events. +// Invoke the hook for deployment events. Defaults to `false`. func (o GroupHookOutput) DeploymentEvents() pulumi.BoolOutput { return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.DeploymentEvents }).(pulumi.BoolOutput) } @@ -477,12 +509,17 @@ func (o GroupHookOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *GroupHook) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } -// Enable SSL verification when invoking the hook. +// Invoke the hook for emoji events. Defaults to `false`. +func (o GroupHookOutput) EmojiEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.EmojiEvents }).(pulumi.BoolOutput) +} + +// Enable SSL verification when invoking the hook. Defaults to `true`. func (o GroupHookOutput) EnableSslVerification() pulumi.BoolOutput { return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.EnableSslVerification }).(pulumi.BoolOutput) } -// Invoke the hook for feature flag events. +// Invoke the hook for feature flag events. Defaults to `false`. func (o GroupHookOutput) FeatureFlagEvents() pulumi.BoolOutput { return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.FeatureFlagEvents }).(pulumi.BoolOutput) } @@ -502,17 +539,22 @@ func (o GroupHookOutput) HookId() pulumi.IntOutput { return o.ApplyT(func(v *GroupHook) pulumi.IntOutput { return v.HookId }).(pulumi.IntOutput) } -// Invoke the hook for issues events. +// Invoke the hook for issues events. Defaults to `false`. func (o GroupHookOutput) IssuesEvents() pulumi.BoolOutput { return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.IssuesEvents }).(pulumi.BoolOutput) } -// Invoke the hook for job events. +// Invoke the hook for job events. Defaults to `false`. func (o GroupHookOutput) JobEvents() pulumi.BoolOutput { return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.JobEvents }).(pulumi.BoolOutput) } -// Invoke the hook for merge requests events. +// Invoke the hook for member events. Defaults to `false`. +func (o GroupHookOutput) MemberEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.MemberEvents }).(pulumi.BoolOutput) +} + +// Invoke the hook for merge requests events. Defaults to `false`. func (o GroupHookOutput) MergeRequestsEvents() pulumi.BoolOutput { return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.MergeRequestsEvents }).(pulumi.BoolOutput) } @@ -522,17 +564,22 @@ func (o GroupHookOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *GroupHook) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// Invoke the hook for note events. +// Invoke the hook for note events. Defaults to `false`. func (o GroupHookOutput) NoteEvents() pulumi.BoolOutput { return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.NoteEvents }).(pulumi.BoolOutput) } -// Invoke the hook for pipeline events. +// Invoke the hook for pipeline events. Defaults to `false`. func (o GroupHookOutput) PipelineEvents() pulumi.BoolOutput { return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.PipelineEvents }).(pulumi.BoolOutput) } -// Invoke the hook for push events. +// Invoke the hook for project events. Defaults to `false`. +func (o GroupHookOutput) ProjectEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.ProjectEvents }).(pulumi.BoolOutput) +} + +// Invoke the hook for push events. Defaults to `true`. func (o GroupHookOutput) PushEvents() pulumi.BoolOutput { return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.PushEvents }).(pulumi.BoolOutput) } @@ -542,17 +589,17 @@ func (o GroupHookOutput) PushEventsBranchFilter() pulumi.StringOutput { return o.ApplyT(func(v *GroupHook) pulumi.StringOutput { return v.PushEventsBranchFilter }).(pulumi.StringOutput) } -// Invoke the hook for release events. +// Invoke the hook for release events. Defaults to `false`. func (o GroupHookOutput) ReleasesEvents() pulumi.BoolOutput { return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.ReleasesEvents }).(pulumi.BoolOutput) } -// Invoke the hook for subgroup events. +// Invoke the hook for subgroup events. Defaults to `false`. func (o GroupHookOutput) SubgroupEvents() pulumi.BoolOutput { return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.SubgroupEvents }).(pulumi.BoolOutput) } -// Invoke the hook for tag push events. +// Invoke the hook for tag push events. Defaults to `false`. func (o GroupHookOutput) TagPushEvents() pulumi.BoolOutput { return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.TagPushEvents }).(pulumi.BoolOutput) } @@ -567,7 +614,12 @@ func (o GroupHookOutput) Url() pulumi.StringOutput { return o.ApplyT(func(v *GroupHook) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) } -// Invoke the hook for wiki page events. +// Invoke the hook for vulnerability events. Defaults to `false`. +func (o GroupHookOutput) VulnerabilityEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.VulnerabilityEvents }).(pulumi.BoolOutput) +} + +// Invoke the hook for wiki page events. Defaults to `false`. func (o GroupHookOutput) WikiPageEvents() pulumi.BoolOutput { return o.ApplyT(func(v *GroupHook) pulumi.BoolOutput { return v.WikiPageEvents }).(pulumi.BoolOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupIntegrationMattermost.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupIntegrationMattermost.go new file mode 100644 index 000000000..1104e3ec7 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupIntegrationMattermost.go @@ -0,0 +1,669 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `GroupIntegrationMattermost` resource manages the lifecycle of a group integration with Mattermost. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_integrations/#mattermost-notifications) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := gitlab.NewGroup(ctx, "example", &gitlab.GroupArgs{ +// Name: pulumi.String("example-group"), +// Path: pulumi.String("example-group"), +// Description: pulumi.String("An example group"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewGroupIntegrationMattermost(ctx, "mattermost", &gitlab.GroupIntegrationMattermostArgs{ +// Group: example.ID(), +// Webhook: pulumi.String("https://mattermost.example.com/hooks/..."), +// Username: pulumi.String("my-username"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `GroupIntegrationMattermost`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// GitLab group Mattermost integrations can be imported using the group ID, for example: +// +// ```sh +// $ pulumi import gitlab:index/groupIntegrationMattermost:GroupIntegrationMattermost mattermost 12345 +// ``` +type GroupIntegrationMattermost struct { + pulumi.CustomResourceState + + // Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. + BranchesToBeNotified pulumi.StringOutput `pulumi:"branchesToBeNotified"` + // Default channel to use if no other channel is configured. + Channel pulumi.StringOutput `pulumi:"channel"` + // The name of the channel to receive confidential issue events notifications. + ConfidentialIssueChannel pulumi.StringOutput `pulumi:"confidentialIssueChannel"` + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents pulumi.BoolOutput `pulumi:"confidentialIssuesEvents"` + // The name of the channel to receive confidential note events notifications. + ConfidentialNoteChannel pulumi.StringOutput `pulumi:"confidentialNoteChannel"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolOutput `pulumi:"confidentialNoteEvents"` + // The ID or full path of the group to integrate with Mattermost. + Group pulumi.StringOutput `pulumi:"group"` + // The name of the channel to receive issue events notifications. + IssueChannel pulumi.StringOutput `pulumi:"issueChannel"` + // Enable notifications for issues events. + IssuesEvents pulumi.BoolOutput `pulumi:"issuesEvents"` + // Labels to send notifications for. Leave blank to receive notifications for all events. + LabelsToBeNotified pulumi.StringOutput `pulumi:"labelsToBeNotified"` + // Labels to be notified for. Valid values are `matchAny`, `matchAll`. + LabelsToBeNotifiedBehavior pulumi.StringOutput `pulumi:"labelsToBeNotifiedBehavior"` + // The name of the channel to receive merge request events notifications. + MergeRequestChannel pulumi.StringOutput `pulumi:"mergeRequestChannel"` + // Enable notifications for merge requests events. + MergeRequestsEvents pulumi.BoolOutput `pulumi:"mergeRequestsEvents"` + // The name of the channel to receive note events notifications. + NoteChannel pulumi.StringOutput `pulumi:"noteChannel"` + // Enable notifications for note events. + NoteEvents pulumi.BoolOutput `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolOutput `pulumi:"notifyOnlyBrokenPipelines"` + // The name of the channel to receive pipeline events notifications. + PipelineChannel pulumi.StringOutput `pulumi:"pipelineChannel"` + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolOutput `pulumi:"pipelineEvents"` + // The name of the channel to receive push events notifications. + PushChannel pulumi.StringOutput `pulumi:"pushChannel"` + // Enable notifications for push events. + PushEvents pulumi.BoolOutput `pulumi:"pushEvents"` + // The name of the channel to receive tag push events notifications. + TagPushChannel pulumi.StringOutput `pulumi:"tagPushChannel"` + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolOutput `pulumi:"tagPushEvents"` + // Inherit settings from parent group. + UseInheritedSettings pulumi.BoolPtrOutput `pulumi:"useInheritedSettings"` + // Mattermost notifications username. + Username pulumi.StringOutput `pulumi:"username"` + // Mattermost notifications webhook (for example, http://mattermost.example.com/hooks/...). + Webhook pulumi.StringOutput `pulumi:"webhook"` + // The name of the channel to receive wiki page events notifications. + WikiPageChannel pulumi.StringOutput `pulumi:"wikiPageChannel"` + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolOutput `pulumi:"wikiPageEvents"` +} + +// NewGroupIntegrationMattermost registers a new resource with the given unique name, arguments, and options. +func NewGroupIntegrationMattermost(ctx *pulumi.Context, + name string, args *GroupIntegrationMattermostArgs, opts ...pulumi.ResourceOption) (*GroupIntegrationMattermost, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Group == nil { + return nil, errors.New("invalid value for required argument 'Group'") + } + if args.Webhook == nil { + return nil, errors.New("invalid value for required argument 'Webhook'") + } + if args.Webhook != nil { + args.Webhook = pulumi.ToSecret(args.Webhook).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "webhook", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource GroupIntegrationMattermost + err := ctx.RegisterResource("gitlab:index/groupIntegrationMattermost:GroupIntegrationMattermost", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetGroupIntegrationMattermost gets an existing GroupIntegrationMattermost resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetGroupIntegrationMattermost(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *GroupIntegrationMattermostState, opts ...pulumi.ResourceOption) (*GroupIntegrationMattermost, error) { + var resource GroupIntegrationMattermost + err := ctx.ReadResource("gitlab:index/groupIntegrationMattermost:GroupIntegrationMattermost", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering GroupIntegrationMattermost resources. +type groupIntegrationMattermostState struct { + // Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. + BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` + // Default channel to use if no other channel is configured. + Channel *string `pulumi:"channel"` + // The name of the channel to receive confidential issue events notifications. + ConfidentialIssueChannel *string `pulumi:"confidentialIssueChannel"` + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` + // The name of the channel to receive confidential note events notifications. + ConfidentialNoteChannel *string `pulumi:"confidentialNoteChannel"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` + // The ID or full path of the group to integrate with Mattermost. + Group *string `pulumi:"group"` + // The name of the channel to receive issue events notifications. + IssueChannel *string `pulumi:"issueChannel"` + // Enable notifications for issues events. + IssuesEvents *bool `pulumi:"issuesEvents"` + // Labels to send notifications for. Leave blank to receive notifications for all events. + LabelsToBeNotified *string `pulumi:"labelsToBeNotified"` + // Labels to be notified for. Valid values are `matchAny`, `matchAll`. + LabelsToBeNotifiedBehavior *string `pulumi:"labelsToBeNotifiedBehavior"` + // The name of the channel to receive merge request events notifications. + MergeRequestChannel *string `pulumi:"mergeRequestChannel"` + // Enable notifications for merge requests events. + MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` + // The name of the channel to receive note events notifications. + NoteChannel *string `pulumi:"noteChannel"` + // Enable notifications for note events. + NoteEvents *bool `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` + // The name of the channel to receive pipeline events notifications. + PipelineChannel *string `pulumi:"pipelineChannel"` + // Enable notifications for pipeline events. + PipelineEvents *bool `pulumi:"pipelineEvents"` + // The name of the channel to receive push events notifications. + PushChannel *string `pulumi:"pushChannel"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // The name of the channel to receive tag push events notifications. + TagPushChannel *string `pulumi:"tagPushChannel"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` + // Inherit settings from parent group. + UseInheritedSettings *bool `pulumi:"useInheritedSettings"` + // Mattermost notifications username. + Username *string `pulumi:"username"` + // Mattermost notifications webhook (for example, http://mattermost.example.com/hooks/...). + Webhook *string `pulumi:"webhook"` + // The name of the channel to receive wiki page events notifications. + WikiPageChannel *string `pulumi:"wikiPageChannel"` + // Enable notifications for wiki page events. + WikiPageEvents *bool `pulumi:"wikiPageEvents"` +} + +type GroupIntegrationMattermostState struct { + // Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. + BranchesToBeNotified pulumi.StringPtrInput + // Default channel to use if no other channel is configured. + Channel pulumi.StringPtrInput + // The name of the channel to receive confidential issue events notifications. + ConfidentialIssueChannel pulumi.StringPtrInput + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents pulumi.BoolPtrInput + // The name of the channel to receive confidential note events notifications. + ConfidentialNoteChannel pulumi.StringPtrInput + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolPtrInput + // The ID or full path of the group to integrate with Mattermost. + Group pulumi.StringPtrInput + // The name of the channel to receive issue events notifications. + IssueChannel pulumi.StringPtrInput + // Enable notifications for issues events. + IssuesEvents pulumi.BoolPtrInput + // Labels to send notifications for. Leave blank to receive notifications for all events. + LabelsToBeNotified pulumi.StringPtrInput + // Labels to be notified for. Valid values are `matchAny`, `matchAll`. + LabelsToBeNotifiedBehavior pulumi.StringPtrInput + // The name of the channel to receive merge request events notifications. + MergeRequestChannel pulumi.StringPtrInput + // Enable notifications for merge requests events. + MergeRequestsEvents pulumi.BoolPtrInput + // The name of the channel to receive note events notifications. + NoteChannel pulumi.StringPtrInput + // Enable notifications for note events. + NoteEvents pulumi.BoolPtrInput + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolPtrInput + // The name of the channel to receive pipeline events notifications. + PipelineChannel pulumi.StringPtrInput + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolPtrInput + // The name of the channel to receive push events notifications. + PushChannel pulumi.StringPtrInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // The name of the channel to receive tag push events notifications. + TagPushChannel pulumi.StringPtrInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput + // Inherit settings from parent group. + UseInheritedSettings pulumi.BoolPtrInput + // Mattermost notifications username. + Username pulumi.StringPtrInput + // Mattermost notifications webhook (for example, http://mattermost.example.com/hooks/...). + Webhook pulumi.StringPtrInput + // The name of the channel to receive wiki page events notifications. + WikiPageChannel pulumi.StringPtrInput + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolPtrInput +} + +func (GroupIntegrationMattermostState) ElementType() reflect.Type { + return reflect.TypeOf((*groupIntegrationMattermostState)(nil)).Elem() +} + +type groupIntegrationMattermostArgs struct { + // Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. + BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` + // Default channel to use if no other channel is configured. + Channel *string `pulumi:"channel"` + // The name of the channel to receive confidential issue events notifications. + ConfidentialIssueChannel *string `pulumi:"confidentialIssueChannel"` + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` + // The name of the channel to receive confidential note events notifications. + ConfidentialNoteChannel *string `pulumi:"confidentialNoteChannel"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` + // The ID or full path of the group to integrate with Mattermost. + Group string `pulumi:"group"` + // The name of the channel to receive issue events notifications. + IssueChannel *string `pulumi:"issueChannel"` + // Enable notifications for issues events. + IssuesEvents *bool `pulumi:"issuesEvents"` + // Labels to send notifications for. Leave blank to receive notifications for all events. + LabelsToBeNotified *string `pulumi:"labelsToBeNotified"` + // Labels to be notified for. Valid values are `matchAny`, `matchAll`. + LabelsToBeNotifiedBehavior *string `pulumi:"labelsToBeNotifiedBehavior"` + // The name of the channel to receive merge request events notifications. + MergeRequestChannel *string `pulumi:"mergeRequestChannel"` + // Enable notifications for merge requests events. + MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` + // The name of the channel to receive note events notifications. + NoteChannel *string `pulumi:"noteChannel"` + // Enable notifications for note events. + NoteEvents *bool `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` + // The name of the channel to receive pipeline events notifications. + PipelineChannel *string `pulumi:"pipelineChannel"` + // Enable notifications for pipeline events. + PipelineEvents *bool `pulumi:"pipelineEvents"` + // The name of the channel to receive push events notifications. + PushChannel *string `pulumi:"pushChannel"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // The name of the channel to receive tag push events notifications. + TagPushChannel *string `pulumi:"tagPushChannel"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` + // Inherit settings from parent group. + UseInheritedSettings *bool `pulumi:"useInheritedSettings"` + // Mattermost notifications username. + Username *string `pulumi:"username"` + // Mattermost notifications webhook (for example, http://mattermost.example.com/hooks/...). + Webhook string `pulumi:"webhook"` + // The name of the channel to receive wiki page events notifications. + WikiPageChannel *string `pulumi:"wikiPageChannel"` + // Enable notifications for wiki page events. + WikiPageEvents *bool `pulumi:"wikiPageEvents"` +} + +// The set of arguments for constructing a GroupIntegrationMattermost resource. +type GroupIntegrationMattermostArgs struct { + // Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. + BranchesToBeNotified pulumi.StringPtrInput + // Default channel to use if no other channel is configured. + Channel pulumi.StringPtrInput + // The name of the channel to receive confidential issue events notifications. + ConfidentialIssueChannel pulumi.StringPtrInput + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents pulumi.BoolPtrInput + // The name of the channel to receive confidential note events notifications. + ConfidentialNoteChannel pulumi.StringPtrInput + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolPtrInput + // The ID or full path of the group to integrate with Mattermost. + Group pulumi.StringInput + // The name of the channel to receive issue events notifications. + IssueChannel pulumi.StringPtrInput + // Enable notifications for issues events. + IssuesEvents pulumi.BoolPtrInput + // Labels to send notifications for. Leave blank to receive notifications for all events. + LabelsToBeNotified pulumi.StringPtrInput + // Labels to be notified for. Valid values are `matchAny`, `matchAll`. + LabelsToBeNotifiedBehavior pulumi.StringPtrInput + // The name of the channel to receive merge request events notifications. + MergeRequestChannel pulumi.StringPtrInput + // Enable notifications for merge requests events. + MergeRequestsEvents pulumi.BoolPtrInput + // The name of the channel to receive note events notifications. + NoteChannel pulumi.StringPtrInput + // Enable notifications for note events. + NoteEvents pulumi.BoolPtrInput + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolPtrInput + // The name of the channel to receive pipeline events notifications. + PipelineChannel pulumi.StringPtrInput + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolPtrInput + // The name of the channel to receive push events notifications. + PushChannel pulumi.StringPtrInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // The name of the channel to receive tag push events notifications. + TagPushChannel pulumi.StringPtrInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput + // Inherit settings from parent group. + UseInheritedSettings pulumi.BoolPtrInput + // Mattermost notifications username. + Username pulumi.StringPtrInput + // Mattermost notifications webhook (for example, http://mattermost.example.com/hooks/...). + Webhook pulumi.StringInput + // The name of the channel to receive wiki page events notifications. + WikiPageChannel pulumi.StringPtrInput + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolPtrInput +} + +func (GroupIntegrationMattermostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*groupIntegrationMattermostArgs)(nil)).Elem() +} + +type GroupIntegrationMattermostInput interface { + pulumi.Input + + ToGroupIntegrationMattermostOutput() GroupIntegrationMattermostOutput + ToGroupIntegrationMattermostOutputWithContext(ctx context.Context) GroupIntegrationMattermostOutput +} + +func (*GroupIntegrationMattermost) ElementType() reflect.Type { + return reflect.TypeOf((**GroupIntegrationMattermost)(nil)).Elem() +} + +func (i *GroupIntegrationMattermost) ToGroupIntegrationMattermostOutput() GroupIntegrationMattermostOutput { + return i.ToGroupIntegrationMattermostOutputWithContext(context.Background()) +} + +func (i *GroupIntegrationMattermost) ToGroupIntegrationMattermostOutputWithContext(ctx context.Context) GroupIntegrationMattermostOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupIntegrationMattermostOutput) +} + +// GroupIntegrationMattermostArrayInput is an input type that accepts GroupIntegrationMattermostArray and GroupIntegrationMattermostArrayOutput values. +// You can construct a concrete instance of `GroupIntegrationMattermostArrayInput` via: +// +// GroupIntegrationMattermostArray{ GroupIntegrationMattermostArgs{...} } +type GroupIntegrationMattermostArrayInput interface { + pulumi.Input + + ToGroupIntegrationMattermostArrayOutput() GroupIntegrationMattermostArrayOutput + ToGroupIntegrationMattermostArrayOutputWithContext(context.Context) GroupIntegrationMattermostArrayOutput +} + +type GroupIntegrationMattermostArray []GroupIntegrationMattermostInput + +func (GroupIntegrationMattermostArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GroupIntegrationMattermost)(nil)).Elem() +} + +func (i GroupIntegrationMattermostArray) ToGroupIntegrationMattermostArrayOutput() GroupIntegrationMattermostArrayOutput { + return i.ToGroupIntegrationMattermostArrayOutputWithContext(context.Background()) +} + +func (i GroupIntegrationMattermostArray) ToGroupIntegrationMattermostArrayOutputWithContext(ctx context.Context) GroupIntegrationMattermostArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupIntegrationMattermostArrayOutput) +} + +// GroupIntegrationMattermostMapInput is an input type that accepts GroupIntegrationMattermostMap and GroupIntegrationMattermostMapOutput values. +// You can construct a concrete instance of `GroupIntegrationMattermostMapInput` via: +// +// GroupIntegrationMattermostMap{ "key": GroupIntegrationMattermostArgs{...} } +type GroupIntegrationMattermostMapInput interface { + pulumi.Input + + ToGroupIntegrationMattermostMapOutput() GroupIntegrationMattermostMapOutput + ToGroupIntegrationMattermostMapOutputWithContext(context.Context) GroupIntegrationMattermostMapOutput +} + +type GroupIntegrationMattermostMap map[string]GroupIntegrationMattermostInput + +func (GroupIntegrationMattermostMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GroupIntegrationMattermost)(nil)).Elem() +} + +func (i GroupIntegrationMattermostMap) ToGroupIntegrationMattermostMapOutput() GroupIntegrationMattermostMapOutput { + return i.ToGroupIntegrationMattermostMapOutputWithContext(context.Background()) +} + +func (i GroupIntegrationMattermostMap) ToGroupIntegrationMattermostMapOutputWithContext(ctx context.Context) GroupIntegrationMattermostMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupIntegrationMattermostMapOutput) +} + +type GroupIntegrationMattermostOutput struct{ *pulumi.OutputState } + +func (GroupIntegrationMattermostOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GroupIntegrationMattermost)(nil)).Elem() +} + +func (o GroupIntegrationMattermostOutput) ToGroupIntegrationMattermostOutput() GroupIntegrationMattermostOutput { + return o +} + +func (o GroupIntegrationMattermostOutput) ToGroupIntegrationMattermostOutputWithContext(ctx context.Context) GroupIntegrationMattermostOutput { + return o +} + +// Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. +func (o GroupIntegrationMattermostOutput) BranchesToBeNotified() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.StringOutput { return v.BranchesToBeNotified }).(pulumi.StringOutput) +} + +// Default channel to use if no other channel is configured. +func (o GroupIntegrationMattermostOutput) Channel() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.StringOutput { return v.Channel }).(pulumi.StringOutput) +} + +// The name of the channel to receive confidential issue events notifications. +func (o GroupIntegrationMattermostOutput) ConfidentialIssueChannel() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.StringOutput { return v.ConfidentialIssueChannel }).(pulumi.StringOutput) +} + +// Enable notifications for confidential issues events. +func (o GroupIntegrationMattermostOutput) ConfidentialIssuesEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.BoolOutput { return v.ConfidentialIssuesEvents }).(pulumi.BoolOutput) +} + +// The name of the channel to receive confidential note events notifications. +func (o GroupIntegrationMattermostOutput) ConfidentialNoteChannel() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.StringOutput { return v.ConfidentialNoteChannel }).(pulumi.StringOutput) +} + +// Enable notifications for confidential note events. +func (o GroupIntegrationMattermostOutput) ConfidentialNoteEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.BoolOutput { return v.ConfidentialNoteEvents }).(pulumi.BoolOutput) +} + +// The ID or full path of the group to integrate with Mattermost. +func (o GroupIntegrationMattermostOutput) Group() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.StringOutput { return v.Group }).(pulumi.StringOutput) +} + +// The name of the channel to receive issue events notifications. +func (o GroupIntegrationMattermostOutput) IssueChannel() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.StringOutput { return v.IssueChannel }).(pulumi.StringOutput) +} + +// Enable notifications for issues events. +func (o GroupIntegrationMattermostOutput) IssuesEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.BoolOutput { return v.IssuesEvents }).(pulumi.BoolOutput) +} + +// Labels to send notifications for. Leave blank to receive notifications for all events. +func (o GroupIntegrationMattermostOutput) LabelsToBeNotified() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.StringOutput { return v.LabelsToBeNotified }).(pulumi.StringOutput) +} + +// Labels to be notified for. Valid values are `matchAny`, `matchAll`. +func (o GroupIntegrationMattermostOutput) LabelsToBeNotifiedBehavior() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.StringOutput { return v.LabelsToBeNotifiedBehavior }).(pulumi.StringOutput) +} + +// The name of the channel to receive merge request events notifications. +func (o GroupIntegrationMattermostOutput) MergeRequestChannel() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.StringOutput { return v.MergeRequestChannel }).(pulumi.StringOutput) +} + +// Enable notifications for merge requests events. +func (o GroupIntegrationMattermostOutput) MergeRequestsEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.BoolOutput { return v.MergeRequestsEvents }).(pulumi.BoolOutput) +} + +// The name of the channel to receive note events notifications. +func (o GroupIntegrationMattermostOutput) NoteChannel() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.StringOutput { return v.NoteChannel }).(pulumi.StringOutput) +} + +// Enable notifications for note events. +func (o GroupIntegrationMattermostOutput) NoteEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.BoolOutput { return v.NoteEvents }).(pulumi.BoolOutput) +} + +// Send notifications for broken pipelines. +func (o GroupIntegrationMattermostOutput) NotifyOnlyBrokenPipelines() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.BoolOutput { return v.NotifyOnlyBrokenPipelines }).(pulumi.BoolOutput) +} + +// The name of the channel to receive pipeline events notifications. +func (o GroupIntegrationMattermostOutput) PipelineChannel() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.StringOutput { return v.PipelineChannel }).(pulumi.StringOutput) +} + +// Enable notifications for pipeline events. +func (o GroupIntegrationMattermostOutput) PipelineEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.BoolOutput { return v.PipelineEvents }).(pulumi.BoolOutput) +} + +// The name of the channel to receive push events notifications. +func (o GroupIntegrationMattermostOutput) PushChannel() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.StringOutput { return v.PushChannel }).(pulumi.StringOutput) +} + +// Enable notifications for push events. +func (o GroupIntegrationMattermostOutput) PushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.BoolOutput { return v.PushEvents }).(pulumi.BoolOutput) +} + +// The name of the channel to receive tag push events notifications. +func (o GroupIntegrationMattermostOutput) TagPushChannel() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.StringOutput { return v.TagPushChannel }).(pulumi.StringOutput) +} + +// Enable notifications for tag push events. +func (o GroupIntegrationMattermostOutput) TagPushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.BoolOutput { return v.TagPushEvents }).(pulumi.BoolOutput) +} + +// Inherit settings from parent group. +func (o GroupIntegrationMattermostOutput) UseInheritedSettings() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.BoolPtrOutput { return v.UseInheritedSettings }).(pulumi.BoolPtrOutput) +} + +// Mattermost notifications username. +func (o GroupIntegrationMattermostOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) +} + +// Mattermost notifications webhook (for example, http://mattermost.example.com/hooks/...). +func (o GroupIntegrationMattermostOutput) Webhook() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.StringOutput { return v.Webhook }).(pulumi.StringOutput) +} + +// The name of the channel to receive wiki page events notifications. +func (o GroupIntegrationMattermostOutput) WikiPageChannel() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.StringOutput { return v.WikiPageChannel }).(pulumi.StringOutput) +} + +// Enable notifications for wiki page events. +func (o GroupIntegrationMattermostOutput) WikiPageEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupIntegrationMattermost) pulumi.BoolOutput { return v.WikiPageEvents }).(pulumi.BoolOutput) +} + +type GroupIntegrationMattermostArrayOutput struct{ *pulumi.OutputState } + +func (GroupIntegrationMattermostArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GroupIntegrationMattermost)(nil)).Elem() +} + +func (o GroupIntegrationMattermostArrayOutput) ToGroupIntegrationMattermostArrayOutput() GroupIntegrationMattermostArrayOutput { + return o +} + +func (o GroupIntegrationMattermostArrayOutput) ToGroupIntegrationMattermostArrayOutputWithContext(ctx context.Context) GroupIntegrationMattermostArrayOutput { + return o +} + +func (o GroupIntegrationMattermostArrayOutput) Index(i pulumi.IntInput) GroupIntegrationMattermostOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *GroupIntegrationMattermost { + return vs[0].([]*GroupIntegrationMattermost)[vs[1].(int)] + }).(GroupIntegrationMattermostOutput) +} + +type GroupIntegrationMattermostMapOutput struct{ *pulumi.OutputState } + +func (GroupIntegrationMattermostMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GroupIntegrationMattermost)(nil)).Elem() +} + +func (o GroupIntegrationMattermostMapOutput) ToGroupIntegrationMattermostMapOutput() GroupIntegrationMattermostMapOutput { + return o +} + +func (o GroupIntegrationMattermostMapOutput) ToGroupIntegrationMattermostMapOutputWithContext(ctx context.Context) GroupIntegrationMattermostMapOutput { + return o +} + +func (o GroupIntegrationMattermostMapOutput) MapIndex(k pulumi.StringInput) GroupIntegrationMattermostOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *GroupIntegrationMattermost { + return vs[0].(map[string]*GroupIntegrationMattermost)[vs[1].(string)] + }).(GroupIntegrationMattermostOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GroupIntegrationMattermostInput)(nil)).Elem(), &GroupIntegrationMattermost{}) + pulumi.RegisterInputType(reflect.TypeOf((*GroupIntegrationMattermostArrayInput)(nil)).Elem(), GroupIntegrationMattermostArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GroupIntegrationMattermostMapInput)(nil)).Elem(), GroupIntegrationMattermostMap{}) + pulumi.RegisterOutputType(GroupIntegrationMattermostOutput{}) + pulumi.RegisterOutputType(GroupIntegrationMattermostArrayOutput{}) + pulumi.RegisterOutputType(GroupIntegrationMattermostMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupIntegrationMicrosoftTeams.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupIntegrationMicrosoftTeams.go new file mode 100644 index 000000000..0ffb482de --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupIntegrationMicrosoftTeams.go @@ -0,0 +1,510 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `GroupIntegrationMicrosoftTeams` resource manages the lifecycle of a group integration with Microsoft Teams. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_integrations/#set-up-microsoft-teams-notifications) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleGroup, err := gitlab.NewGroup(ctx, "example_group", &gitlab.GroupArgs{ +// Name: pulumi.String("example_group"), +// Path: pulumi.String("example_group"), +// Description: pulumi.String("An example group"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewGroupIntegrationMicrosoftTeams(ctx, "teams", &gitlab.GroupIntegrationMicrosoftTeamsArgs{ +// Group: exampleGroup.ID(), +// Webhook: pulumi.String("https://outlook.office.com/webhook/..."), +// NotifyOnlyBrokenPipelines: pulumi.Bool(false), +// BranchesToBeNotified: pulumi.String("all"), +// PushEvents: pulumi.Bool(true), +// IssuesEvents: pulumi.Bool(true), +// ConfidentialIssuesEvents: pulumi.Bool(true), +// MergeRequestsEvents: pulumi.Bool(true), +// TagPushEvents: pulumi.Bool(false), +// NoteEvents: pulumi.Bool(false), +// ConfidentialNoteEvents: pulumi.Bool(false), +// PipelineEvents: pulumi.Bool(true), +// WikiPageEvents: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `GroupIntegrationMicrosoftTeams`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import a GroupIntegrationMicrosoftTeams state using the group ID, for example: +// +// ```sh +// $ pulumi import gitlab:index/groupIntegrationMicrosoftTeams:GroupIntegrationMicrosoftTeams teams 1 +// ``` +type GroupIntegrationMicrosoftTeams struct { + pulumi.CustomResourceState + + // Whether the integration is active. + Active pulumi.BoolOutput `pulumi:"active"` + // Branches to send notifications for. Valid options are: `all`, `default`, `protected`, `defaultAndProtected`. The default value is "default" + BranchesToBeNotified pulumi.StringPtrOutput `pulumi:"branchesToBeNotified"` + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents pulumi.BoolPtrOutput `pulumi:"confidentialIssuesEvents"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolPtrOutput `pulumi:"confidentialNoteEvents"` + // Timestamp when the integration was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // ID of the group you want to activate integration on. + Group pulumi.StringOutput `pulumi:"group"` + // Enable notifications for issues events. + IssuesEvents pulumi.BoolPtrOutput `pulumi:"issuesEvents"` + // Enable notifications for merge requests events. + MergeRequestsEvents pulumi.BoolPtrOutput `pulumi:"mergeRequestsEvents"` + // Enable notifications for note events. + NoteEvents pulumi.BoolPtrOutput `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolPtrOutput `pulumi:"notifyOnlyBrokenPipelines"` + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolPtrOutput `pulumi:"pipelineEvents"` + // Enable notifications for push events. + PushEvents pulumi.BoolPtrOutput `pulumi:"pushEvents"` + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrOutput `pulumi:"tagPushEvents"` + // Timestamp when the integration was last updated. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` + // Indicates whether to inherit the default settings. Defaults to "false". + UseInheritedSettings pulumi.BoolOutput `pulumi:"useInheritedSettings"` + // The Microsoft Teams webhook (for example, https://outlook.office.com/webhook/...). + Webhook pulumi.StringOutput `pulumi:"webhook"` + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolPtrOutput `pulumi:"wikiPageEvents"` +} + +// NewGroupIntegrationMicrosoftTeams registers a new resource with the given unique name, arguments, and options. +func NewGroupIntegrationMicrosoftTeams(ctx *pulumi.Context, + name string, args *GroupIntegrationMicrosoftTeamsArgs, opts ...pulumi.ResourceOption) (*GroupIntegrationMicrosoftTeams, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Group == nil { + return nil, errors.New("invalid value for required argument 'Group'") + } + if args.Webhook == nil { + return nil, errors.New("invalid value for required argument 'Webhook'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource GroupIntegrationMicrosoftTeams + err := ctx.RegisterResource("gitlab:index/groupIntegrationMicrosoftTeams:GroupIntegrationMicrosoftTeams", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetGroupIntegrationMicrosoftTeams gets an existing GroupIntegrationMicrosoftTeams resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetGroupIntegrationMicrosoftTeams(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *GroupIntegrationMicrosoftTeamsState, opts ...pulumi.ResourceOption) (*GroupIntegrationMicrosoftTeams, error) { + var resource GroupIntegrationMicrosoftTeams + err := ctx.ReadResource("gitlab:index/groupIntegrationMicrosoftTeams:GroupIntegrationMicrosoftTeams", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering GroupIntegrationMicrosoftTeams resources. +type groupIntegrationMicrosoftTeamsState struct { + // Whether the integration is active. + Active *bool `pulumi:"active"` + // Branches to send notifications for. Valid options are: `all`, `default`, `protected`, `defaultAndProtected`. The default value is "default" + BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` + // Timestamp when the integration was created. + CreatedAt *string `pulumi:"createdAt"` + // ID of the group you want to activate integration on. + Group *string `pulumi:"group"` + // Enable notifications for issues events. + IssuesEvents *bool `pulumi:"issuesEvents"` + // Enable notifications for merge requests events. + MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` + // Enable notifications for note events. + NoteEvents *bool `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` + // Enable notifications for pipeline events. + PipelineEvents *bool `pulumi:"pipelineEvents"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` + // Timestamp when the integration was last updated. + UpdatedAt *string `pulumi:"updatedAt"` + // Indicates whether to inherit the default settings. Defaults to "false". + UseInheritedSettings *bool `pulumi:"useInheritedSettings"` + // The Microsoft Teams webhook (for example, https://outlook.office.com/webhook/...). + Webhook *string `pulumi:"webhook"` + // Enable notifications for wiki page events. + WikiPageEvents *bool `pulumi:"wikiPageEvents"` +} + +type GroupIntegrationMicrosoftTeamsState struct { + // Whether the integration is active. + Active pulumi.BoolPtrInput + // Branches to send notifications for. Valid options are: `all`, `default`, `protected`, `defaultAndProtected`. The default value is "default" + BranchesToBeNotified pulumi.StringPtrInput + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents pulumi.BoolPtrInput + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolPtrInput + // Timestamp when the integration was created. + CreatedAt pulumi.StringPtrInput + // ID of the group you want to activate integration on. + Group pulumi.StringPtrInput + // Enable notifications for issues events. + IssuesEvents pulumi.BoolPtrInput + // Enable notifications for merge requests events. + MergeRequestsEvents pulumi.BoolPtrInput + // Enable notifications for note events. + NoteEvents pulumi.BoolPtrInput + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolPtrInput + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolPtrInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput + // Timestamp when the integration was last updated. + UpdatedAt pulumi.StringPtrInput + // Indicates whether to inherit the default settings. Defaults to "false". + UseInheritedSettings pulumi.BoolPtrInput + // The Microsoft Teams webhook (for example, https://outlook.office.com/webhook/...). + Webhook pulumi.StringPtrInput + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolPtrInput +} + +func (GroupIntegrationMicrosoftTeamsState) ElementType() reflect.Type { + return reflect.TypeOf((*groupIntegrationMicrosoftTeamsState)(nil)).Elem() +} + +type groupIntegrationMicrosoftTeamsArgs struct { + // Branches to send notifications for. Valid options are: `all`, `default`, `protected`, `defaultAndProtected`. The default value is "default" + BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` + // ID of the group you want to activate integration on. + Group string `pulumi:"group"` + // Enable notifications for issues events. + IssuesEvents *bool `pulumi:"issuesEvents"` + // Enable notifications for merge requests events. + MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` + // Enable notifications for note events. + NoteEvents *bool `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` + // Enable notifications for pipeline events. + PipelineEvents *bool `pulumi:"pipelineEvents"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` + // Indicates whether to inherit the default settings. Defaults to "false". + UseInheritedSettings *bool `pulumi:"useInheritedSettings"` + // The Microsoft Teams webhook (for example, https://outlook.office.com/webhook/...). + Webhook string `pulumi:"webhook"` + // Enable notifications for wiki page events. + WikiPageEvents *bool `pulumi:"wikiPageEvents"` +} + +// The set of arguments for constructing a GroupIntegrationMicrosoftTeams resource. +type GroupIntegrationMicrosoftTeamsArgs struct { + // Branches to send notifications for. Valid options are: `all`, `default`, `protected`, `defaultAndProtected`. The default value is "default" + BranchesToBeNotified pulumi.StringPtrInput + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents pulumi.BoolPtrInput + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolPtrInput + // ID of the group you want to activate integration on. + Group pulumi.StringInput + // Enable notifications for issues events. + IssuesEvents pulumi.BoolPtrInput + // Enable notifications for merge requests events. + MergeRequestsEvents pulumi.BoolPtrInput + // Enable notifications for note events. + NoteEvents pulumi.BoolPtrInput + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolPtrInput + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolPtrInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput + // Indicates whether to inherit the default settings. Defaults to "false". + UseInheritedSettings pulumi.BoolPtrInput + // The Microsoft Teams webhook (for example, https://outlook.office.com/webhook/...). + Webhook pulumi.StringInput + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolPtrInput +} + +func (GroupIntegrationMicrosoftTeamsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*groupIntegrationMicrosoftTeamsArgs)(nil)).Elem() +} + +type GroupIntegrationMicrosoftTeamsInput interface { + pulumi.Input + + ToGroupIntegrationMicrosoftTeamsOutput() GroupIntegrationMicrosoftTeamsOutput + ToGroupIntegrationMicrosoftTeamsOutputWithContext(ctx context.Context) GroupIntegrationMicrosoftTeamsOutput +} + +func (*GroupIntegrationMicrosoftTeams) ElementType() reflect.Type { + return reflect.TypeOf((**GroupIntegrationMicrosoftTeams)(nil)).Elem() +} + +func (i *GroupIntegrationMicrosoftTeams) ToGroupIntegrationMicrosoftTeamsOutput() GroupIntegrationMicrosoftTeamsOutput { + return i.ToGroupIntegrationMicrosoftTeamsOutputWithContext(context.Background()) +} + +func (i *GroupIntegrationMicrosoftTeams) ToGroupIntegrationMicrosoftTeamsOutputWithContext(ctx context.Context) GroupIntegrationMicrosoftTeamsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupIntegrationMicrosoftTeamsOutput) +} + +// GroupIntegrationMicrosoftTeamsArrayInput is an input type that accepts GroupIntegrationMicrosoftTeamsArray and GroupIntegrationMicrosoftTeamsArrayOutput values. +// You can construct a concrete instance of `GroupIntegrationMicrosoftTeamsArrayInput` via: +// +// GroupIntegrationMicrosoftTeamsArray{ GroupIntegrationMicrosoftTeamsArgs{...} } +type GroupIntegrationMicrosoftTeamsArrayInput interface { + pulumi.Input + + ToGroupIntegrationMicrosoftTeamsArrayOutput() GroupIntegrationMicrosoftTeamsArrayOutput + ToGroupIntegrationMicrosoftTeamsArrayOutputWithContext(context.Context) GroupIntegrationMicrosoftTeamsArrayOutput +} + +type GroupIntegrationMicrosoftTeamsArray []GroupIntegrationMicrosoftTeamsInput + +func (GroupIntegrationMicrosoftTeamsArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GroupIntegrationMicrosoftTeams)(nil)).Elem() +} + +func (i GroupIntegrationMicrosoftTeamsArray) ToGroupIntegrationMicrosoftTeamsArrayOutput() GroupIntegrationMicrosoftTeamsArrayOutput { + return i.ToGroupIntegrationMicrosoftTeamsArrayOutputWithContext(context.Background()) +} + +func (i GroupIntegrationMicrosoftTeamsArray) ToGroupIntegrationMicrosoftTeamsArrayOutputWithContext(ctx context.Context) GroupIntegrationMicrosoftTeamsArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupIntegrationMicrosoftTeamsArrayOutput) +} + +// GroupIntegrationMicrosoftTeamsMapInput is an input type that accepts GroupIntegrationMicrosoftTeamsMap and GroupIntegrationMicrosoftTeamsMapOutput values. +// You can construct a concrete instance of `GroupIntegrationMicrosoftTeamsMapInput` via: +// +// GroupIntegrationMicrosoftTeamsMap{ "key": GroupIntegrationMicrosoftTeamsArgs{...} } +type GroupIntegrationMicrosoftTeamsMapInput interface { + pulumi.Input + + ToGroupIntegrationMicrosoftTeamsMapOutput() GroupIntegrationMicrosoftTeamsMapOutput + ToGroupIntegrationMicrosoftTeamsMapOutputWithContext(context.Context) GroupIntegrationMicrosoftTeamsMapOutput +} + +type GroupIntegrationMicrosoftTeamsMap map[string]GroupIntegrationMicrosoftTeamsInput + +func (GroupIntegrationMicrosoftTeamsMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GroupIntegrationMicrosoftTeams)(nil)).Elem() +} + +func (i GroupIntegrationMicrosoftTeamsMap) ToGroupIntegrationMicrosoftTeamsMapOutput() GroupIntegrationMicrosoftTeamsMapOutput { + return i.ToGroupIntegrationMicrosoftTeamsMapOutputWithContext(context.Background()) +} + +func (i GroupIntegrationMicrosoftTeamsMap) ToGroupIntegrationMicrosoftTeamsMapOutputWithContext(ctx context.Context) GroupIntegrationMicrosoftTeamsMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupIntegrationMicrosoftTeamsMapOutput) +} + +type GroupIntegrationMicrosoftTeamsOutput struct{ *pulumi.OutputState } + +func (GroupIntegrationMicrosoftTeamsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GroupIntegrationMicrosoftTeams)(nil)).Elem() +} + +func (o GroupIntegrationMicrosoftTeamsOutput) ToGroupIntegrationMicrosoftTeamsOutput() GroupIntegrationMicrosoftTeamsOutput { + return o +} + +func (o GroupIntegrationMicrosoftTeamsOutput) ToGroupIntegrationMicrosoftTeamsOutputWithContext(ctx context.Context) GroupIntegrationMicrosoftTeamsOutput { + return o +} + +// Whether the integration is active. +func (o GroupIntegrationMicrosoftTeamsOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) +} + +// Branches to send notifications for. Valid options are: `all`, `default`, `protected`, `defaultAndProtected`. The default value is "default" +func (o GroupIntegrationMicrosoftTeamsOutput) BranchesToBeNotified() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.StringPtrOutput { return v.BranchesToBeNotified }).(pulumi.StringPtrOutput) +} + +// Enable notifications for confidential issues events. +func (o GroupIntegrationMicrosoftTeamsOutput) ConfidentialIssuesEvents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.ConfidentialIssuesEvents }).(pulumi.BoolPtrOutput) +} + +// Enable notifications for confidential note events. +func (o GroupIntegrationMicrosoftTeamsOutput) ConfidentialNoteEvents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.ConfidentialNoteEvents }).(pulumi.BoolPtrOutput) +} + +// Timestamp when the integration was created. +func (o GroupIntegrationMicrosoftTeamsOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// ID of the group you want to activate integration on. +func (o GroupIntegrationMicrosoftTeamsOutput) Group() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.StringOutput { return v.Group }).(pulumi.StringOutput) +} + +// Enable notifications for issues events. +func (o GroupIntegrationMicrosoftTeamsOutput) IssuesEvents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.IssuesEvents }).(pulumi.BoolPtrOutput) +} + +// Enable notifications for merge requests events. +func (o GroupIntegrationMicrosoftTeamsOutput) MergeRequestsEvents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.MergeRequestsEvents }).(pulumi.BoolPtrOutput) +} + +// Enable notifications for note events. +func (o GroupIntegrationMicrosoftTeamsOutput) NoteEvents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.NoteEvents }).(pulumi.BoolPtrOutput) +} + +// Send notifications for broken pipelines. +func (o GroupIntegrationMicrosoftTeamsOutput) NotifyOnlyBrokenPipelines() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.NotifyOnlyBrokenPipelines }).(pulumi.BoolPtrOutput) +} + +// Enable notifications for pipeline events. +func (o GroupIntegrationMicrosoftTeamsOutput) PipelineEvents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.PipelineEvents }).(pulumi.BoolPtrOutput) +} + +// Enable notifications for push events. +func (o GroupIntegrationMicrosoftTeamsOutput) PushEvents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.PushEvents }).(pulumi.BoolPtrOutput) +} + +// Enable notifications for tag push events. +func (o GroupIntegrationMicrosoftTeamsOutput) TagPushEvents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.TagPushEvents }).(pulumi.BoolPtrOutput) +} + +// Timestamp when the integration was last updated. +func (o GroupIntegrationMicrosoftTeamsOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +// Indicates whether to inherit the default settings. Defaults to "false". +func (o GroupIntegrationMicrosoftTeamsOutput) UseInheritedSettings() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.BoolOutput { return v.UseInheritedSettings }).(pulumi.BoolOutput) +} + +// The Microsoft Teams webhook (for example, https://outlook.office.com/webhook/...). +func (o GroupIntegrationMicrosoftTeamsOutput) Webhook() pulumi.StringOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.StringOutput { return v.Webhook }).(pulumi.StringOutput) +} + +// Enable notifications for wiki page events. +func (o GroupIntegrationMicrosoftTeamsOutput) WikiPageEvents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GroupIntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.WikiPageEvents }).(pulumi.BoolPtrOutput) +} + +type GroupIntegrationMicrosoftTeamsArrayOutput struct{ *pulumi.OutputState } + +func (GroupIntegrationMicrosoftTeamsArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GroupIntegrationMicrosoftTeams)(nil)).Elem() +} + +func (o GroupIntegrationMicrosoftTeamsArrayOutput) ToGroupIntegrationMicrosoftTeamsArrayOutput() GroupIntegrationMicrosoftTeamsArrayOutput { + return o +} + +func (o GroupIntegrationMicrosoftTeamsArrayOutput) ToGroupIntegrationMicrosoftTeamsArrayOutputWithContext(ctx context.Context) GroupIntegrationMicrosoftTeamsArrayOutput { + return o +} + +func (o GroupIntegrationMicrosoftTeamsArrayOutput) Index(i pulumi.IntInput) GroupIntegrationMicrosoftTeamsOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *GroupIntegrationMicrosoftTeams { + return vs[0].([]*GroupIntegrationMicrosoftTeams)[vs[1].(int)] + }).(GroupIntegrationMicrosoftTeamsOutput) +} + +type GroupIntegrationMicrosoftTeamsMapOutput struct{ *pulumi.OutputState } + +func (GroupIntegrationMicrosoftTeamsMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GroupIntegrationMicrosoftTeams)(nil)).Elem() +} + +func (o GroupIntegrationMicrosoftTeamsMapOutput) ToGroupIntegrationMicrosoftTeamsMapOutput() GroupIntegrationMicrosoftTeamsMapOutput { + return o +} + +func (o GroupIntegrationMicrosoftTeamsMapOutput) ToGroupIntegrationMicrosoftTeamsMapOutputWithContext(ctx context.Context) GroupIntegrationMicrosoftTeamsMapOutput { + return o +} + +func (o GroupIntegrationMicrosoftTeamsMapOutput) MapIndex(k pulumi.StringInput) GroupIntegrationMicrosoftTeamsOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *GroupIntegrationMicrosoftTeams { + return vs[0].(map[string]*GroupIntegrationMicrosoftTeams)[vs[1].(string)] + }).(GroupIntegrationMicrosoftTeamsOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GroupIntegrationMicrosoftTeamsInput)(nil)).Elem(), &GroupIntegrationMicrosoftTeams{}) + pulumi.RegisterInputType(reflect.TypeOf((*GroupIntegrationMicrosoftTeamsArrayInput)(nil)).Elem(), GroupIntegrationMicrosoftTeamsArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GroupIntegrationMicrosoftTeamsMapInput)(nil)).Elem(), GroupIntegrationMicrosoftTeamsMap{}) + pulumi.RegisterOutputType(GroupIntegrationMicrosoftTeamsOutput{}) + pulumi.RegisterOutputType(GroupIntegrationMicrosoftTeamsArrayOutput{}) + pulumi.RegisterOutputType(GroupIntegrationMicrosoftTeamsMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupIssueBoard.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupIssueBoard.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupIssueBoard.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupIssueBoard.go index 52d40fd76..fbd4d8c64 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupIssueBoard.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupIssueBoard.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,15 +8,27 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `GroupIssueBoard` resource allows to manage the lifecycle of a issue board in a group. +// The `GroupIssueBoard` resource manages the lifecycle of an issue board in a group. // // > Multiple issue boards on one group requires a GitLab Premium or above License. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_boards/) +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `GroupIssueBoard`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// Gitlab group issue boards can be imported with a key composed of `:`, for example: +// +// ```sh +// $ pulumi import gitlab:index/groupIssueBoard:GroupIssueBoard example "12345:1" +// ``` type GroupIssueBoard struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupLabel.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupLabel.go similarity index 80% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupLabel.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupLabel.go index a4531f9ce..d2f4a8580 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupLabel.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupLabel.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `GroupLabel` resource allows to manage the lifecycle of labels within a group. +// The `GroupLabel` resource manages the lifecycle of labels within a group. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_labels/) // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -47,21 +47,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_label`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `GroupLabel`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_group_label.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// Gitlab group labels can be imported using an id made up of `{group_id}:{group_label_id}`, e.g. +// Gitlab group labels can be imported using an id made up of `{group_id}:{group_label_id}`, for example: // // ```sh // $ pulumi import gitlab:index/groupLabel:GroupLabel example 12345:fixme @@ -69,8 +59,10 @@ import ( type GroupLabel struct { pulumi.CustomResourceState - // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). + // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). Color pulumi.StringOutput `pulumi:"color"` + // Read-only, used by the provider to store the API response color. This is always in the 6-digit hex notation with leading '#' sign (e.g. #FFAABB). If `color` contains a color name, this attribute contains the hex notation equivalent. Otherwise, the value of this attribute is the same as `color`. + ColorHex pulumi.StringOutput `pulumi:"colorHex"` // The description of the label. Description pulumi.StringOutput `pulumi:"description"` // The name or id of the group to add the label to. @@ -117,8 +109,10 @@ func GetGroupLabel(ctx *pulumi.Context, // Input properties used for looking up and filtering GroupLabel resources. type groupLabelState struct { - // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). + // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). Color *string `pulumi:"color"` + // Read-only, used by the provider to store the API response color. This is always in the 6-digit hex notation with leading '#' sign (e.g. #FFAABB). If `color` contains a color name, this attribute contains the hex notation equivalent. Otherwise, the value of this attribute is the same as `color`. + ColorHex *string `pulumi:"colorHex"` // The description of the label. Description *string `pulumi:"description"` // The name or id of the group to add the label to. @@ -130,8 +124,10 @@ type groupLabelState struct { } type GroupLabelState struct { - // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). + // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). Color pulumi.StringPtrInput + // Read-only, used by the provider to store the API response color. This is always in the 6-digit hex notation with leading '#' sign (e.g. #FFAABB). If `color` contains a color name, this attribute contains the hex notation equivalent. Otherwise, the value of this attribute is the same as `color`. + ColorHex pulumi.StringPtrInput // The description of the label. Description pulumi.StringPtrInput // The name or id of the group to add the label to. @@ -147,7 +143,7 @@ func (GroupLabelState) ElementType() reflect.Type { } type groupLabelArgs struct { - // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). + // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). Color string `pulumi:"color"` // The description of the label. Description *string `pulumi:"description"` @@ -159,7 +155,7 @@ type groupLabelArgs struct { // The set of arguments for constructing a GroupLabel resource. type GroupLabelArgs struct { - // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). + // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). Color pulumi.StringInput // The description of the label. Description pulumi.StringPtrInput @@ -256,11 +252,16 @@ func (o GroupLabelOutput) ToGroupLabelOutputWithContext(ctx context.Context) Gro return o } -// The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). +// The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). func (o GroupLabelOutput) Color() pulumi.StringOutput { return o.ApplyT(func(v *GroupLabel) pulumi.StringOutput { return v.Color }).(pulumi.StringOutput) } +// Read-only, used by the provider to store the API response color. This is always in the 6-digit hex notation with leading '#' sign (e.g. #FFAABB). If `color` contains a color name, this attribute contains the hex notation equivalent. Otherwise, the value of this attribute is the same as `color`. +func (o GroupLabelOutput) ColorHex() pulumi.StringOutput { + return o.ApplyT(func(v *GroupLabel) pulumi.StringOutput { return v.ColorHex }).(pulumi.StringOutput) +} + // The description of the label. func (o GroupLabelOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *GroupLabel) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupLdapLink.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupLdapLink.go similarity index 83% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupLdapLink.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupLdapLink.go index f08264c71..d5614a8eb 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupLdapLink.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupLdapLink.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,39 +8,58 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `GroupLdapLink` resource allows to manage the lifecycle of an LDAP integration with a group. +// The `GroupLdapLink` resource manages the lifecycle of an LDAP integration with a group. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/groups/#ldap-group-links) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_ldap_links/) // -// ## Import +// ## Example Usage +// +// ```go +// package main // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_ldap_link`. For example: +// import ( // -// terraform +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // -// import { +// ) // -// to = gitlab_group_ldap_link.example +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.NewGroupLdapLink(ctx, "test", &gitlab.GroupLdapLinkArgs{ +// Group: pulumi.String("12345"), +// Cn: pulumi.String("testuser"), +// GroupAccess: pulumi.String("developer"), +// LdapProvider: pulumi.String("ldapmain"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } // -// id = "see CLI command below for ID" +// ``` +// +// ## Import // -// } +// Starting in Terraform v1.5.0, you can use an import block to import `GroupLdapLink`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // // GitLab group ldap links can be imported using an id made up of `group_id:ldap_provider:cn:filter`. CN and Filter are mutually exclusive, so one will be missing. // -// If using the CN for the group link, the ID will end with a blank filter (":"). e.g., +// If using the CN for the group link, the ID will end with a blank filter (":"). for example: // // ```sh // $ pulumi import gitlab:index/groupLdapLink:GroupLdapLink test "12345:ldapmain:testcn:" // ``` // -// If using the Filter for the group link, the ID will have two "::" in the middle due to having a blank CN. e.g., +// If using the Filter for the group link, the ID will have two "::" in the middle due to having a blank CN. for example: // // ```sh // $ pulumi import gitlab:index/groupLdapLink:GroupLdapLink test "12345:ldapmain::testfilter" @@ -48,10 +67,6 @@ import ( type GroupLdapLink struct { pulumi.CustomResourceState - // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner` - // - // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. - AccessLevel pulumi.StringPtrOutput `pulumi:"accessLevel"` // The CN of the LDAP group to link with. Required if `filter` is not provided. Cn pulumi.StringOutput `pulumi:"cn"` // The LDAP filter for the group. Required if `cn` is not provided. Requires GitLab Premium or above. @@ -61,10 +76,10 @@ type GroupLdapLink struct { // The ID or URL-encoded path of the group Group pulumi.StringOutput `pulumi:"group"` // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner` - GroupAccess pulumi.StringPtrOutput `pulumi:"groupAccess"` + GroupAccess pulumi.StringOutput `pulumi:"groupAccess"` // The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/administration/raketasks/ldap/#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain` LdapProvider pulumi.StringOutput `pulumi:"ldapProvider"` - // The ID of a custom member role. Only available for Ultimate instances. When using a custom role, the `groupAccess` must match the base role used to create the custom role. + // The ID of a custom member role. Only available for Ultimate instances. When using a custom role, the `groupAccess` must match the base role used to create the custom role. To remove a custom role and revert to a base role, set this value to `0`. MemberRoleId pulumi.IntOutput `pulumi:"memberRoleId"` } @@ -78,6 +93,9 @@ func NewGroupLdapLink(ctx *pulumi.Context, if args.Group == nil { return nil, errors.New("invalid value for required argument 'Group'") } + if args.GroupAccess == nil { + return nil, errors.New("invalid value for required argument 'GroupAccess'") + } if args.LdapProvider == nil { return nil, errors.New("invalid value for required argument 'LdapProvider'") } @@ -104,10 +122,6 @@ func GetGroupLdapLink(ctx *pulumi.Context, // Input properties used for looking up and filtering GroupLdapLink resources. type groupLdapLinkState struct { - // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner` - // - // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. - AccessLevel *string `pulumi:"accessLevel"` // The CN of the LDAP group to link with. Required if `filter` is not provided. Cn *string `pulumi:"cn"` // The LDAP filter for the group. Required if `cn` is not provided. Requires GitLab Premium or above. @@ -120,15 +134,11 @@ type groupLdapLinkState struct { GroupAccess *string `pulumi:"groupAccess"` // The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/administration/raketasks/ldap/#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain` LdapProvider *string `pulumi:"ldapProvider"` - // The ID of a custom member role. Only available for Ultimate instances. When using a custom role, the `groupAccess` must match the base role used to create the custom role. + // The ID of a custom member role. Only available for Ultimate instances. When using a custom role, the `groupAccess` must match the base role used to create the custom role. To remove a custom role and revert to a base role, set this value to `0`. MemberRoleId *int `pulumi:"memberRoleId"` } type GroupLdapLinkState struct { - // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner` - // - // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. - AccessLevel pulumi.StringPtrInput // The CN of the LDAP group to link with. Required if `filter` is not provided. Cn pulumi.StringPtrInput // The LDAP filter for the group. Required if `cn` is not provided. Requires GitLab Premium or above. @@ -141,7 +151,7 @@ type GroupLdapLinkState struct { GroupAccess pulumi.StringPtrInput // The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/administration/raketasks/ldap/#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain` LdapProvider pulumi.StringPtrInput - // The ID of a custom member role. Only available for Ultimate instances. When using a custom role, the `groupAccess` must match the base role used to create the custom role. + // The ID of a custom member role. Only available for Ultimate instances. When using a custom role, the `groupAccess` must match the base role used to create the custom role. To remove a custom role and revert to a base role, set this value to `0`. MemberRoleId pulumi.IntPtrInput } @@ -150,10 +160,6 @@ func (GroupLdapLinkState) ElementType() reflect.Type { } type groupLdapLinkArgs struct { - // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner` - // - // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. - AccessLevel *string `pulumi:"accessLevel"` // The CN of the LDAP group to link with. Required if `filter` is not provided. Cn *string `pulumi:"cn"` // The LDAP filter for the group. Required if `cn` is not provided. Requires GitLab Premium or above. @@ -163,19 +169,15 @@ type groupLdapLinkArgs struct { // The ID or URL-encoded path of the group Group string `pulumi:"group"` // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner` - GroupAccess *string `pulumi:"groupAccess"` + GroupAccess string `pulumi:"groupAccess"` // The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/administration/raketasks/ldap/#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain` LdapProvider string `pulumi:"ldapProvider"` - // The ID of a custom member role. Only available for Ultimate instances. When using a custom role, the `groupAccess` must match the base role used to create the custom role. + // The ID of a custom member role. Only available for Ultimate instances. When using a custom role, the `groupAccess` must match the base role used to create the custom role. To remove a custom role and revert to a base role, set this value to `0`. MemberRoleId *int `pulumi:"memberRoleId"` } // The set of arguments for constructing a GroupLdapLink resource. type GroupLdapLinkArgs struct { - // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner` - // - // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. - AccessLevel pulumi.StringPtrInput // The CN of the LDAP group to link with. Required if `filter` is not provided. Cn pulumi.StringPtrInput // The LDAP filter for the group. Required if `cn` is not provided. Requires GitLab Premium or above. @@ -185,10 +187,10 @@ type GroupLdapLinkArgs struct { // The ID or URL-encoded path of the group Group pulumi.StringInput // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner` - GroupAccess pulumi.StringPtrInput + GroupAccess pulumi.StringInput // The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/administration/raketasks/ldap/#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain` LdapProvider pulumi.StringInput - // The ID of a custom member role. Only available for Ultimate instances. When using a custom role, the `groupAccess` must match the base role used to create the custom role. + // The ID of a custom member role. Only available for Ultimate instances. When using a custom role, the `groupAccess` must match the base role used to create the custom role. To remove a custom role and revert to a base role, set this value to `0`. MemberRoleId pulumi.IntPtrInput } @@ -279,13 +281,6 @@ func (o GroupLdapLinkOutput) ToGroupLdapLinkOutputWithContext(ctx context.Contex return o } -// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner` -// -// Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. -func (o GroupLdapLinkOutput) AccessLevel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GroupLdapLink) pulumi.StringPtrOutput { return v.AccessLevel }).(pulumi.StringPtrOutput) -} - // The CN of the LDAP group to link with. Required if `filter` is not provided. func (o GroupLdapLinkOutput) Cn() pulumi.StringOutput { return o.ApplyT(func(v *GroupLdapLink) pulumi.StringOutput { return v.Cn }).(pulumi.StringOutput) @@ -307,8 +302,8 @@ func (o GroupLdapLinkOutput) Group() pulumi.StringOutput { } // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner` -func (o GroupLdapLinkOutput) GroupAccess() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GroupLdapLink) pulumi.StringPtrOutput { return v.GroupAccess }).(pulumi.StringPtrOutput) +func (o GroupLdapLinkOutput) GroupAccess() pulumi.StringOutput { + return o.ApplyT(func(v *GroupLdapLink) pulumi.StringOutput { return v.GroupAccess }).(pulumi.StringOutput) } // The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/administration/raketasks/ldap/#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain` @@ -316,7 +311,7 @@ func (o GroupLdapLinkOutput) LdapProvider() pulumi.StringOutput { return o.ApplyT(func(v *GroupLdapLink) pulumi.StringOutput { return v.LdapProvider }).(pulumi.StringOutput) } -// The ID of a custom member role. Only available for Ultimate instances. When using a custom role, the `groupAccess` must match the base role used to create the custom role. +// The ID of a custom member role. Only available for Ultimate instances. When using a custom role, the `groupAccess` must match the base role used to create the custom role. To remove a custom role and revert to a base role, set this value to `0`. func (o GroupLdapLinkOutput) MemberRoleId() pulumi.IntOutput { return o.ApplyT(func(v *GroupLdapLink) pulumi.IntOutput { return v.MemberRoleId }).(pulumi.IntOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupLevelMrApprovals.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupLevelMrApprovals.go new file mode 100644 index 000000000..94f97c936 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupLevelMrApprovals.go @@ -0,0 +1,368 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `GroupLevelMrApprovals` resource manages the lifecycle of group merge request approval settings. More than one resource per group will conflict with each other. +// +// > This is an **experimental resource**. By nature it doesn't properly fit into how Terraform resources are meant to work. +// +// > If `keepSettingsOnDestroy` is set to false, destroying the resource will revert settings to the values that were present when the resource was first created. +// You will need to apply the resource with the new setting before destroying the resource. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/merge_request_approval_settings/#group-mr-approval-settings) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// foo, err := gitlab.NewGroup(ctx, "foo", &gitlab.GroupArgs{ +// Name: pulumi.String("test_group"), +// Path: pulumi.String("test_group"), +// Description: pulumi.String("An example group"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewGroupLevelMrApprovals(ctx, "foo", &gitlab.GroupLevelMrApprovalsArgs{ +// Group: foo.ID(), +// AllowAuthorApproval: pulumi.Bool(true), +// AllowCommitterApproval: pulumi.Bool(true), +// AllowOverridesToApproverListPerMergeRequest: pulumi.Bool(true), +// RetainApprovalsOnPush: pulumi.Bool(true), +// SelectiveCodeOwnerRemovals: false, +// RequireReauthenticationToApprove: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `GroupLevelMrApprovals`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// For example: +// +// ```sh +// $ pulumi import gitlab:index/groupLevelMrApprovals:GroupLevelMrApprovals foo 1234 +// ``` +type GroupLevelMrApprovals struct { + pulumi.CustomResourceState + + // Allow or prevent authors from self approving merge requests; `true` means authors can self approve. + AllowAuthorApproval pulumi.BoolOutput `pulumi:"allowAuthorApproval"` + // Allow or prevent committers from self approving merge requests. + AllowCommitterApproval pulumi.BoolOutput `pulumi:"allowCommitterApproval"` + // Allow or prevent overriding approvers per merge request. + AllowOverridesToApproverListPerMergeRequest pulumi.BoolOutput `pulumi:"allowOverridesToApproverListPerMergeRequest"` + // The ID or URL-encoded path of the group. + Group pulumi.StringOutput `pulumi:"group"` + // Set to true if the group merge request approval settings should not be reset to their pre-terraform defaults on destroy. You will need to apply the resource with the new setting before destroying the resource. + KeepSettingsOnDestroy pulumi.BoolOutput `pulumi:"keepSettingsOnDestroy"` + // Require approver to authenticate before adding the approval. + RequireReauthenticationToApprove pulumi.BoolOutput `pulumi:"requireReauthenticationToApprove"` + // Retain approval count on a new push. + RetainApprovalsOnPush pulumi.BoolOutput `pulumi:"retainApprovalsOnPush"` +} + +// NewGroupLevelMrApprovals registers a new resource with the given unique name, arguments, and options. +func NewGroupLevelMrApprovals(ctx *pulumi.Context, + name string, args *GroupLevelMrApprovalsArgs, opts ...pulumi.ResourceOption) (*GroupLevelMrApprovals, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Group == nil { + return nil, errors.New("invalid value for required argument 'Group'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource GroupLevelMrApprovals + err := ctx.RegisterResource("gitlab:index/groupLevelMrApprovals:GroupLevelMrApprovals", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetGroupLevelMrApprovals gets an existing GroupLevelMrApprovals resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetGroupLevelMrApprovals(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *GroupLevelMrApprovalsState, opts ...pulumi.ResourceOption) (*GroupLevelMrApprovals, error) { + var resource GroupLevelMrApprovals + err := ctx.ReadResource("gitlab:index/groupLevelMrApprovals:GroupLevelMrApprovals", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering GroupLevelMrApprovals resources. +type groupLevelMrApprovalsState struct { + // Allow or prevent authors from self approving merge requests; `true` means authors can self approve. + AllowAuthorApproval *bool `pulumi:"allowAuthorApproval"` + // Allow or prevent committers from self approving merge requests. + AllowCommitterApproval *bool `pulumi:"allowCommitterApproval"` + // Allow or prevent overriding approvers per merge request. + AllowOverridesToApproverListPerMergeRequest *bool `pulumi:"allowOverridesToApproverListPerMergeRequest"` + // The ID or URL-encoded path of the group. + Group *string `pulumi:"group"` + // Set to true if the group merge request approval settings should not be reset to their pre-terraform defaults on destroy. You will need to apply the resource with the new setting before destroying the resource. + KeepSettingsOnDestroy *bool `pulumi:"keepSettingsOnDestroy"` + // Require approver to authenticate before adding the approval. + RequireReauthenticationToApprove *bool `pulumi:"requireReauthenticationToApprove"` + // Retain approval count on a new push. + RetainApprovalsOnPush *bool `pulumi:"retainApprovalsOnPush"` +} + +type GroupLevelMrApprovalsState struct { + // Allow or prevent authors from self approving merge requests; `true` means authors can self approve. + AllowAuthorApproval pulumi.BoolPtrInput + // Allow or prevent committers from self approving merge requests. + AllowCommitterApproval pulumi.BoolPtrInput + // Allow or prevent overriding approvers per merge request. + AllowOverridesToApproverListPerMergeRequest pulumi.BoolPtrInput + // The ID or URL-encoded path of the group. + Group pulumi.StringPtrInput + // Set to true if the group merge request approval settings should not be reset to their pre-terraform defaults on destroy. You will need to apply the resource with the new setting before destroying the resource. + KeepSettingsOnDestroy pulumi.BoolPtrInput + // Require approver to authenticate before adding the approval. + RequireReauthenticationToApprove pulumi.BoolPtrInput + // Retain approval count on a new push. + RetainApprovalsOnPush pulumi.BoolPtrInput +} + +func (GroupLevelMrApprovalsState) ElementType() reflect.Type { + return reflect.TypeOf((*groupLevelMrApprovalsState)(nil)).Elem() +} + +type groupLevelMrApprovalsArgs struct { + // Allow or prevent authors from self approving merge requests; `true` means authors can self approve. + AllowAuthorApproval *bool `pulumi:"allowAuthorApproval"` + // Allow or prevent committers from self approving merge requests. + AllowCommitterApproval *bool `pulumi:"allowCommitterApproval"` + // Allow or prevent overriding approvers per merge request. + AllowOverridesToApproverListPerMergeRequest *bool `pulumi:"allowOverridesToApproverListPerMergeRequest"` + // The ID or URL-encoded path of the group. + Group string `pulumi:"group"` + // Set to true if the group merge request approval settings should not be reset to their pre-terraform defaults on destroy. You will need to apply the resource with the new setting before destroying the resource. + KeepSettingsOnDestroy *bool `pulumi:"keepSettingsOnDestroy"` + // Require approver to authenticate before adding the approval. + RequireReauthenticationToApprove *bool `pulumi:"requireReauthenticationToApprove"` + // Retain approval count on a new push. + RetainApprovalsOnPush *bool `pulumi:"retainApprovalsOnPush"` +} + +// The set of arguments for constructing a GroupLevelMrApprovals resource. +type GroupLevelMrApprovalsArgs struct { + // Allow or prevent authors from self approving merge requests; `true` means authors can self approve. + AllowAuthorApproval pulumi.BoolPtrInput + // Allow or prevent committers from self approving merge requests. + AllowCommitterApproval pulumi.BoolPtrInput + // Allow or prevent overriding approvers per merge request. + AllowOverridesToApproverListPerMergeRequest pulumi.BoolPtrInput + // The ID or URL-encoded path of the group. + Group pulumi.StringInput + // Set to true if the group merge request approval settings should not be reset to their pre-terraform defaults on destroy. You will need to apply the resource with the new setting before destroying the resource. + KeepSettingsOnDestroy pulumi.BoolPtrInput + // Require approver to authenticate before adding the approval. + RequireReauthenticationToApprove pulumi.BoolPtrInput + // Retain approval count on a new push. + RetainApprovalsOnPush pulumi.BoolPtrInput +} + +func (GroupLevelMrApprovalsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*groupLevelMrApprovalsArgs)(nil)).Elem() +} + +type GroupLevelMrApprovalsInput interface { + pulumi.Input + + ToGroupLevelMrApprovalsOutput() GroupLevelMrApprovalsOutput + ToGroupLevelMrApprovalsOutputWithContext(ctx context.Context) GroupLevelMrApprovalsOutput +} + +func (*GroupLevelMrApprovals) ElementType() reflect.Type { + return reflect.TypeOf((**GroupLevelMrApprovals)(nil)).Elem() +} + +func (i *GroupLevelMrApprovals) ToGroupLevelMrApprovalsOutput() GroupLevelMrApprovalsOutput { + return i.ToGroupLevelMrApprovalsOutputWithContext(context.Background()) +} + +func (i *GroupLevelMrApprovals) ToGroupLevelMrApprovalsOutputWithContext(ctx context.Context) GroupLevelMrApprovalsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupLevelMrApprovalsOutput) +} + +// GroupLevelMrApprovalsArrayInput is an input type that accepts GroupLevelMrApprovalsArray and GroupLevelMrApprovalsArrayOutput values. +// You can construct a concrete instance of `GroupLevelMrApprovalsArrayInput` via: +// +// GroupLevelMrApprovalsArray{ GroupLevelMrApprovalsArgs{...} } +type GroupLevelMrApprovalsArrayInput interface { + pulumi.Input + + ToGroupLevelMrApprovalsArrayOutput() GroupLevelMrApprovalsArrayOutput + ToGroupLevelMrApprovalsArrayOutputWithContext(context.Context) GroupLevelMrApprovalsArrayOutput +} + +type GroupLevelMrApprovalsArray []GroupLevelMrApprovalsInput + +func (GroupLevelMrApprovalsArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GroupLevelMrApprovals)(nil)).Elem() +} + +func (i GroupLevelMrApprovalsArray) ToGroupLevelMrApprovalsArrayOutput() GroupLevelMrApprovalsArrayOutput { + return i.ToGroupLevelMrApprovalsArrayOutputWithContext(context.Background()) +} + +func (i GroupLevelMrApprovalsArray) ToGroupLevelMrApprovalsArrayOutputWithContext(ctx context.Context) GroupLevelMrApprovalsArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupLevelMrApprovalsArrayOutput) +} + +// GroupLevelMrApprovalsMapInput is an input type that accepts GroupLevelMrApprovalsMap and GroupLevelMrApprovalsMapOutput values. +// You can construct a concrete instance of `GroupLevelMrApprovalsMapInput` via: +// +// GroupLevelMrApprovalsMap{ "key": GroupLevelMrApprovalsArgs{...} } +type GroupLevelMrApprovalsMapInput interface { + pulumi.Input + + ToGroupLevelMrApprovalsMapOutput() GroupLevelMrApprovalsMapOutput + ToGroupLevelMrApprovalsMapOutputWithContext(context.Context) GroupLevelMrApprovalsMapOutput +} + +type GroupLevelMrApprovalsMap map[string]GroupLevelMrApprovalsInput + +func (GroupLevelMrApprovalsMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GroupLevelMrApprovals)(nil)).Elem() +} + +func (i GroupLevelMrApprovalsMap) ToGroupLevelMrApprovalsMapOutput() GroupLevelMrApprovalsMapOutput { + return i.ToGroupLevelMrApprovalsMapOutputWithContext(context.Background()) +} + +func (i GroupLevelMrApprovalsMap) ToGroupLevelMrApprovalsMapOutputWithContext(ctx context.Context) GroupLevelMrApprovalsMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupLevelMrApprovalsMapOutput) +} + +type GroupLevelMrApprovalsOutput struct{ *pulumi.OutputState } + +func (GroupLevelMrApprovalsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GroupLevelMrApprovals)(nil)).Elem() +} + +func (o GroupLevelMrApprovalsOutput) ToGroupLevelMrApprovalsOutput() GroupLevelMrApprovalsOutput { + return o +} + +func (o GroupLevelMrApprovalsOutput) ToGroupLevelMrApprovalsOutputWithContext(ctx context.Context) GroupLevelMrApprovalsOutput { + return o +} + +// Allow or prevent authors from self approving merge requests; `true` means authors can self approve. +func (o GroupLevelMrApprovalsOutput) AllowAuthorApproval() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupLevelMrApprovals) pulumi.BoolOutput { return v.AllowAuthorApproval }).(pulumi.BoolOutput) +} + +// Allow or prevent committers from self approving merge requests. +func (o GroupLevelMrApprovalsOutput) AllowCommitterApproval() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupLevelMrApprovals) pulumi.BoolOutput { return v.AllowCommitterApproval }).(pulumi.BoolOutput) +} + +// Allow or prevent overriding approvers per merge request. +func (o GroupLevelMrApprovalsOutput) AllowOverridesToApproverListPerMergeRequest() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupLevelMrApprovals) pulumi.BoolOutput { return v.AllowOverridesToApproverListPerMergeRequest }).(pulumi.BoolOutput) +} + +// The ID or URL-encoded path of the group. +func (o GroupLevelMrApprovalsOutput) Group() pulumi.StringOutput { + return o.ApplyT(func(v *GroupLevelMrApprovals) pulumi.StringOutput { return v.Group }).(pulumi.StringOutput) +} + +// Set to true if the group merge request approval settings should not be reset to their pre-terraform defaults on destroy. You will need to apply the resource with the new setting before destroying the resource. +func (o GroupLevelMrApprovalsOutput) KeepSettingsOnDestroy() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupLevelMrApprovals) pulumi.BoolOutput { return v.KeepSettingsOnDestroy }).(pulumi.BoolOutput) +} + +// Require approver to authenticate before adding the approval. +func (o GroupLevelMrApprovalsOutput) RequireReauthenticationToApprove() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupLevelMrApprovals) pulumi.BoolOutput { return v.RequireReauthenticationToApprove }).(pulumi.BoolOutput) +} + +// Retain approval count on a new push. +func (o GroupLevelMrApprovalsOutput) RetainApprovalsOnPush() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupLevelMrApprovals) pulumi.BoolOutput { return v.RetainApprovalsOnPush }).(pulumi.BoolOutput) +} + +type GroupLevelMrApprovalsArrayOutput struct{ *pulumi.OutputState } + +func (GroupLevelMrApprovalsArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GroupLevelMrApprovals)(nil)).Elem() +} + +func (o GroupLevelMrApprovalsArrayOutput) ToGroupLevelMrApprovalsArrayOutput() GroupLevelMrApprovalsArrayOutput { + return o +} + +func (o GroupLevelMrApprovalsArrayOutput) ToGroupLevelMrApprovalsArrayOutputWithContext(ctx context.Context) GroupLevelMrApprovalsArrayOutput { + return o +} + +func (o GroupLevelMrApprovalsArrayOutput) Index(i pulumi.IntInput) GroupLevelMrApprovalsOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *GroupLevelMrApprovals { + return vs[0].([]*GroupLevelMrApprovals)[vs[1].(int)] + }).(GroupLevelMrApprovalsOutput) +} + +type GroupLevelMrApprovalsMapOutput struct{ *pulumi.OutputState } + +func (GroupLevelMrApprovalsMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GroupLevelMrApprovals)(nil)).Elem() +} + +func (o GroupLevelMrApprovalsMapOutput) ToGroupLevelMrApprovalsMapOutput() GroupLevelMrApprovalsMapOutput { + return o +} + +func (o GroupLevelMrApprovalsMapOutput) ToGroupLevelMrApprovalsMapOutputWithContext(ctx context.Context) GroupLevelMrApprovalsMapOutput { + return o +} + +func (o GroupLevelMrApprovalsMapOutput) MapIndex(k pulumi.StringInput) GroupLevelMrApprovalsOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *GroupLevelMrApprovals { + return vs[0].(map[string]*GroupLevelMrApprovals)[vs[1].(string)] + }).(GroupLevelMrApprovalsOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GroupLevelMrApprovalsInput)(nil)).Elem(), &GroupLevelMrApprovals{}) + pulumi.RegisterInputType(reflect.TypeOf((*GroupLevelMrApprovalsArrayInput)(nil)).Elem(), GroupLevelMrApprovalsArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GroupLevelMrApprovalsMapInput)(nil)).Elem(), GroupLevelMrApprovalsMap{}) + pulumi.RegisterOutputType(GroupLevelMrApprovalsOutput{}) + pulumi.RegisterOutputType(GroupLevelMrApprovalsArrayOutput{}) + pulumi.RegisterOutputType(GroupLevelMrApprovalsMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupMembership.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupMembership.go similarity index 87% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupMembership.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupMembership.go index ecf8565a3..42657fc0e 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupMembership.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupMembership.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,15 +8,15 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `GroupMembership` resource allows to manage the lifecycle of a users group membership. +// The `GroupMembership` resource manages the lifecycle of a users group membership. // // > If a group should grant membership to another group use the `GroupShareGroup` resource instead. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/members/) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_members/) // // ## Example Usage // @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -49,21 +49,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_membership`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `GroupMembership`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_group_membership.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab group membership can be imported using an id made up of `group_id:user_id`, e.g. +// GitLab group membership can be imported using an id made up of `group_id:user_id`, for example: // // ```sh // $ pulumi import gitlab:index/groupMembership:GroupMembership test "12345:1337" @@ -77,8 +67,8 @@ type GroupMembership struct { ExpiresAt pulumi.StringOutput `pulumi:"expiresAt"` // The ID of the group. GroupId pulumi.IntOutput `pulumi:"groupId"` - // The ID of a custom member role. Only available for Ultimate instances. - MemberRoleId pulumi.IntOutput `pulumi:"memberRoleId"` + // The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances. + MemberRoleId pulumi.IntPtrOutput `pulumi:"memberRoleId"` // Whether the deletion of direct memberships of the removed member in subgroups and projects should be skipped. Only used during a destroy. SkipSubresourcesOnDestroy pulumi.BoolOutput `pulumi:"skipSubresourcesOnDestroy"` // Whether the removed member should be unassigned from any issues or merge requests inside a given group or project. Only used during a destroy. @@ -132,7 +122,7 @@ type groupMembershipState struct { ExpiresAt *string `pulumi:"expiresAt"` // The ID of the group. GroupId *int `pulumi:"groupId"` - // The ID of a custom member role. Only available for Ultimate instances. + // The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances. MemberRoleId *int `pulumi:"memberRoleId"` // Whether the deletion of direct memberships of the removed member in subgroups and projects should be skipped. Only used during a destroy. SkipSubresourcesOnDestroy *bool `pulumi:"skipSubresourcesOnDestroy"` @@ -149,7 +139,7 @@ type GroupMembershipState struct { ExpiresAt pulumi.StringPtrInput // The ID of the group. GroupId pulumi.IntPtrInput - // The ID of a custom member role. Only available for Ultimate instances. + // The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances. MemberRoleId pulumi.IntPtrInput // Whether the deletion of direct memberships of the removed member in subgroups and projects should be skipped. Only used during a destroy. SkipSubresourcesOnDestroy pulumi.BoolPtrInput @@ -170,7 +160,7 @@ type groupMembershipArgs struct { ExpiresAt *string `pulumi:"expiresAt"` // The ID of the group. GroupId int `pulumi:"groupId"` - // The ID of a custom member role. Only available for Ultimate instances. + // The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances. MemberRoleId *int `pulumi:"memberRoleId"` // Whether the deletion of direct memberships of the removed member in subgroups and projects should be skipped. Only used during a destroy. SkipSubresourcesOnDestroy *bool `pulumi:"skipSubresourcesOnDestroy"` @@ -188,7 +178,7 @@ type GroupMembershipArgs struct { ExpiresAt pulumi.StringPtrInput // The ID of the group. GroupId pulumi.IntInput - // The ID of a custom member role. Only available for Ultimate instances. + // The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances. MemberRoleId pulumi.IntPtrInput // Whether the deletion of direct memberships of the removed member in subgroups and projects should be skipped. Only used during a destroy. SkipSubresourcesOnDestroy pulumi.BoolPtrInput @@ -300,9 +290,9 @@ func (o GroupMembershipOutput) GroupId() pulumi.IntOutput { return o.ApplyT(func(v *GroupMembership) pulumi.IntOutput { return v.GroupId }).(pulumi.IntOutput) } -// The ID of a custom member role. Only available for Ultimate instances. -func (o GroupMembershipOutput) MemberRoleId() pulumi.IntOutput { - return o.ApplyT(func(v *GroupMembership) pulumi.IntOutput { return v.MemberRoleId }).(pulumi.IntOutput) +// The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances. +func (o GroupMembershipOutput) MemberRoleId() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GroupMembership) pulumi.IntPtrOutput { return v.MemberRoleId }).(pulumi.IntPtrOutput) } // Whether the deletion of direct memberships of the removed member in subgroups and projects should be skipped. Only used during a destroy. diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupProjectFileTemplate.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupProjectFileTemplate.go similarity index 98% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupProjectFileTemplate.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupProjectFileTemplate.go index 620b97aa0..2b7634a1a 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupProjectFileTemplate.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupProjectFileTemplate.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // > This resource requires a GitLab Enterprise instance with a Premium license. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/groups/#update-group) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/groups/#update-group-attributes) // // ## Example Usage // @@ -29,7 +29,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupProtectedEnvironment.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupProtectedEnvironment.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupProtectedEnvironment.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupProtectedEnvironment.go index a016694c5..80cf28722 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupProtectedEnvironment.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupProtectedEnvironment.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `GroupProtectedEnvironment` resource allows to manage the lifecycle of a protected environment in a group. +// The `GroupProtectedEnvironment` resource manages the lifecycle of a protected environment in a group. // // > In order to use a userId in the `deployAccessLevels` configuration, // @@ -24,21 +24,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_protected_environment`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `GroupProtectedEnvironment`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_group_protected_environment.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab group protected environments can be imported using an id made up of `groupId:environmentName`, e.g. +// GitLab group protected environments can be imported using an id made up of `groupId:environmentName`, for example: // // ```sh // $ pulumi import gitlab:index/groupProtectedEnvironment:GroupProtectedEnvironment bar 123:production diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupSamlLink.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupSamlLink.go similarity index 92% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupSamlLink.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupSamlLink.go index a9156c63c..018cdf6a0 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupSamlLink.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupSamlLink.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `GroupSamlLink` resource allows to manage the lifecycle of an SAML integration with a group. +// The `GroupSamlLink` resource manages the lifecycle of an SAML integration with a group. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/groups/#saml-group-links) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/saml/#saml-group-links) // // ## Example Usage // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -59,21 +59,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_saml_link`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `GroupSamlLink`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_group_saml_link.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab group saml links can be imported using an id made up of `group_id:saml_group_name`, e.g. +// GitLab group saml links can be imported using an id made up of `group_id:saml_group_name`, for example: // // ```sh // $ pulumi import gitlab:index/groupSamlLink:GroupSamlLink test "12345:samlgroupname1" @@ -81,7 +71,7 @@ import ( type GroupSamlLink struct { pulumi.CustomResourceState - // Access level for members of the SAML group. Valid values are: `guest`, `reporter`, `developer`, `maintainer`, `owner`. + // Access level for members of the SAML group. Valid values are: `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner`. AccessLevel pulumi.StringOutput `pulumi:"accessLevel"` // The ID or path of the group to add the SAML Group Link to. Group pulumi.StringOutput `pulumi:"group"` @@ -130,7 +120,7 @@ func GetGroupSamlLink(ctx *pulumi.Context, // Input properties used for looking up and filtering GroupSamlLink resources. type groupSamlLinkState struct { - // Access level for members of the SAML group. Valid values are: `guest`, `reporter`, `developer`, `maintainer`, `owner`. + // Access level for members of the SAML group. Valid values are: `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner`. AccessLevel *string `pulumi:"accessLevel"` // The ID or path of the group to add the SAML Group Link to. Group *string `pulumi:"group"` @@ -141,7 +131,7 @@ type groupSamlLinkState struct { } type GroupSamlLinkState struct { - // Access level for members of the SAML group. Valid values are: `guest`, `reporter`, `developer`, `maintainer`, `owner`. + // Access level for members of the SAML group. Valid values are: `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner`. AccessLevel pulumi.StringPtrInput // The ID or path of the group to add the SAML Group Link to. Group pulumi.StringPtrInput @@ -156,7 +146,7 @@ func (GroupSamlLinkState) ElementType() reflect.Type { } type groupSamlLinkArgs struct { - // Access level for members of the SAML group. Valid values are: `guest`, `reporter`, `developer`, `maintainer`, `owner`. + // Access level for members of the SAML group. Valid values are: `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner`. AccessLevel string `pulumi:"accessLevel"` // The ID or path of the group to add the SAML Group Link to. Group string `pulumi:"group"` @@ -168,7 +158,7 @@ type groupSamlLinkArgs struct { // The set of arguments for constructing a GroupSamlLink resource. type GroupSamlLinkArgs struct { - // Access level for members of the SAML group. Valid values are: `guest`, `reporter`, `developer`, `maintainer`, `owner`. + // Access level for members of the SAML group. Valid values are: `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner`. AccessLevel pulumi.StringInput // The ID or path of the group to add the SAML Group Link to. Group pulumi.StringInput @@ -265,7 +255,7 @@ func (o GroupSamlLinkOutput) ToGroupSamlLinkOutputWithContext(ctx context.Contex return o } -// Access level for members of the SAML group. Valid values are: `guest`, `reporter`, `developer`, `maintainer`, `owner`. +// Access level for members of the SAML group. Valid values are: `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner`. func (o GroupSamlLinkOutput) AccessLevel() pulumi.StringOutput { return o.ApplyT(func(v *GroupSamlLink) pulumi.StringOutput { return v.AccessLevel }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupSecurityPolicyAttachment.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupSecurityPolicyAttachment.go similarity index 92% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupSecurityPolicyAttachment.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupSecurityPolicyAttachment.go index 09748e142..2a5026ff1 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupSecurityPolicyAttachment.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupSecurityPolicyAttachment.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,10 +8,17 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// The `GroupSecurityPolicyAttachment` resource allows to attach a security policy project to a group. +// This resource requires being an owner on the group that is having the security policy applied. +// +// > [Policies](https://docs.gitlab.com/user/application_security/policies/) are files stored in a policy project as raw YAML, to allow maximum flexibility with support of all kind of policy and all their options. See the examples for how to create a policy project, add a policy, and link it. Use the `RepositoryFile` resource to create policies instead of a specific policy resource. This ensures all policy options are immediately via Terraform once released. +// +// **Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/api/graphql/reference/index/#mutationsecuritypolicyprojectassign) +// // ## Example Usage // // ```go @@ -19,7 +26,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -103,21 +110,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_security_policy_attachment`. For example: -// -// terraform -// -// import { -// -// to = gitlab_group_security_policy_attachment.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `GroupSecurityPolicyAttachment`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// GitLab group security policy attachments can be imported using an id made up of `group:policy_project_id` where the policy project ID is the project ID of the policy project, e.g. +// GitLab group security policy attachments can be imported using an id made up of `group:policy_project_id` where the policy project ID is the project ID of the policy project, for example: // // ```sh // $ pulumi import gitlab:index/groupSecurityPolicyAttachment:GroupSecurityPolicyAttachment foo 1:2 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupServiceAccount.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupServiceAccount.go similarity index 81% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupServiceAccount.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupServiceAccount.go index ef33dcf3a..f10c364c8 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupServiceAccount.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupServiceAccount.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) // The `GroupServiceAccount` resource allows creating a GitLab group service account. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_service_accounts/) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/service_accounts/#group-service-accounts) // // ## Example Usage // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -75,23 +75,9 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_service_account`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `GroupServiceAccount`. For example: // -// terraform -// -// import { -// -// to = gitlab_group_service_account.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// ```sh -// $ pulumi import gitlab:index/groupServiceAccount:GroupServiceAccount You can import a group service account using ` `. The -// ``` +// Importing using the CLI is supported with the following syntax: // // `id` is in the form of : // @@ -101,12 +87,15 @@ import ( type GroupServiceAccount struct { pulumi.CustomResourceState + // User account email. If not specified, generates an email prepended with `service_account_group_`. Custom email addresses require confirmation before the account is active, unless the group has a matching verified domain. + Email pulumi.StringOutput `pulumi:"email"` // The ID or URL-encoded path of the group that the service account is created in. Must be a top level group. Group pulumi.StringOutput `pulumi:"group"` // The name of the user. If not specified, the default Service account user name is used. Name pulumi.StringOutput `pulumi:"name"` // The service account id. - ServiceAccountId pulumi.StringOutput `pulumi:"serviceAccountId"` + ServiceAccountId pulumi.StringOutput `pulumi:"serviceAccountId"` + Timeouts GroupServiceAccountTimeoutsPtrOutput `pulumi:"timeouts"` // The username of the user. If not specified, it’s automatically generated. Username pulumi.StringPtrOutput `pulumi:"username"` } @@ -144,23 +133,29 @@ func GetGroupServiceAccount(ctx *pulumi.Context, // Input properties used for looking up and filtering GroupServiceAccount resources. type groupServiceAccountState struct { + // User account email. If not specified, generates an email prepended with `service_account_group_`. Custom email addresses require confirmation before the account is active, unless the group has a matching verified domain. + Email *string `pulumi:"email"` // The ID or URL-encoded path of the group that the service account is created in. Must be a top level group. Group *string `pulumi:"group"` // The name of the user. If not specified, the default Service account user name is used. Name *string `pulumi:"name"` // The service account id. - ServiceAccountId *string `pulumi:"serviceAccountId"` + ServiceAccountId *string `pulumi:"serviceAccountId"` + Timeouts *GroupServiceAccountTimeouts `pulumi:"timeouts"` // The username of the user. If not specified, it’s automatically generated. Username *string `pulumi:"username"` } type GroupServiceAccountState struct { + // User account email. If not specified, generates an email prepended with `service_account_group_`. Custom email addresses require confirmation before the account is active, unless the group has a matching verified domain. + Email pulumi.StringPtrInput // The ID or URL-encoded path of the group that the service account is created in. Must be a top level group. Group pulumi.StringPtrInput // The name of the user. If not specified, the default Service account user name is used. Name pulumi.StringPtrInput // The service account id. ServiceAccountId pulumi.StringPtrInput + Timeouts GroupServiceAccountTimeoutsPtrInput // The username of the user. If not specified, it’s automatically generated. Username pulumi.StringPtrInput } @@ -170,20 +165,26 @@ func (GroupServiceAccountState) ElementType() reflect.Type { } type groupServiceAccountArgs struct { + // User account email. If not specified, generates an email prepended with `service_account_group_`. Custom email addresses require confirmation before the account is active, unless the group has a matching verified domain. + Email *string `pulumi:"email"` // The ID or URL-encoded path of the group that the service account is created in. Must be a top level group. Group string `pulumi:"group"` // The name of the user. If not specified, the default Service account user name is used. - Name *string `pulumi:"name"` + Name *string `pulumi:"name"` + Timeouts *GroupServiceAccountTimeouts `pulumi:"timeouts"` // The username of the user. If not specified, it’s automatically generated. Username *string `pulumi:"username"` } // The set of arguments for constructing a GroupServiceAccount resource. type GroupServiceAccountArgs struct { + // User account email. If not specified, generates an email prepended with `service_account_group_`. Custom email addresses require confirmation before the account is active, unless the group has a matching verified domain. + Email pulumi.StringPtrInput // The ID or URL-encoded path of the group that the service account is created in. Must be a top level group. Group pulumi.StringInput // The name of the user. If not specified, the default Service account user name is used. - Name pulumi.StringPtrInput + Name pulumi.StringPtrInput + Timeouts GroupServiceAccountTimeoutsPtrInput // The username of the user. If not specified, it’s automatically generated. Username pulumi.StringPtrInput } @@ -275,6 +276,11 @@ func (o GroupServiceAccountOutput) ToGroupServiceAccountOutputWithContext(ctx co return o } +// User account email. If not specified, generates an email prepended with `service_account_group_`. Custom email addresses require confirmation before the account is active, unless the group has a matching verified domain. +func (o GroupServiceAccountOutput) Email() pulumi.StringOutput { + return o.ApplyT(func(v *GroupServiceAccount) pulumi.StringOutput { return v.Email }).(pulumi.StringOutput) +} + // The ID or URL-encoded path of the group that the service account is created in. Must be a top level group. func (o GroupServiceAccountOutput) Group() pulumi.StringOutput { return o.ApplyT(func(v *GroupServiceAccount) pulumi.StringOutput { return v.Group }).(pulumi.StringOutput) @@ -290,6 +296,10 @@ func (o GroupServiceAccountOutput) ServiceAccountId() pulumi.StringOutput { return o.ApplyT(func(v *GroupServiceAccount) pulumi.StringOutput { return v.ServiceAccountId }).(pulumi.StringOutput) } +func (o GroupServiceAccountOutput) Timeouts() GroupServiceAccountTimeoutsPtrOutput { + return o.ApplyT(func(v *GroupServiceAccount) GroupServiceAccountTimeoutsPtrOutput { return v.Timeouts }).(GroupServiceAccountTimeoutsPtrOutput) +} + // The username of the user. If not specified, it’s automatically generated. func (o GroupServiceAccountOutput) Username() pulumi.StringPtrOutput { return o.ApplyT(func(v *GroupServiceAccount) pulumi.StringPtrOutput { return v.Username }).(pulumi.StringPtrOutput) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupServiceAccountAccessToken.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupServiceAccountAccessToken.go similarity index 72% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupServiceAccountAccessToken.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupServiceAccountAccessToken.go index 77ae24a1c..5c5587ee1 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupServiceAccountAccessToken.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupServiceAccountAccessToken.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `GroupServiceAccountAccessToken` resource allows to manage the lifecycle of a group service account access token. +// The `GroupServiceAccountAccessToken` resource manages the lifecycle of a group service account access token. // // > Use of the `timestamp()` function with expiresAt will cause the resource to be re-created with every apply, it's recommended to use `plantimestamp()` or a static value instead. // @@ -22,30 +22,104 @@ import ( // // > Due to a limitation in the API, the `rotationConfiguration` is unable to set the new expiry date before GitLab 17.9. Instead, when the resource is created, it will default the expiry date to 7 days in the future. On each subsequent apply, the new expiry will be 7 days from the date of the apply. // -// **Upstream API**: [GitLab API docs](https://docs.gitlab.com/api/group_service_accounts/#create-a-personal-access-token-for-a-service-account-user) +// **Upstream API**: [GitLab API docs](https://docs.gitlab.com/api/service_accounts/#create-a-personal-access-token-for-a-group-service-account) // -// ## Import +// ## Example Usage // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_service_account_access_token`. For example: +// ```go +// package main // -// terraform +// import ( // -// import { +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // -// to = gitlab_group_service_account_access_token.example +// ) // -// id = "see CLI command below for ID" +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// // This must be a top-level group +// example, err := gitlab.NewGroup(ctx, "example", &gitlab.GroupArgs{ +// Name: pulumi.String("example"), +// Path: pulumi.String("example"), +// Description: pulumi.String("An example group"), +// }) +// if err != nil { +// return err +// } +// // The service account against the top-level group +// exampleSa, err := gitlab.NewGroupServiceAccount(ctx, "example_sa", &gitlab.GroupServiceAccountArgs{ +// Group: example.ID(), +// Name: pulumi.String("example-name"), +// Username: pulumi.String("example-username"), +// }) +// if err != nil { +// return err +// } +// // To assign the service account to a group +// _, err = gitlab.NewGroupMembership(ctx, "example_membership", &gitlab.GroupMembershipArgs{ +// GroupId: example.ID(), +// UserId: exampleSa.ServiceAccountId, +// AccessLevel: pulumi.String("developer"), +// ExpiresAt: pulumi.String("2020-03-14"), +// }) +// if err != nil { +// return err +// } +// // The service account access token with no expiry +// _, err = gitlab.NewGroupServiceAccountAccessToken(ctx, "example_sa_token_no_expiry", &gitlab.GroupServiceAccountAccessTokenArgs{ +// Group: example.ID(), +// UserId: exampleSa.ServiceAccountId, +// Name: pulumi.String("Example service account access token"), +// Scopes: pulumi.StringArray{ +// pulumi.String("api"), +// }, +// }) +// if err != nil { +// return err +// } +// // The service account access token with expires at +// _, err = gitlab.NewGroupServiceAccountAccessToken(ctx, "example_sa_token_expires_at", &gitlab.GroupServiceAccountAccessTokenArgs{ +// Group: example.ID(), +// UserId: exampleSa.ServiceAccountId, +// Name: pulumi.String("Example service account access token"), +// ExpiresAt: pulumi.String("2020-03-14"), +// Scopes: pulumi.StringArray{ +// pulumi.String("api"), +// }, +// }) +// if err != nil { +// return err +// } +// // The service account access token with rotation configuration +// _, err = gitlab.NewGroupServiceAccountAccessToken(ctx, "example_sa_token_rotation_configuration", &gitlab.GroupServiceAccountAccessTokenArgs{ +// Group: example.ID(), +// UserId: exampleSa.ServiceAccountId, +// Name: pulumi.String("Example service account access token"), +// RotationConfiguration: &gitlab.GroupServiceAccountAccessTokenRotationConfigurationArgs{ +// RotateBeforeDays: pulumi.Int(2), +// ExpirationDays: pulumi.Int(7), +// }, +// Scopes: pulumi.StringArray{ +// pulumi.String("api"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } // -// } +// ``` // -// Import using the CLI is supported using the following syntax: +// ## Import // -// ```sh -// $ pulumi import gitlab:index/groupServiceAccountAccessToken:GroupServiceAccountAccessToken You can import a service account access token using ` `. The -// ``` +// Starting in Terraform v1.5.0, you can use an import block to import `GroupServiceAccountAccessToken`. For example: // -// `id` is in the form of :: +// Importing using the CLI is supported with the following syntax: // +// `id` is in the form of :: // Importing an access token does not import the access token value. // // ```sh @@ -68,12 +142,14 @@ type GroupServiceAccountAccessToken struct { Revoked pulumi.BoolOutput `pulumi:"revoked"` // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration GroupServiceAccountAccessTokenRotationConfigurationPtrOutput `pulumi:"rotationConfiguration"` - // The scopes of the group service account access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` + // The scopes of the group service account access token. Valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing`. If `selfRotate` is included, you must also provide either `expiresAt` or `rotationConfiguration`. Scopes pulumi.StringArrayOutput `pulumi:"scopes"` // The token of the group service account access token. **Note**: the token is not available for imported resources. Token pulumi.StringOutput `pulumi:"token"` // The ID of a service account user. UserId pulumi.IntOutput `pulumi:"userId"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolOutput `pulumi:"validatePastExpirationDate"` } // NewGroupServiceAccountAccessToken registers a new resource with the given unique name, arguments, and options. @@ -133,12 +209,14 @@ type groupServiceAccountAccessTokenState struct { Revoked *bool `pulumi:"revoked"` // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration *GroupServiceAccountAccessTokenRotationConfiguration `pulumi:"rotationConfiguration"` - // The scopes of the group service account access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` + // The scopes of the group service account access token. Valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing`. If `selfRotate` is included, you must also provide either `expiresAt` or `rotationConfiguration`. Scopes []string `pulumi:"scopes"` // The token of the group service account access token. **Note**: the token is not available for imported resources. Token *string `pulumi:"token"` // The ID of a service account user. UserId *int `pulumi:"userId"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate *bool `pulumi:"validatePastExpirationDate"` } type GroupServiceAccountAccessTokenState struct { @@ -156,12 +234,14 @@ type GroupServiceAccountAccessTokenState struct { Revoked pulumi.BoolPtrInput // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration GroupServiceAccountAccessTokenRotationConfigurationPtrInput - // The scopes of the group service account access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` + // The scopes of the group service account access token. Valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing`. If `selfRotate` is included, you must also provide either `expiresAt` or `rotationConfiguration`. Scopes pulumi.StringArrayInput // The token of the group service account access token. **Note**: the token is not available for imported resources. Token pulumi.StringPtrInput // The ID of a service account user. UserId pulumi.IntPtrInput + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolPtrInput } func (GroupServiceAccountAccessTokenState) ElementType() reflect.Type { @@ -177,10 +257,12 @@ type groupServiceAccountAccessTokenArgs struct { Name *string `pulumi:"name"` // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration *GroupServiceAccountAccessTokenRotationConfiguration `pulumi:"rotationConfiguration"` - // The scopes of the group service account access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` + // The scopes of the group service account access token. Valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing`. If `selfRotate` is included, you must also provide either `expiresAt` or `rotationConfiguration`. Scopes []string `pulumi:"scopes"` // The ID of a service account user. UserId int `pulumi:"userId"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate *bool `pulumi:"validatePastExpirationDate"` } // The set of arguments for constructing a GroupServiceAccountAccessToken resource. @@ -193,10 +275,12 @@ type GroupServiceAccountAccessTokenArgs struct { Name pulumi.StringPtrInput // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration GroupServiceAccountAccessTokenRotationConfigurationPtrInput - // The scopes of the group service account access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` + // The scopes of the group service account access token. Valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing`. If `selfRotate` is included, you must also provide either `expiresAt` or `rotationConfiguration`. Scopes pulumi.StringArrayInput // The ID of a service account user. UserId pulumi.IntInput + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolPtrInput } func (GroupServiceAccountAccessTokenArgs) ElementType() reflect.Type { @@ -323,7 +407,7 @@ func (o GroupServiceAccountAccessTokenOutput) RotationConfiguration() GroupServi }).(GroupServiceAccountAccessTokenRotationConfigurationPtrOutput) } -// The scopes of the group service account access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` +// The scopes of the group service account access token. Valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing`. If `selfRotate` is included, you must also provide either `expiresAt` or `rotationConfiguration`. func (o GroupServiceAccountAccessTokenOutput) Scopes() pulumi.StringArrayOutput { return o.ApplyT(func(v *GroupServiceAccountAccessToken) pulumi.StringArrayOutput { return v.Scopes }).(pulumi.StringArrayOutput) } @@ -338,6 +422,11 @@ func (o GroupServiceAccountAccessTokenOutput) UserId() pulumi.IntOutput { return o.ApplyT(func(v *GroupServiceAccountAccessToken) pulumi.IntOutput { return v.UserId }).(pulumi.IntOutput) } +// Wether to validate if the expiration date is in the future. +func (o GroupServiceAccountAccessTokenOutput) ValidatePastExpirationDate() pulumi.BoolOutput { + return o.ApplyT(func(v *GroupServiceAccountAccessToken) pulumi.BoolOutput { return v.ValidatePastExpirationDate }).(pulumi.BoolOutput) +} + type GroupServiceAccountAccessTokenArrayOutput struct{ *pulumi.OutputState } func (GroupServiceAccountAccessTokenArrayOutput) ElementType() reflect.Type { diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupShareGroup.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupShareGroup.go similarity index 84% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupShareGroup.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupShareGroup.go index 440053f60..8ae421b6f 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupShareGroup.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupShareGroup.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,15 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) // The `GroupShareGroup` resource allows managing the lifecycle of a group shared with another group. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/groups/#share-groups-with-groups) +// > Note that `memberRoleId` requires a feature flag enabled, see [this feature issue](https://gitlab.com/gitlab-org/gitlab/-/issues/443369) for details. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/groups/#invite-groups) // // ## Example Usage // @@ -23,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -47,21 +49,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_share_group`. For example: -// -// terraform -// -// import { -// -// to = gitlab_group_share_group.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `GroupShareGroup`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// GitLab group shares can be imported using an id made up of `mainGroupId:shareGroupId`, e.g. +// GitLab group shares can be imported using an id made up of `mainGroupId:shareGroupId`, for example: // // ```sh // $ pulumi import gitlab:index/groupShareGroup:GroupShareGroup test 12345:1337 @@ -75,8 +67,8 @@ type GroupShareGroup struct { GroupAccess pulumi.StringOutput `pulumi:"groupAccess"` // The id of the main group to be shared. GroupId pulumi.StringOutput `pulumi:"groupId"` - // The ID of a custom member role. Only available for Ultimate instances. - MemberRoleId pulumi.IntOutput `pulumi:"memberRoleId"` + // The ID of a custom member role. Only available for Ultimate instances and requires a feature flag enabling, see [this feature issue](https://gitlab.com/gitlab-org/gitlab/-/issues/443369) for details. If `memberRoleId` is removed from the config, the group share will revert to a base role. + MemberRoleId pulumi.IntPtrOutput `pulumi:"memberRoleId"` // The id of the additional group with which the main group will be shared. ShareGroupId pulumi.IntOutput `pulumi:"shareGroupId"` } @@ -126,7 +118,7 @@ type groupShareGroupState struct { GroupAccess *string `pulumi:"groupAccess"` // The id of the main group to be shared. GroupId *string `pulumi:"groupId"` - // The ID of a custom member role. Only available for Ultimate instances. + // The ID of a custom member role. Only available for Ultimate instances and requires a feature flag enabling, see [this feature issue](https://gitlab.com/gitlab-org/gitlab/-/issues/443369) for details. If `memberRoleId` is removed from the config, the group share will revert to a base role. MemberRoleId *int `pulumi:"memberRoleId"` // The id of the additional group with which the main group will be shared. ShareGroupId *int `pulumi:"shareGroupId"` @@ -139,7 +131,7 @@ type GroupShareGroupState struct { GroupAccess pulumi.StringPtrInput // The id of the main group to be shared. GroupId pulumi.StringPtrInput - // The ID of a custom member role. Only available for Ultimate instances. + // The ID of a custom member role. Only available for Ultimate instances and requires a feature flag enabling, see [this feature issue](https://gitlab.com/gitlab-org/gitlab/-/issues/443369) for details. If `memberRoleId` is removed from the config, the group share will revert to a base role. MemberRoleId pulumi.IntPtrInput // The id of the additional group with which the main group will be shared. ShareGroupId pulumi.IntPtrInput @@ -156,7 +148,7 @@ type groupShareGroupArgs struct { GroupAccess string `pulumi:"groupAccess"` // The id of the main group to be shared. GroupId string `pulumi:"groupId"` - // The ID of a custom member role. Only available for Ultimate instances. + // The ID of a custom member role. Only available for Ultimate instances and requires a feature flag enabling, see [this feature issue](https://gitlab.com/gitlab-org/gitlab/-/issues/443369) for details. If `memberRoleId` is removed from the config, the group share will revert to a base role. MemberRoleId *int `pulumi:"memberRoleId"` // The id of the additional group with which the main group will be shared. ShareGroupId int `pulumi:"shareGroupId"` @@ -170,7 +162,7 @@ type GroupShareGroupArgs struct { GroupAccess pulumi.StringInput // The id of the main group to be shared. GroupId pulumi.StringInput - // The ID of a custom member role. Only available for Ultimate instances. + // The ID of a custom member role. Only available for Ultimate instances and requires a feature flag enabling, see [this feature issue](https://gitlab.com/gitlab-org/gitlab/-/issues/443369) for details. If `memberRoleId` is removed from the config, the group share will revert to a base role. MemberRoleId pulumi.IntPtrInput // The id of the additional group with which the main group will be shared. ShareGroupId pulumi.IntInput @@ -278,9 +270,9 @@ func (o GroupShareGroupOutput) GroupId() pulumi.StringOutput { return o.ApplyT(func(v *GroupShareGroup) pulumi.StringOutput { return v.GroupId }).(pulumi.StringOutput) } -// The ID of a custom member role. Only available for Ultimate instances. -func (o GroupShareGroupOutput) MemberRoleId() pulumi.IntOutput { - return o.ApplyT(func(v *GroupShareGroup) pulumi.IntOutput { return v.MemberRoleId }).(pulumi.IntOutput) +// The ID of a custom member role. Only available for Ultimate instances and requires a feature flag enabling, see [this feature issue](https://gitlab.com/gitlab-org/gitlab/-/issues/443369) for details. If `memberRoleId` is removed from the config, the group share will revert to a base role. +func (o GroupShareGroupOutput) MemberRoleId() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GroupShareGroup) pulumi.IntPtrOutput { return v.MemberRoleId }).(pulumi.IntPtrOutput) } // The id of the additional group with which the main group will be shared. diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupVariable.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupVariable.go similarity index 97% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupVariable.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupVariable.go index 4ae4e7a0b..8a62ffc8f 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/groupVariable.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/groupVariable.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -18,21 +18,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_group_variable`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `GroupVariable`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_group_variable.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab group variables can be imported using an id made up of `groupid:variablename:scope`, e.g. +// GitLab group variables can be imported using an id made up of `groupid:variablename:scope`, for example: // // ```sh // $ pulumi import gitlab:index/groupVariable:GroupVariable example 12345:group_variable_key:* diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/init.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/init.go similarity index 71% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/init.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/init.go index 54e2f7ae1..95e407bb1 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/init.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/init.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "fmt" "github.com/blang/semver" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,6 +23,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi switch typ { case "gitlab:index/application:Application": r = &Application{} + case "gitlab:index/applicationAppearance:ApplicationAppearance": + r = &ApplicationAppearance{} case "gitlab:index/applicationSettings:ApplicationSettings": r = &ApplicationSettings{} case "gitlab:index/branch:Branch": @@ -55,16 +57,24 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &GroupCustomAttribute{} case "gitlab:index/groupDependencyProxy:GroupDependencyProxy": r = &GroupDependencyProxy{} + case "gitlab:index/groupDeployToken:GroupDeployToken": + r = &GroupDeployToken{} case "gitlab:index/groupEpicBoard:GroupEpicBoard": r = &GroupEpicBoard{} case "gitlab:index/groupHook:GroupHook": r = &GroupHook{} + case "gitlab:index/groupIntegrationMattermost:GroupIntegrationMattermost": + r = &GroupIntegrationMattermost{} + case "gitlab:index/groupIntegrationMicrosoftTeams:GroupIntegrationMicrosoftTeams": + r = &GroupIntegrationMicrosoftTeams{} case "gitlab:index/groupIssueBoard:GroupIssueBoard": r = &GroupIssueBoard{} case "gitlab:index/groupLabel:GroupLabel": r = &GroupLabel{} case "gitlab:index/groupLdapLink:GroupLdapLink": r = &GroupLdapLink{} + case "gitlab:index/groupLevelMrApprovals:GroupLevelMrApprovals": + r = &GroupLevelMrApprovals{} case "gitlab:index/groupMembership:GroupMembership": r = &GroupMembership{} case "gitlab:index/groupProjectFileTemplate:GroupProjectFileTemplate": @@ -109,6 +119,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &IntegrationMicrosoftTeams{} case "gitlab:index/integrationPipelinesEmail:IntegrationPipelinesEmail": r = &IntegrationPipelinesEmail{} + case "gitlab:index/integrationRedmine:IntegrationRedmine": + r = &IntegrationRedmine{} case "gitlab:index/integrationSlack:IntegrationSlack": r = &IntegrationSlack{} case "gitlab:index/integrationTelegram:IntegrationTelegram": @@ -135,24 +147,62 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ProjectApprovalRule{} case "gitlab:index/projectBadge:ProjectBadge": r = &ProjectBadge{} + case "gitlab:index/projectCicdCatalog:ProjectCicdCatalog": + r = &ProjectCicdCatalog{} case "gitlab:index/projectCluster:ProjectCluster": r = &ProjectCluster{} - case "gitlab:index/projectComplianceFramework:ProjectComplianceFramework": - r = &ProjectComplianceFramework{} case "gitlab:index/projectComplianceFrameworks:ProjectComplianceFrameworks": r = &ProjectComplianceFrameworks{} + case "gitlab:index/projectContainerRepositoryProtection:ProjectContainerRepositoryProtection": + r = &ProjectContainerRepositoryProtection{} + case "gitlab:index/projectContainerTagProtection:ProjectContainerTagProtection": + r = &ProjectContainerTagProtection{} case "gitlab:index/projectCustomAttribute:ProjectCustomAttribute": r = &ProjectCustomAttribute{} + case "gitlab:index/projectDeployToken:ProjectDeployToken": + r = &ProjectDeployToken{} case "gitlab:index/projectEnvironment:ProjectEnvironment": r = &ProjectEnvironment{} + case "gitlab:index/projectExternalStatusCheck:ProjectExternalStatusCheck": + r = &ProjectExternalStatusCheck{} case "gitlab:index/projectFreezePeriod:ProjectFreezePeriod": r = &ProjectFreezePeriod{} case "gitlab:index/projectHook:ProjectHook": r = &ProjectHook{} + case "gitlab:index/projectIntegrationCustomIssueTracker:ProjectIntegrationCustomIssueTracker": + r = &ProjectIntegrationCustomIssueTracker{} + case "gitlab:index/projectIntegrationEmailsOnPush:ProjectIntegrationEmailsOnPush": + r = &ProjectIntegrationEmailsOnPush{} + case "gitlab:index/projectIntegrationExternalWiki:ProjectIntegrationExternalWiki": + r = &ProjectIntegrationExternalWiki{} + case "gitlab:index/projectIntegrationGithub:ProjectIntegrationGithub": + r = &ProjectIntegrationGithub{} + case "gitlab:index/projectIntegrationHarbor:ProjectIntegrationHarbor": + r = &ProjectIntegrationHarbor{} + case "gitlab:index/projectIntegrationJenkins:ProjectIntegrationJenkins": + r = &ProjectIntegrationJenkins{} + case "gitlab:index/projectIntegrationJira:ProjectIntegrationJira": + r = &ProjectIntegrationJira{} + case "gitlab:index/projectIntegrationMatrix:ProjectIntegrationMatrix": + r = &ProjectIntegrationMatrix{} + case "gitlab:index/projectIntegrationMattermost:ProjectIntegrationMattermost": + r = &ProjectIntegrationMattermost{} + case "gitlab:index/projectIntegrationMicrosoftTeams:ProjectIntegrationMicrosoftTeams": + r = &ProjectIntegrationMicrosoftTeams{} + case "gitlab:index/projectIntegrationPipelinesEmail:ProjectIntegrationPipelinesEmail": + r = &ProjectIntegrationPipelinesEmail{} + case "gitlab:index/projectIntegrationRedmine:ProjectIntegrationRedmine": + r = &ProjectIntegrationRedmine{} + case "gitlab:index/projectIntegrationTelegram:ProjectIntegrationTelegram": + r = &ProjectIntegrationTelegram{} + case "gitlab:index/projectIntegrationYoutrack:ProjectIntegrationYoutrack": + r = &ProjectIntegrationYoutrack{} case "gitlab:index/projectIssue:ProjectIssue": r = &ProjectIssue{} case "gitlab:index/projectIssueBoard:ProjectIssueBoard": r = &ProjectIssueBoard{} + case "gitlab:index/projectIssueLink:ProjectIssueLink": + r = &ProjectIssueLink{} case "gitlab:index/projectJobTokenScope:ProjectJobTokenScope": r = &ProjectJobTokenScope{} case "gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes": @@ -165,16 +215,30 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ProjectLevelNotifications{} case "gitlab:index/projectMembership:ProjectMembership": r = &ProjectMembership{} + case "gitlab:index/projectMergeRequestNote:ProjectMergeRequestNote": + r = &ProjectMergeRequestNote{} case "gitlab:index/projectMilestone:ProjectMilestone": r = &ProjectMilestone{} case "gitlab:index/projectMirror:ProjectMirror": r = &ProjectMirror{} + case "gitlab:index/projectPackageDependencyProxy:ProjectPackageDependencyProxy": + r = &ProjectPackageDependencyProxy{} + case "gitlab:index/projectPackageProtectionRule:ProjectPackageProtectionRule": + r = &ProjectPackageProtectionRule{} + case "gitlab:index/projectPagesSettings:ProjectPagesSettings": + r = &ProjectPagesSettings{} case "gitlab:index/projectProtectedEnvironment:ProjectProtectedEnvironment": r = &ProjectProtectedEnvironment{} + case "gitlab:index/projectPullMirror:ProjectPullMirror": + r = &ProjectPullMirror{} + case "gitlab:index/projectPushMirror:ProjectPushMirror": + r = &ProjectPushMirror{} case "gitlab:index/projectPushRules:ProjectPushRules": r = &ProjectPushRules{} case "gitlab:index/projectRunnerEnablement:ProjectRunnerEnablement": r = &ProjectRunnerEnablement{} + case "gitlab:index/projectSecureFile:ProjectSecureFile": + r = &ProjectSecureFile{} case "gitlab:index/projectSecurityPolicyAttachment:ProjectSecurityPolicyAttachment": r = &ProjectSecurityPolicyAttachment{} case "gitlab:index/projectShareGroup:ProjectShareGroup": @@ -195,22 +259,14 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &RepositoryFile{} case "gitlab:index/runner:Runner": r = &Runner{} - case "gitlab:index/serviceCustomIssueTracker:ServiceCustomIssueTracker": - r = &ServiceCustomIssueTracker{} - case "gitlab:index/serviceEmailsOnPush:ServiceEmailsOnPush": - r = &ServiceEmailsOnPush{} - case "gitlab:index/serviceExternalWiki:ServiceExternalWiki": - r = &ServiceExternalWiki{} - case "gitlab:index/serviceGithub:ServiceGithub": - r = &ServiceGithub{} - case "gitlab:index/serviceJira:ServiceJira": - r = &ServiceJira{} - case "gitlab:index/serviceMicrosoftTeams:ServiceMicrosoftTeams": - r = &ServiceMicrosoftTeams{} - case "gitlab:index/servicePipelinesEmail:ServicePipelinesEmail": - r = &ServicePipelinesEmail{} - case "gitlab:index/serviceSlack:ServiceSlack": - r = &ServiceSlack{} + case "gitlab:index/runnerController:RunnerController": + r = &RunnerController{} + case "gitlab:index/runnerControllerInstanceScope:RunnerControllerInstanceScope": + r = &RunnerControllerInstanceScope{} + case "gitlab:index/runnerControllerRunnerScope:RunnerControllerRunnerScope": + r = &RunnerControllerRunnerScope{} + case "gitlab:index/runnerControllerToken:RunnerControllerToken": + r = &RunnerControllerToken{} case "gitlab:index/systemHook:SystemHook": r = &SystemHook{} case "gitlab:index/tagProtection:TagProtection": @@ -219,6 +275,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Topic{} case "gitlab:index/user:User": r = &User{} + case "gitlab:index/userAvatar:UserAvatar": + r = &UserAvatar{} case "gitlab:index/userCustomAttribute:UserCustomAttribute": r = &UserCustomAttribute{} case "gitlab:index/userGpgKey:UserGpgKey": @@ -269,6 +327,11 @@ func init() { "index/application", &module{version}, ) + pulumi.RegisterResourceModule( + "gitlab", + "index/applicationAppearance", + &module{version}, + ) pulumi.RegisterResourceModule( "gitlab", "index/applicationSettings", @@ -349,6 +412,11 @@ func init() { "index/groupDependencyProxy", &module{version}, ) + pulumi.RegisterResourceModule( + "gitlab", + "index/groupDeployToken", + &module{version}, + ) pulumi.RegisterResourceModule( "gitlab", "index/groupEpicBoard", @@ -359,6 +427,16 @@ func init() { "index/groupHook", &module{version}, ) + pulumi.RegisterResourceModule( + "gitlab", + "index/groupIntegrationMattermost", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/groupIntegrationMicrosoftTeams", + &module{version}, + ) pulumi.RegisterResourceModule( "gitlab", "index/groupIssueBoard", @@ -374,6 +452,11 @@ func init() { "index/groupLdapLink", &module{version}, ) + pulumi.RegisterResourceModule( + "gitlab", + "index/groupLevelMrApprovals", + &module{version}, + ) pulumi.RegisterResourceModule( "gitlab", "index/groupMembership", @@ -484,6 +567,11 @@ func init() { "index/integrationPipelinesEmail", &module{version}, ) + pulumi.RegisterResourceModule( + "gitlab", + "index/integrationRedmine", + &module{version}, + ) pulumi.RegisterResourceModule( "gitlab", "index/integrationSlack", @@ -551,12 +639,12 @@ func init() { ) pulumi.RegisterResourceModule( "gitlab", - "index/projectCluster", + "index/projectCicdCatalog", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/projectComplianceFramework", + "index/projectCluster", &module{version}, ) pulumi.RegisterResourceModule( @@ -564,16 +652,36 @@ func init() { "index/projectComplianceFrameworks", &module{version}, ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectContainerRepositoryProtection", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectContainerTagProtection", + &module{version}, + ) pulumi.RegisterResourceModule( "gitlab", "index/projectCustomAttribute", &module{version}, ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectDeployToken", + &module{version}, + ) pulumi.RegisterResourceModule( "gitlab", "index/projectEnvironment", &module{version}, ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectExternalStatusCheck", + &module{version}, + ) pulumi.RegisterResourceModule( "gitlab", "index/projectFreezePeriod", @@ -584,6 +692,76 @@ func init() { "index/projectHook", &module{version}, ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectIntegrationCustomIssueTracker", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectIntegrationEmailsOnPush", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectIntegrationExternalWiki", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectIntegrationGithub", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectIntegrationHarbor", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectIntegrationJenkins", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectIntegrationJira", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectIntegrationMatrix", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectIntegrationMattermost", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectIntegrationMicrosoftTeams", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectIntegrationPipelinesEmail", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectIntegrationRedmine", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectIntegrationTelegram", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectIntegrationYoutrack", + &module{version}, + ) pulumi.RegisterResourceModule( "gitlab", "index/projectIssue", @@ -594,6 +772,11 @@ func init() { "index/projectIssueBoard", &module{version}, ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectIssueLink", + &module{version}, + ) pulumi.RegisterResourceModule( "gitlab", "index/projectJobTokenScope", @@ -624,6 +807,11 @@ func init() { "index/projectMembership", &module{version}, ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectMergeRequestNote", + &module{version}, + ) pulumi.RegisterResourceModule( "gitlab", "index/projectMilestone", @@ -636,107 +824,117 @@ func init() { ) pulumi.RegisterResourceModule( "gitlab", - "index/projectProtectedEnvironment", + "index/projectPackageDependencyProxy", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/projectPushRules", + "index/projectPackageProtectionRule", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/projectRunnerEnablement", + "index/projectPagesSettings", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/projectSecurityPolicyAttachment", + "index/projectProtectedEnvironment", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/projectShareGroup", + "index/projectPullMirror", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/projectTag", + "index/projectPushMirror", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/projectTargetBranchRule", + "index/projectPushRules", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/projectVariable", + "index/projectRunnerEnablement", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/projectWikiPage", + "index/projectSecureFile", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/release", + "index/projectSecurityPolicyAttachment", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/releaseLink", + "index/projectShareGroup", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/repositoryFile", + "index/projectTag", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/runner", + "index/projectTargetBranchRule", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/serviceCustomIssueTracker", + "index/projectVariable", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectWikiPage", + &module{version}, + ) + pulumi.RegisterResourceModule( + "gitlab", + "index/release", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/serviceEmailsOnPush", + "index/releaseLink", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/serviceExternalWiki", + "index/repositoryFile", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/serviceGithub", + "index/runner", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/serviceJira", + "index/runnerController", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/serviceMicrosoftTeams", + "index/runnerControllerInstanceScope", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/servicePipelinesEmail", + "index/runnerControllerRunnerScope", &module{version}, ) pulumi.RegisterResourceModule( "gitlab", - "index/serviceSlack", + "index/runnerControllerToken", &module{version}, ) pulumi.RegisterResourceModule( @@ -759,6 +957,11 @@ func init() { "index/user", &module{version}, ) + pulumi.RegisterResourceModule( + "gitlab", + "index/userAvatar", + &module{version}, + ) pulumi.RegisterResourceModule( "gitlab", "index/userCustomAttribute", diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/instanceCluster.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/instanceCluster.go similarity index 96% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/instanceCluster.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/instanceCluster.go index ce7fd78a5..d8ab9992f 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/instanceCluster.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/instanceCluster.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `InstanceCluster` resource allows to manage the lifecycle of an instance cluster. +// The `InstanceCluster` resource manages the lifecycle of an instance cluster. // -// > This is deprecated GitLab feature since 14.5 +// > This is deprecated, due for removal in GitLab 19.0. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/instance_clusters/) // @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -55,21 +55,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_instance_cluster`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `InstanceCluster`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_instance_cluster.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab instance clusters can be imported using a `clusterid`, e.g. +// GitLab instance clusters can be imported using a `clusterid`, for example: // // ```sh // $ pulumi import gitlab:index/instanceCluster:InstanceCluster bar 123 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/instanceServiceAccount.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/instanceServiceAccount.go similarity index 73% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/instanceServiceAccount.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/instanceServiceAccount.go index 929076683..81cc081dc 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/instanceServiceAccount.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/instanceServiceAccount.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -15,27 +15,56 @@ import ( // // > In order for a user to create a user account, they must have admin privileges at the instance level. This makes this feature unavailable on `gitlab.com` // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/user_service_accounts/) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/service_accounts/#instance-service-accounts) // -// ## Import +// ## Example Usage // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_instance_service_account`. For example: +// ```go +// package main // -// terraform +// import ( // -// import { +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // -// to = gitlab_instance_service_account.example +// ) // -// id = "see CLI command below for ID" +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// // create a service account +// exampleSa, err := gitlab.NewInstanceServiceAccount(ctx, "example_sa", &gitlab.InstanceServiceAccountArgs{ +// Name: pulumi.String("example-name"), +// Username: pulumi.String("example-username"), +// Email: pulumi.String("custom_email@gitlab.example.com"), +// Timeouts: &gitlab.InstanceServiceAccountTimeoutsArgs{ +// Delete: pulumi.String("3m"), +// }, +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewPersonalAccessToken(ctx, "example_token", &gitlab.PersonalAccessTokenArgs{ +// UserId: exampleSa.ServiceAccountId, +// Name: pulumi.String("Example personal access token for a service account"), +// ExpiresAt: pulumi.String("2026-01-01"), +// Scopes: pulumi.StringArray{ +// pulumi.String("api"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } // -// } +// ``` // -// Import using the CLI is supported using the following syntax: +// ## Import // -// ```sh -// $ pulumi import gitlab:index/instanceServiceAccount:InstanceServiceAccount You can import a group service account using ` `. The -// ``` +// Starting in Terraform v1.5.0, you can use an import block to import `InstanceServiceAccount`. For example: +// +// Importing using the CLI is supported with the following syntax: // // `id` is the id of the service account // @@ -45,13 +74,15 @@ import ( type InstanceServiceAccount struct { pulumi.CustomResourceState - // The name of the user. If not specified, the default Service account user name is used. + // The email of the user account. If not set, generates a no-reply email address. + Email pulumi.StringOutput `pulumi:"email"` + // The name of the user. If not set, uses Service account user. Name pulumi.StringOutput `pulumi:"name"` // The service account id. ServiceAccountId pulumi.StringOutput `pulumi:"serviceAccountId"` Timeouts InstanceServiceAccountTimeoutsPtrOutput `pulumi:"timeouts"` - // The username of the user. If not specified, it’s automatically generated. - Username pulumi.StringPtrOutput `pulumi:"username"` + // The username of the user account. If not set, generates a name prepended with service*account*. + Username pulumi.StringOutput `pulumi:"username"` } // NewInstanceServiceAccount registers a new resource with the given unique name, arguments, and options. @@ -84,22 +115,26 @@ func GetInstanceServiceAccount(ctx *pulumi.Context, // Input properties used for looking up and filtering InstanceServiceAccount resources. type instanceServiceAccountState struct { - // The name of the user. If not specified, the default Service account user name is used. + // The email of the user account. If not set, generates a no-reply email address. + Email *string `pulumi:"email"` + // The name of the user. If not set, uses Service account user. Name *string `pulumi:"name"` // The service account id. ServiceAccountId *string `pulumi:"serviceAccountId"` Timeouts *InstanceServiceAccountTimeouts `pulumi:"timeouts"` - // The username of the user. If not specified, it’s automatically generated. + // The username of the user account. If not set, generates a name prepended with service*account*. Username *string `pulumi:"username"` } type InstanceServiceAccountState struct { - // The name of the user. If not specified, the default Service account user name is used. + // The email of the user account. If not set, generates a no-reply email address. + Email pulumi.StringPtrInput + // The name of the user. If not set, uses Service account user. Name pulumi.StringPtrInput // The service account id. ServiceAccountId pulumi.StringPtrInput Timeouts InstanceServiceAccountTimeoutsPtrInput - // The username of the user. If not specified, it’s automatically generated. + // The username of the user account. If not set, generates a name prepended with service*account*. Username pulumi.StringPtrInput } @@ -108,19 +143,23 @@ func (InstanceServiceAccountState) ElementType() reflect.Type { } type instanceServiceAccountArgs struct { - // The name of the user. If not specified, the default Service account user name is used. + // The email of the user account. If not set, generates a no-reply email address. + Email *string `pulumi:"email"` + // The name of the user. If not set, uses Service account user. Name *string `pulumi:"name"` Timeouts *InstanceServiceAccountTimeouts `pulumi:"timeouts"` - // The username of the user. If not specified, it’s automatically generated. + // The username of the user account. If not set, generates a name prepended with service*account*. Username *string `pulumi:"username"` } // The set of arguments for constructing a InstanceServiceAccount resource. type InstanceServiceAccountArgs struct { - // The name of the user. If not specified, the default Service account user name is used. + // The email of the user account. If not set, generates a no-reply email address. + Email pulumi.StringPtrInput + // The name of the user. If not set, uses Service account user. Name pulumi.StringPtrInput Timeouts InstanceServiceAccountTimeoutsPtrInput - // The username of the user. If not specified, it’s automatically generated. + // The username of the user account. If not set, generates a name prepended with service*account*. Username pulumi.StringPtrInput } @@ -211,7 +250,12 @@ func (o InstanceServiceAccountOutput) ToInstanceServiceAccountOutputWithContext( return o } -// The name of the user. If not specified, the default Service account user name is used. +// The email of the user account. If not set, generates a no-reply email address. +func (o InstanceServiceAccountOutput) Email() pulumi.StringOutput { + return o.ApplyT(func(v *InstanceServiceAccount) pulumi.StringOutput { return v.Email }).(pulumi.StringOutput) +} + +// The name of the user. If not set, uses Service account user. func (o InstanceServiceAccountOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *InstanceServiceAccount) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } @@ -225,9 +269,9 @@ func (o InstanceServiceAccountOutput) Timeouts() InstanceServiceAccountTimeoutsP return o.ApplyT(func(v *InstanceServiceAccount) InstanceServiceAccountTimeoutsPtrOutput { return v.Timeouts }).(InstanceServiceAccountTimeoutsPtrOutput) } -// The username of the user. If not specified, it’s automatically generated. -func (o InstanceServiceAccountOutput) Username() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceServiceAccount) pulumi.StringPtrOutput { return v.Username }).(pulumi.StringPtrOutput) +// The username of the user account. If not set, generates a name prepended with service*account*. +func (o InstanceServiceAccountOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v *InstanceServiceAccount) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) } type InstanceServiceAccountArrayOutput struct{ *pulumi.OutputState } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/instanceVariable.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/instanceVariable.go similarity index 85% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/instanceVariable.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/instanceVariable.go index 5ccb94e98..813f02263 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/instanceVariable.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/instanceVariable.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `InstanceVariable` resource allows to manage the lifecycle of an instance-level CI/CD variable. +// The `InstanceVariable` resource manages the lifecycle of an instance-level CI/CD variable. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/instance_level_ci_variables/) // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -47,21 +47,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_instance_variable`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `InstanceVariable`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_instance_variable.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab instance variables can be imported using an id made up of `variablename`, e.g. +// GitLab instance variables can be imported using an id made up of `variablename`, for example: // // ```sh // $ pulumi import gitlab:index/instanceVariable:InstanceVariable example instance_variable_key @@ -70,19 +60,19 @@ type InstanceVariable struct { pulumi.CustomResourceState // The description of the variable. Maximum of 255 characters. - Description pulumi.StringPtrOutput `pulumi:"description"` + Description pulumi.StringOutput `pulumi:"description"` // The name of the variable. Key pulumi.StringOutput `pulumi:"key"` - // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`. - Masked pulumi.BoolPtrOutput `pulumi:"masked"` + // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Defaults to `false`. + Masked pulumi.BoolOutput `pulumi:"masked"` // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. - Protected pulumi.BoolPtrOutput `pulumi:"protected"` + Protected pulumi.BoolOutput `pulumi:"protected"` // Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded. - Raw pulumi.BoolPtrOutput `pulumi:"raw"` + Raw pulumi.BoolOutput `pulumi:"raw"` // The value of the variable. Value pulumi.StringOutput `pulumi:"value"` // The type of a variable. Valid values are: `envVar`, `file`. Default is `envVar`. - VariableType pulumi.StringPtrOutput `pulumi:"variableType"` + VariableType pulumi.StringOutput `pulumi:"variableType"` } // NewInstanceVariable registers a new resource with the given unique name, arguments, and options. @@ -125,7 +115,7 @@ type instanceVariableState struct { Description *string `pulumi:"description"` // The name of the variable. Key *string `pulumi:"key"` - // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`. + // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Defaults to `false`. Masked *bool `pulumi:"masked"` // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. Protected *bool `pulumi:"protected"` @@ -142,7 +132,7 @@ type InstanceVariableState struct { Description pulumi.StringPtrInput // The name of the variable. Key pulumi.StringPtrInput - // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`. + // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Defaults to `false`. Masked pulumi.BoolPtrInput // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. Protected pulumi.BoolPtrInput @@ -163,7 +153,7 @@ type instanceVariableArgs struct { Description *string `pulumi:"description"` // The name of the variable. Key string `pulumi:"key"` - // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`. + // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Defaults to `false`. Masked *bool `pulumi:"masked"` // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. Protected *bool `pulumi:"protected"` @@ -181,7 +171,7 @@ type InstanceVariableArgs struct { Description pulumi.StringPtrInput // The name of the variable. Key pulumi.StringInput - // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`. + // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Defaults to `false`. Masked pulumi.BoolPtrInput // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. Protected pulumi.BoolPtrInput @@ -281,8 +271,8 @@ func (o InstanceVariableOutput) ToInstanceVariableOutputWithContext(ctx context. } // The description of the variable. Maximum of 255 characters. -func (o InstanceVariableOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceVariable) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +func (o InstanceVariableOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *InstanceVariable) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } // The name of the variable. @@ -290,19 +280,19 @@ func (o InstanceVariableOutput) Key() pulumi.StringOutput { return o.ApplyT(func(v *InstanceVariable) pulumi.StringOutput { return v.Key }).(pulumi.StringOutput) } -// If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`. -func (o InstanceVariableOutput) Masked() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *InstanceVariable) pulumi.BoolPtrOutput { return v.Masked }).(pulumi.BoolPtrOutput) +// If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Defaults to `false`. +func (o InstanceVariableOutput) Masked() pulumi.BoolOutput { + return o.ApplyT(func(v *InstanceVariable) pulumi.BoolOutput { return v.Masked }).(pulumi.BoolOutput) } // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. -func (o InstanceVariableOutput) Protected() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *InstanceVariable) pulumi.BoolPtrOutput { return v.Protected }).(pulumi.BoolPtrOutput) +func (o InstanceVariableOutput) Protected() pulumi.BoolOutput { + return o.ApplyT(func(v *InstanceVariable) pulumi.BoolOutput { return v.Protected }).(pulumi.BoolOutput) } // Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded. -func (o InstanceVariableOutput) Raw() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *InstanceVariable) pulumi.BoolPtrOutput { return v.Raw }).(pulumi.BoolPtrOutput) +func (o InstanceVariableOutput) Raw() pulumi.BoolOutput { + return o.ApplyT(func(v *InstanceVariable) pulumi.BoolOutput { return v.Raw }).(pulumi.BoolOutput) } // The value of the variable. @@ -311,8 +301,8 @@ func (o InstanceVariableOutput) Value() pulumi.StringOutput { } // The type of a variable. Valid values are: `envVar`, `file`. Default is `envVar`. -func (o InstanceVariableOutput) VariableType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceVariable) pulumi.StringPtrOutput { return v.VariableType }).(pulumi.StringPtrOutput) +func (o InstanceVariableOutput) VariableType() pulumi.StringOutput { + return o.ApplyT(func(v *InstanceVariable) pulumi.StringOutput { return v.VariableType }).(pulumi.StringOutput) } type InstanceVariableArrayOutput struct{ *pulumi.OutputState } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationCustomIssueTracker.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationCustomIssueTracker.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationCustomIssueTracker.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationCustomIssueTracker.go index ad750f7ad..b8203f378 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationCustomIssueTracker.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationCustomIssueTracker.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `IntegrationCustomIssueTracker` resource allows to manage the lifecycle of a project integration with Custom Issue Tracker. +// The `IntegrationCustomIssueTracker` resource manages the lifecycle of a project integration with a Custom Issue Tracker. +// +// > This resource is deprecated and will be removed in 19.0. Use `ProjectIntegrationCustomIssueTracker`instead. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#custom-issue-tracker) // @@ -23,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -54,21 +56,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_integration_custom_issue_tracker`. For example: -// -// terraform -// -// import { -// -// to = gitlab_integration_custom_issue_tracker.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `IntegrationCustomIssueTracker`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// You can import a gitlab_integration_custom_issue_tracker state using the project ID, e.g. +// You can import a IntegrationCustomIssueTracker state using the project ID, for example: // // ```sh // $ pulumi import gitlab:index/integrationCustomIssueTracker:IntegrationCustomIssueTracker tracker 1 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationEmailsOnPush.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationEmailsOnPush.go similarity index 90% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationEmailsOnPush.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationEmailsOnPush.go index b78578a2b..9fccfc07f 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationEmailsOnPush.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationEmailsOnPush.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `IntegrationEmailsOnPush` resource allows to manage the lifecycle of a project integration with Emails on Push Service. +// The `IntegrationEmailsOnPush` resource manages the lifecycle of a project integration with the Emails on Push Service. +// +// > This resource is deprecated and will be removed in 19.0. Use `ProjectIntegrationEmailsOnPush`instead. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#emails-on-push) // @@ -23,13 +25,14 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // This resource is deprecated and will be removed in version 19.0. Use gitlab_project_integration_emails_on_push instead. // awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ // Name: pulumi.String("awesome_project"), // Description: pulumi.String("My awesome project."), @@ -53,21 +56,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_integration_emails_on_push`. For example: -// -// terraform -// -// import { -// -// to = gitlab_integration_emails_on_push.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `IntegrationEmailsOnPush`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// You can import a gitlab_integration_emails_on_push state using the project ID, e.g. +// You can import a IntegrationEmailsOnPush state using the project ID, for example: // // ```sh // $ pulumi import gitlab:index/integrationEmailsOnPush:IntegrationEmailsOnPush emails 1 @@ -78,23 +71,23 @@ type IntegrationEmailsOnPush struct { // Whether the integration is active. Active pulumi.BoolOutput `pulumi:"active"` // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Notifications are always fired for tag pushes. - BranchesToBeNotified pulumi.StringPtrOutput `pulumi:"branchesToBeNotified"` + BranchesToBeNotified pulumi.StringOutput `pulumi:"branchesToBeNotified"` // The ISO8601 date/time that this integration was activated at in UTC. CreatedAt pulumi.StringOutput `pulumi:"createdAt"` // Disable code diffs. - DisableDiffs pulumi.BoolPtrOutput `pulumi:"disableDiffs"` + DisableDiffs pulumi.BoolOutput `pulumi:"disableDiffs"` // ID or full-path of the project you want to activate integration on. Project pulumi.StringOutput `pulumi:"project"` // Enable notifications for push events. - PushEvents pulumi.BoolPtrOutput `pulumi:"pushEvents"` + PushEvents pulumi.BoolOutput `pulumi:"pushEvents"` // Emails separated by whitespace. Recipients pulumi.StringOutput `pulumi:"recipients"` // Send from committer. - SendFromCommitterEmail pulumi.BoolPtrOutput `pulumi:"sendFromCommitterEmail"` + SendFromCommitterEmail pulumi.BoolOutput `pulumi:"sendFromCommitterEmail"` // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. Slug pulumi.StringOutput `pulumi:"slug"` // Enable notifications for tag push events. - TagPushEvents pulumi.BoolPtrOutput `pulumi:"tagPushEvents"` + TagPushEvents pulumi.BoolOutput `pulumi:"tagPushEvents"` // Title of the integration. Title pulumi.StringOutput `pulumi:"title"` // The ISO8601 date/time that this integration was last updated at in UTC. @@ -322,8 +315,8 @@ func (o IntegrationEmailsOnPushOutput) Active() pulumi.BoolOutput { } // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Notifications are always fired for tag pushes. -func (o IntegrationEmailsOnPushOutput) BranchesToBeNotified() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationEmailsOnPush) pulumi.StringPtrOutput { return v.BranchesToBeNotified }).(pulumi.StringPtrOutput) +func (o IntegrationEmailsOnPushOutput) BranchesToBeNotified() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationEmailsOnPush) pulumi.StringOutput { return v.BranchesToBeNotified }).(pulumi.StringOutput) } // The ISO8601 date/time that this integration was activated at in UTC. @@ -332,8 +325,8 @@ func (o IntegrationEmailsOnPushOutput) CreatedAt() pulumi.StringOutput { } // Disable code diffs. -func (o IntegrationEmailsOnPushOutput) DisableDiffs() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationEmailsOnPush) pulumi.BoolPtrOutput { return v.DisableDiffs }).(pulumi.BoolPtrOutput) +func (o IntegrationEmailsOnPushOutput) DisableDiffs() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationEmailsOnPush) pulumi.BoolOutput { return v.DisableDiffs }).(pulumi.BoolOutput) } // ID or full-path of the project you want to activate integration on. @@ -342,8 +335,8 @@ func (o IntegrationEmailsOnPushOutput) Project() pulumi.StringOutput { } // Enable notifications for push events. -func (o IntegrationEmailsOnPushOutput) PushEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationEmailsOnPush) pulumi.BoolPtrOutput { return v.PushEvents }).(pulumi.BoolPtrOutput) +func (o IntegrationEmailsOnPushOutput) PushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationEmailsOnPush) pulumi.BoolOutput { return v.PushEvents }).(pulumi.BoolOutput) } // Emails separated by whitespace. @@ -352,8 +345,8 @@ func (o IntegrationEmailsOnPushOutput) Recipients() pulumi.StringOutput { } // Send from committer. -func (o IntegrationEmailsOnPushOutput) SendFromCommitterEmail() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationEmailsOnPush) pulumi.BoolPtrOutput { return v.SendFromCommitterEmail }).(pulumi.BoolPtrOutput) +func (o IntegrationEmailsOnPushOutput) SendFromCommitterEmail() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationEmailsOnPush) pulumi.BoolOutput { return v.SendFromCommitterEmail }).(pulumi.BoolOutput) } // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. @@ -362,8 +355,8 @@ func (o IntegrationEmailsOnPushOutput) Slug() pulumi.StringOutput { } // Enable notifications for tag push events. -func (o IntegrationEmailsOnPushOutput) TagPushEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationEmailsOnPush) pulumi.BoolPtrOutput { return v.TagPushEvents }).(pulumi.BoolPtrOutput) +func (o IntegrationEmailsOnPushOutput) TagPushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationEmailsOnPush) pulumi.BoolOutput { return v.TagPushEvents }).(pulumi.BoolOutput) } // Title of the integration. diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationExternalWiki.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationExternalWiki.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationExternalWiki.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationExternalWiki.go index 886b647d9..dc3e0b69e 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationExternalWiki.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationExternalWiki.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `IntegrationExternalWiki` resource allows to manage the lifecycle of a project integration with External Wiki Service. +// The `IntegrationExternalWiki` resource manages the lifecycle of a project integration with the External Wiki Service. +// +// > This resource is deprecated and will be removed in 19.0. Use `ProjectIntegrationExternalWiki` instead. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#external-wiki) // @@ -23,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -53,21 +55,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_integration_external_wiki`. For example: -// -// terraform -// -// import { -// -// to = gitlab_integration_external_wiki.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `IntegrationExternalWiki`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// You can import a gitlab_integration_external_wiki state using the project ID, e.g. +// You can import a IntegrationExternalWiki state using the project ID, for example: // // ```sh // $ pulumi import gitlab:index/integrationExternalWiki:IntegrationExternalWiki wiki 1 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationGithub.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationGithub.go similarity index 71% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationGithub.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationGithub.go index 93440d210..00a5a8fb1 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationGithub.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationGithub.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,14 +8,16 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `IntegrationGithub` resource allows to manage the lifecycle of a project integration with GitHub. +// The `IntegrationGithub` resource manages the lifecycle of a project integration with GitHub. // // > This resource requires a GitLab Enterprise instance. // +// > This resource is deprecated and will be removed in 19.0. Use `ProjectIntegrationGithub` instead. +// // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#github) // // ## Example Usage @@ -25,7 +27,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -56,23 +58,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_integration_github`. For example: -// -// terraform -// -// import { -// -// to = gitlab_integration_github.example +// Starting in Terraform v1.5.0, you can use an import block to import `IntegrationGithub`. For example: // -// id = "see CLI command below for ID" +// Importing using the CLI is supported with the following syntax: // -// } -// -// Import using the CLI is supported using the following syntax: -// -// ```sh -// $ pulumi import gitlab:index/integrationGithub:IntegrationGithub You can import a gitlab_integration_github state using ` `: -// ``` +// You can import a IntegrationGithub state using `terraform import `: // // ```sh // $ pulumi import gitlab:index/integrationGithub:IntegrationGithub github 1 @@ -82,18 +72,19 @@ type IntegrationGithub struct { // Whether the integration is active. Active pulumi.BoolOutput `pulumi:"active"` - // Create time. + // The ISO8601 date/time that this integration was activated at in UTC. CreatedAt pulumi.StringOutput `pulumi:"createdAt"` - // ID of the project you want to activate integration on. - Project pulumi.StringOutput `pulumi:"project"` + // ID of the project you want to activate the integration on. + Project pulumi.StringOutput `pulumi:"project"` + // The URL of the GitHub repo to integrate with. For example, https://github.com/gitlabhq/terraform-provider-gitlab. RepositoryUrl pulumi.StringOutput `pulumi:"repositoryUrl"` - // Append instance name instead of branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. - StaticContext pulumi.BoolPtrOutput `pulumi:"staticContext"` - // Title. + // Append the instance name instead of the branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. + StaticContext pulumi.BoolOutput `pulumi:"staticContext"` + // Title of the integration. Title pulumi.StringOutput `pulumi:"title"` - // A GitHub personal access token with at least `repo:status` scope. + // A GitHub personal access token with at least the `repo:status` scope. Token pulumi.StringOutput `pulumi:"token"` - // Update time. + // The ISO8601 date/time that this integration was last updated at in UTC. UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` } @@ -145,36 +136,38 @@ func GetIntegrationGithub(ctx *pulumi.Context, type integrationGithubState struct { // Whether the integration is active. Active *bool `pulumi:"active"` - // Create time. + // The ISO8601 date/time that this integration was activated at in UTC. CreatedAt *string `pulumi:"createdAt"` - // ID of the project you want to activate integration on. - Project *string `pulumi:"project"` + // ID of the project you want to activate the integration on. + Project *string `pulumi:"project"` + // The URL of the GitHub repo to integrate with. For example, https://github.com/gitlabhq/terraform-provider-gitlab. RepositoryUrl *string `pulumi:"repositoryUrl"` - // Append instance name instead of branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. + // Append the instance name instead of the branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. StaticContext *bool `pulumi:"staticContext"` - // Title. + // Title of the integration. Title *string `pulumi:"title"` - // A GitHub personal access token with at least `repo:status` scope. + // A GitHub personal access token with at least the `repo:status` scope. Token *string `pulumi:"token"` - // Update time. + // The ISO8601 date/time that this integration was last updated at in UTC. UpdatedAt *string `pulumi:"updatedAt"` } type IntegrationGithubState struct { // Whether the integration is active. Active pulumi.BoolPtrInput - // Create time. + // The ISO8601 date/time that this integration was activated at in UTC. CreatedAt pulumi.StringPtrInput - // ID of the project you want to activate integration on. - Project pulumi.StringPtrInput + // ID of the project you want to activate the integration on. + Project pulumi.StringPtrInput + // The URL of the GitHub repo to integrate with. For example, https://github.com/gitlabhq/terraform-provider-gitlab. RepositoryUrl pulumi.StringPtrInput - // Append instance name instead of branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. + // Append the instance name instead of the branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. StaticContext pulumi.BoolPtrInput - // Title. + // Title of the integration. Title pulumi.StringPtrInput - // A GitHub personal access token with at least `repo:status` scope. + // A GitHub personal access token with at least the `repo:status` scope. Token pulumi.StringPtrInput - // Update time. + // The ISO8601 date/time that this integration was last updated at in UTC. UpdatedAt pulumi.StringPtrInput } @@ -183,23 +176,25 @@ func (IntegrationGithubState) ElementType() reflect.Type { } type integrationGithubArgs struct { - // ID of the project you want to activate integration on. - Project string `pulumi:"project"` + // ID of the project you want to activate the integration on. + Project string `pulumi:"project"` + // The URL of the GitHub repo to integrate with. For example, https://github.com/gitlabhq/terraform-provider-gitlab. RepositoryUrl string `pulumi:"repositoryUrl"` - // Append instance name instead of branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. + // Append the instance name instead of the branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. StaticContext *bool `pulumi:"staticContext"` - // A GitHub personal access token with at least `repo:status` scope. + // A GitHub personal access token with at least the `repo:status` scope. Token string `pulumi:"token"` } // The set of arguments for constructing a IntegrationGithub resource. type IntegrationGithubArgs struct { - // ID of the project you want to activate integration on. - Project pulumi.StringInput + // ID of the project you want to activate the integration on. + Project pulumi.StringInput + // The URL of the GitHub repo to integrate with. For example, https://github.com/gitlabhq/terraform-provider-gitlab. RepositoryUrl pulumi.StringInput - // Append instance name instead of branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. + // Append the instance name instead of the branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. StaticContext pulumi.BoolPtrInput - // A GitHub personal access token with at least `repo:status` scope. + // A GitHub personal access token with at least the `repo:status` scope. Token pulumi.StringInput } @@ -295,36 +290,37 @@ func (o IntegrationGithubOutput) Active() pulumi.BoolOutput { return o.ApplyT(func(v *IntegrationGithub) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) } -// Create time. +// The ISO8601 date/time that this integration was activated at in UTC. func (o IntegrationGithubOutput) CreatedAt() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationGithub) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) } -// ID of the project you want to activate integration on. +// ID of the project you want to activate the integration on. func (o IntegrationGithubOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationGithub) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) } +// The URL of the GitHub repo to integrate with. For example, https://github.com/gitlabhq/terraform-provider-gitlab. func (o IntegrationGithubOutput) RepositoryUrl() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationGithub) pulumi.StringOutput { return v.RepositoryUrl }).(pulumi.StringOutput) } -// Append instance name instead of branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. -func (o IntegrationGithubOutput) StaticContext() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationGithub) pulumi.BoolPtrOutput { return v.StaticContext }).(pulumi.BoolPtrOutput) +// Append the instance name instead of the branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. +func (o IntegrationGithubOutput) StaticContext() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationGithub) pulumi.BoolOutput { return v.StaticContext }).(pulumi.BoolOutput) } -// Title. +// Title of the integration. func (o IntegrationGithubOutput) Title() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationGithub) pulumi.StringOutput { return v.Title }).(pulumi.StringOutput) } -// A GitHub personal access token with at least `repo:status` scope. +// A GitHub personal access token with at least the `repo:status` scope. func (o IntegrationGithubOutput) Token() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationGithub) pulumi.StringOutput { return v.Token }).(pulumi.StringOutput) } -// Update time. +// The ISO8601 date/time that this integration was last updated at in UTC. func (o IntegrationGithubOutput) UpdatedAt() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationGithub) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationHarbor.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationHarbor.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationHarbor.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationHarbor.go index d693e979c..2c918bf34 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationHarbor.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationHarbor.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `IntegrationHarbor` resource allows to manage the lifecycle of a project integration with Harbor. +// The `IntegrationHarbor` resource manages the lifecycle of a project integration with Harbor. +// +// > This resource is deprecated and will be removed in 19.0. Use `ProjectIntegrationHarbor`instead. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#harbor) // @@ -23,8 +25,9 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" // // ) // @@ -38,10 +41,15 @@ import ( // if err != nil { // return err // } +// cfg := config.New(ctx, "") +// // Harbor password +// password := cfg.Require("password") // _, err = gitlab.NewIntegrationHarbor(ctx, "harbor", &gitlab.IntegrationHarborArgs{ // Project: awesomeProject.ID(), // Url: pulumi.String("http://harbor.example.com"), // ProjectName: pulumi.String("my_project_name"), +// Username: pulumi.String("username"), +// Password: pulumi.String(pulumi.String(password)), // }) // if err != nil { // return err @@ -54,23 +62,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_integration_harbor`. For example: -// -// terraform -// -// import { -// -// to = gitlab_integration_harbor.example +// Starting in Terraform v1.5.0, you can use an import block to import `IntegrationHarbor`. For example: // -// id = "see CLI command below for ID" +// Importing using the CLI is supported with the following syntax: // -// } -// -// Import using the CLI is supported using the following syntax: -// -// ```sh -// $ pulumi import gitlab:index/integrationHarbor:IntegrationHarbor You can import a gitlab_integration_harbor state using ` `: -// ``` +// You can import a IntegrationHarbor state using `terraform import `: // // ```sh // $ pulumi import gitlab:index/integrationHarbor:IntegrationHarbor harbor 1 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationJenkins.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationJenkins.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationJenkins.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationJenkins.go index 491a9a49d..cd9fac5e4 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationJenkins.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationJenkins.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `IntegrationJenkins` resource allows to manage the lifecycle of a project integration with Jenkins. +// The `IntegrationJenkins` resource manages the lifecycle of a project integration with Jenkins. +// +// > This resource is deprecated and will be removed in 19.0. Use `ProjectIntegrationJenkins`instead. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#jenkins) // @@ -23,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -54,23 +56,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_integration_jenkins`. For example: -// -// terraform -// -// import { -// -// to = gitlab_integration_jenkins.example +// Starting in Terraform v1.5.0, you can use an import block to import `IntegrationJenkins`. For example: // -// id = "see CLI command below for ID" +// Importing using the CLI is supported with the following syntax: // -// } -// -// Import using the CLI is supported using the following syntax: -// -// ```sh -// $ pulumi import gitlab:index/integrationJenkins:IntegrationJenkins You can import a gitlab_integration_jenkins state using ` `: -// ``` +// You can import a IntegrationJenkins state using `terraform import `: // // ```sh // $ pulumi import gitlab:index/integrationJenkins:IntegrationJenkins jenkins 1 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationJira.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationJira.go similarity index 84% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationJira.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationJira.go index 63e2941a2..4211729a5 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationJira.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationJira.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `IntegrationJira` resource allows to manage the lifecycle of a project integration with Jira. +// The `IntegrationJira` resource manages the lifecycle of a project integration with Jira. +// +// > This resource is deprecated and will be removed in 19.0. Use `ProjectIntegrationJira` instead. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#jira-issues) // @@ -23,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -55,21 +57,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_integration_jira`. For example: -// -// terraform -// -// import { -// -// to = gitlab_integration_jira.example -// -// id = "see CLI command below for ID" +// Starting in Terraform v1.5.0, you can use an import block to import `IntegrationJira`. For example: // -// } +// Importing using the CLI is supported with the following syntax: // -// Import using the CLI is supported using the following syntax: -// -// You can import a gitlab_integration_jira state using the project ID, e.g. +// You can import a IntegrationJira state using the project ID, for example: // // ```sh // $ pulumi import gitlab:index/integrationJira:IntegrationJira jira 1 @@ -85,41 +77,38 @@ type IntegrationJira struct { CommentOnEventEnabled pulumi.BoolOutput `pulumi:"commentOnEventEnabled"` // Enable notifications for commit events CommitEvents pulumi.BoolOutput `pulumi:"commitEvents"` - // Create time. + // The ISO8601 date/time that this integration was activated at in UTC. CreatedAt pulumi.StringOutput `pulumi:"createdAt"` // Enable viewing Jira issues in GitLab. - IssuesEnabled pulumi.BoolPtrOutput `pulumi:"issuesEnabled"` + IssuesEnabled pulumi.BoolOutput `pulumi:"issuesEnabled"` // The authentication method to be used with Jira. 0 means Basic Authentication. 1 means Jira personal access token. Defaults to 0. - JiraAuthType pulumi.IntPtrOutput `pulumi:"jiraAuthType"` + JiraAuthType pulumi.IntOutput `pulumi:"jiraAuthType"` // Prefix to match Jira issue keys. - JiraIssuePrefix pulumi.StringPtrOutput `pulumi:"jiraIssuePrefix"` + JiraIssuePrefix pulumi.StringOutput `pulumi:"jiraIssuePrefix"` // Regular expression to match Jira issue keys. - JiraIssueRegex pulumi.StringPtrOutput `pulumi:"jiraIssueRegex"` - JiraIssueTransitionAutomatic pulumi.BoolPtrOutput `pulumi:"jiraIssueTransitionAutomatic"` + JiraIssueRegex pulumi.StringOutput `pulumi:"jiraIssueRegex"` + // Enable automatic issue transitions. Takes precedence over jira*issue*transition_id if enabled. Defaults to false. This value cannot be imported, and will not perform drift detection if changed outside Terraform. + JiraIssueTransitionAutomatic pulumi.BoolPtrOutput `pulumi:"jiraIssueTransitionAutomatic"` // The ID of a transition that moves issues to a closed state. You can find this number under the JIRA workflow administration (Administration > Issues > Workflows) by selecting View under Operations of the desired workflow of your project. By default, this ID is set to 2. - JiraIssueTransitionId pulumi.StringPtrOutput `pulumi:"jiraIssueTransitionId"` + JiraIssueTransitionId pulumi.StringOutput `pulumi:"jiraIssueTransitionId"` // Enable notifications for merge request events MergeRequestsEvents pulumi.BoolOutput `pulumi:"mergeRequestsEvents"` // The Jira API token, password, or personal access token to be used with Jira. When your authentication method is basic (jira*auth*type is 0), use an API token for Jira Cloud or a password for Jira Data Center or Jira Server. When your authentication method is a Jira personal access token (jira*auth*type is 1), use the personal access token. Password pulumi.StringOutput `pulumi:"password"` // ID of the project you want to activate integration on. Project pulumi.StringOutput `pulumi:"project"` - // The short identifier for your JIRA project. Must be all uppercase. For example, `PROJ`. - // - // Deprecated: `projectKey` is deprecated. Use `projectKeys` instead. - ProjectKey pulumi.StringPtrOutput `pulumi:"projectKey"` // Keys of Jira projects. When issuesEnabled is true, this setting specifies which Jira projects to view issues from in GitLab. ProjectKeys pulumi.StringArrayOutput `pulumi:"projectKeys"` - // Title. + // Title of the integration. Title pulumi.StringOutput `pulumi:"title"` - // Update time. + // The ISO8601 date/time that this integration was last updated at in UTC. UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` // The URL to the JIRA project which is being linked to this GitLab project. For example, https://jira.example.com. Url pulumi.StringOutput `pulumi:"url"` // Indicates whether or not to inherit default settings. Defaults to false. - UseInheritedSettings pulumi.BoolPtrOutput `pulumi:"useInheritedSettings"` + UseInheritedSettings pulumi.BoolOutput `pulumi:"useInheritedSettings"` // The email or username to be used with Jira. For Jira Cloud use an email, for Jira Data Center and Jira Server use a username. Required when using Basic authentication (jira*auth*type is 0). - Username pulumi.StringPtrOutput `pulumi:"username"` + Username pulumi.StringOutput `pulumi:"username"` } // NewIntegrationJira registers a new resource with the given unique name, arguments, and options. @@ -176,7 +165,7 @@ type integrationJiraState struct { CommentOnEventEnabled *bool `pulumi:"commentOnEventEnabled"` // Enable notifications for commit events CommitEvents *bool `pulumi:"commitEvents"` - // Create time. + // The ISO8601 date/time that this integration was activated at in UTC. CreatedAt *string `pulumi:"createdAt"` // Enable viewing Jira issues in GitLab. IssuesEnabled *bool `pulumi:"issuesEnabled"` @@ -185,8 +174,9 @@ type integrationJiraState struct { // Prefix to match Jira issue keys. JiraIssuePrefix *string `pulumi:"jiraIssuePrefix"` // Regular expression to match Jira issue keys. - JiraIssueRegex *string `pulumi:"jiraIssueRegex"` - JiraIssueTransitionAutomatic *bool `pulumi:"jiraIssueTransitionAutomatic"` + JiraIssueRegex *string `pulumi:"jiraIssueRegex"` + // Enable automatic issue transitions. Takes precedence over jira*issue*transition_id if enabled. Defaults to false. This value cannot be imported, and will not perform drift detection if changed outside Terraform. + JiraIssueTransitionAutomatic *bool `pulumi:"jiraIssueTransitionAutomatic"` // The ID of a transition that moves issues to a closed state. You can find this number under the JIRA workflow administration (Administration > Issues > Workflows) by selecting View under Operations of the desired workflow of your project. By default, this ID is set to 2. JiraIssueTransitionId *string `pulumi:"jiraIssueTransitionId"` // Enable notifications for merge request events @@ -195,15 +185,11 @@ type integrationJiraState struct { Password *string `pulumi:"password"` // ID of the project you want to activate integration on. Project *string `pulumi:"project"` - // The short identifier for your JIRA project. Must be all uppercase. For example, `PROJ`. - // - // Deprecated: `projectKey` is deprecated. Use `projectKeys` instead. - ProjectKey *string `pulumi:"projectKey"` // Keys of Jira projects. When issuesEnabled is true, this setting specifies which Jira projects to view issues from in GitLab. ProjectKeys []string `pulumi:"projectKeys"` - // Title. + // Title of the integration. Title *string `pulumi:"title"` - // Update time. + // The ISO8601 date/time that this integration was last updated at in UTC. UpdatedAt *string `pulumi:"updatedAt"` // The URL to the JIRA project which is being linked to this GitLab project. For example, https://jira.example.com. Url *string `pulumi:"url"` @@ -222,7 +208,7 @@ type IntegrationJiraState struct { CommentOnEventEnabled pulumi.BoolPtrInput // Enable notifications for commit events CommitEvents pulumi.BoolPtrInput - // Create time. + // The ISO8601 date/time that this integration was activated at in UTC. CreatedAt pulumi.StringPtrInput // Enable viewing Jira issues in GitLab. IssuesEnabled pulumi.BoolPtrInput @@ -231,7 +217,8 @@ type IntegrationJiraState struct { // Prefix to match Jira issue keys. JiraIssuePrefix pulumi.StringPtrInput // Regular expression to match Jira issue keys. - JiraIssueRegex pulumi.StringPtrInput + JiraIssueRegex pulumi.StringPtrInput + // Enable automatic issue transitions. Takes precedence over jira*issue*transition_id if enabled. Defaults to false. This value cannot be imported, and will not perform drift detection if changed outside Terraform. JiraIssueTransitionAutomatic pulumi.BoolPtrInput // The ID of a transition that moves issues to a closed state. You can find this number under the JIRA workflow administration (Administration > Issues > Workflows) by selecting View under Operations of the desired workflow of your project. By default, this ID is set to 2. JiraIssueTransitionId pulumi.StringPtrInput @@ -241,15 +228,11 @@ type IntegrationJiraState struct { Password pulumi.StringPtrInput // ID of the project you want to activate integration on. Project pulumi.StringPtrInput - // The short identifier for your JIRA project. Must be all uppercase. For example, `PROJ`. - // - // Deprecated: `projectKey` is deprecated. Use `projectKeys` instead. - ProjectKey pulumi.StringPtrInput // Keys of Jira projects. When issuesEnabled is true, this setting specifies which Jira projects to view issues from in GitLab. ProjectKeys pulumi.StringArrayInput - // Title. + // Title of the integration. Title pulumi.StringPtrInput - // Update time. + // The ISO8601 date/time that this integration was last updated at in UTC. UpdatedAt pulumi.StringPtrInput // The URL to the JIRA project which is being linked to this GitLab project. For example, https://jira.example.com. Url pulumi.StringPtrInput @@ -277,8 +260,9 @@ type integrationJiraArgs struct { // Prefix to match Jira issue keys. JiraIssuePrefix *string `pulumi:"jiraIssuePrefix"` // Regular expression to match Jira issue keys. - JiraIssueRegex *string `pulumi:"jiraIssueRegex"` - JiraIssueTransitionAutomatic *bool `pulumi:"jiraIssueTransitionAutomatic"` + JiraIssueRegex *string `pulumi:"jiraIssueRegex"` + // Enable automatic issue transitions. Takes precedence over jira*issue*transition_id if enabled. Defaults to false. This value cannot be imported, and will not perform drift detection if changed outside Terraform. + JiraIssueTransitionAutomatic *bool `pulumi:"jiraIssueTransitionAutomatic"` // The ID of a transition that moves issues to a closed state. You can find this number under the JIRA workflow administration (Administration > Issues > Workflows) by selecting View under Operations of the desired workflow of your project. By default, this ID is set to 2. JiraIssueTransitionId *string `pulumi:"jiraIssueTransitionId"` // Enable notifications for merge request events @@ -287,10 +271,6 @@ type integrationJiraArgs struct { Password string `pulumi:"password"` // ID of the project you want to activate integration on. Project string `pulumi:"project"` - // The short identifier for your JIRA project. Must be all uppercase. For example, `PROJ`. - // - // Deprecated: `projectKey` is deprecated. Use `projectKeys` instead. - ProjectKey *string `pulumi:"projectKey"` // Keys of Jira projects. When issuesEnabled is true, this setting specifies which Jira projects to view issues from in GitLab. ProjectKeys []string `pulumi:"projectKeys"` // The URL to the JIRA project which is being linked to this GitLab project. For example, https://jira.example.com. @@ -316,7 +296,8 @@ type IntegrationJiraArgs struct { // Prefix to match Jira issue keys. JiraIssuePrefix pulumi.StringPtrInput // Regular expression to match Jira issue keys. - JiraIssueRegex pulumi.StringPtrInput + JiraIssueRegex pulumi.StringPtrInput + // Enable automatic issue transitions. Takes precedence over jira*issue*transition_id if enabled. Defaults to false. This value cannot be imported, and will not perform drift detection if changed outside Terraform. JiraIssueTransitionAutomatic pulumi.BoolPtrInput // The ID of a transition that moves issues to a closed state. You can find this number under the JIRA workflow administration (Administration > Issues > Workflows) by selecting View under Operations of the desired workflow of your project. By default, this ID is set to 2. JiraIssueTransitionId pulumi.StringPtrInput @@ -326,10 +307,6 @@ type IntegrationJiraArgs struct { Password pulumi.StringInput // ID of the project you want to activate integration on. Project pulumi.StringInput - // The short identifier for your JIRA project. Must be all uppercase. For example, `PROJ`. - // - // Deprecated: `projectKey` is deprecated. Use `projectKeys` instead. - ProjectKey pulumi.StringPtrInput // Keys of Jira projects. When issuesEnabled is true, this setting specifies which Jira projects to view issues from in GitLab. ProjectKeys pulumi.StringArrayInput // The URL to the JIRA project which is being linked to this GitLab project. For example, https://jira.example.com. @@ -447,38 +424,39 @@ func (o IntegrationJiraOutput) CommitEvents() pulumi.BoolOutput { return o.ApplyT(func(v *IntegrationJira) pulumi.BoolOutput { return v.CommitEvents }).(pulumi.BoolOutput) } -// Create time. +// The ISO8601 date/time that this integration was activated at in UTC. func (o IntegrationJiraOutput) CreatedAt() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationJira) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) } // Enable viewing Jira issues in GitLab. -func (o IntegrationJiraOutput) IssuesEnabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationJira) pulumi.BoolPtrOutput { return v.IssuesEnabled }).(pulumi.BoolPtrOutput) +func (o IntegrationJiraOutput) IssuesEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationJira) pulumi.BoolOutput { return v.IssuesEnabled }).(pulumi.BoolOutput) } // The authentication method to be used with Jira. 0 means Basic Authentication. 1 means Jira personal access token. Defaults to 0. -func (o IntegrationJiraOutput) JiraAuthType() pulumi.IntPtrOutput { - return o.ApplyT(func(v *IntegrationJira) pulumi.IntPtrOutput { return v.JiraAuthType }).(pulumi.IntPtrOutput) +func (o IntegrationJiraOutput) JiraAuthType() pulumi.IntOutput { + return o.ApplyT(func(v *IntegrationJira) pulumi.IntOutput { return v.JiraAuthType }).(pulumi.IntOutput) } // Prefix to match Jira issue keys. -func (o IntegrationJiraOutput) JiraIssuePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationJira) pulumi.StringPtrOutput { return v.JiraIssuePrefix }).(pulumi.StringPtrOutput) +func (o IntegrationJiraOutput) JiraIssuePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationJira) pulumi.StringOutput { return v.JiraIssuePrefix }).(pulumi.StringOutput) } // Regular expression to match Jira issue keys. -func (o IntegrationJiraOutput) JiraIssueRegex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationJira) pulumi.StringPtrOutput { return v.JiraIssueRegex }).(pulumi.StringPtrOutput) +func (o IntegrationJiraOutput) JiraIssueRegex() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationJira) pulumi.StringOutput { return v.JiraIssueRegex }).(pulumi.StringOutput) } +// Enable automatic issue transitions. Takes precedence over jira*issue*transition_id if enabled. Defaults to false. This value cannot be imported, and will not perform drift detection if changed outside Terraform. func (o IntegrationJiraOutput) JiraIssueTransitionAutomatic() pulumi.BoolPtrOutput { return o.ApplyT(func(v *IntegrationJira) pulumi.BoolPtrOutput { return v.JiraIssueTransitionAutomatic }).(pulumi.BoolPtrOutput) } // The ID of a transition that moves issues to a closed state. You can find this number under the JIRA workflow administration (Administration > Issues > Workflows) by selecting View under Operations of the desired workflow of your project. By default, this ID is set to 2. -func (o IntegrationJiraOutput) JiraIssueTransitionId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationJira) pulumi.StringPtrOutput { return v.JiraIssueTransitionId }).(pulumi.StringPtrOutput) +func (o IntegrationJiraOutput) JiraIssueTransitionId() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationJira) pulumi.StringOutput { return v.JiraIssueTransitionId }).(pulumi.StringOutput) } // Enable notifications for merge request events @@ -496,24 +474,17 @@ func (o IntegrationJiraOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationJira) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) } -// The short identifier for your JIRA project. Must be all uppercase. For example, `PROJ`. -// -// Deprecated: `projectKey` is deprecated. Use `projectKeys` instead. -func (o IntegrationJiraOutput) ProjectKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationJira) pulumi.StringPtrOutput { return v.ProjectKey }).(pulumi.StringPtrOutput) -} - // Keys of Jira projects. When issuesEnabled is true, this setting specifies which Jira projects to view issues from in GitLab. func (o IntegrationJiraOutput) ProjectKeys() pulumi.StringArrayOutput { return o.ApplyT(func(v *IntegrationJira) pulumi.StringArrayOutput { return v.ProjectKeys }).(pulumi.StringArrayOutput) } -// Title. +// Title of the integration. func (o IntegrationJiraOutput) Title() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationJira) pulumi.StringOutput { return v.Title }).(pulumi.StringOutput) } -// Update time. +// The ISO8601 date/time that this integration was last updated at in UTC. func (o IntegrationJiraOutput) UpdatedAt() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationJira) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) } @@ -524,13 +495,13 @@ func (o IntegrationJiraOutput) Url() pulumi.StringOutput { } // Indicates whether or not to inherit default settings. Defaults to false. -func (o IntegrationJiraOutput) UseInheritedSettings() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationJira) pulumi.BoolPtrOutput { return v.UseInheritedSettings }).(pulumi.BoolPtrOutput) +func (o IntegrationJiraOutput) UseInheritedSettings() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationJira) pulumi.BoolOutput { return v.UseInheritedSettings }).(pulumi.BoolOutput) } // The email or username to be used with Jira. For Jira Cloud use an email, for Jira Data Center and Jira Server use a username. Required when using Basic authentication (jira*auth*type is 0). -func (o IntegrationJiraOutput) Username() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationJira) pulumi.StringPtrOutput { return v.Username }).(pulumi.StringPtrOutput) +func (o IntegrationJiraOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationJira) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) } type IntegrationJiraArrayOutput struct{ *pulumi.OutputState } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationMattermost.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationMattermost.go similarity index 87% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationMattermost.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationMattermost.go index 6dd76eeda..06e2c27b0 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationMattermost.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationMattermost.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `IntegrationMattermost` resource allows to manage the lifecycle of a project integration with Mattermost. +// The `IntegrationMattermost` resource manages the lifecycle of a project integration with Mattermost. +// +// > This resource is deprecated and will be removed in 19.0. Use `ProjectIntegrationMattermost` instead. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#mattermost-notifications) // @@ -23,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -56,21 +58,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_integration_mattermost`. For example: -// -// terraform -// -// import { -// -// to = gitlab_integration_mattermost.example +// Starting in Terraform v1.5.0, you can use an import block to import `IntegrationMattermost`. For example: // -// id = "see CLI command below for ID" +// Importing using the CLI is supported with the following syntax: // -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import a gitlab_integration_mattermost.mattermost state using the project ID, e.g. +// You can import a gitlab_integration_mattermost.mattermost state using the project ID, for example: // // ```sh // $ pulumi import gitlab:index/integrationMattermost:IntegrationMattermost mattermost 1 @@ -78,50 +70,50 @@ import ( type IntegrationMattermost struct { pulumi.CustomResourceState - // Branches to send notifications for. Valid options are "all", "default", "protected", and "default*and*protected". + // Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. BranchesToBeNotified pulumi.StringOutput `pulumi:"branchesToBeNotified"` // The name of the channel to receive confidential issue events notifications. - ConfidentialIssueChannel pulumi.StringPtrOutput `pulumi:"confidentialIssueChannel"` + ConfidentialIssueChannel pulumi.StringOutput `pulumi:"confidentialIssueChannel"` // Enable notifications for confidential issues events. ConfidentialIssuesEvents pulumi.BoolOutput `pulumi:"confidentialIssuesEvents"` // The name of the channel to receive confidential note events notifications. - ConfidentialNoteChannel pulumi.StringPtrOutput `pulumi:"confidentialNoteChannel"` + ConfidentialNoteChannel pulumi.StringOutput `pulumi:"confidentialNoteChannel"` // Enable notifications for confidential note events. ConfidentialNoteEvents pulumi.BoolOutput `pulumi:"confidentialNoteEvents"` // The name of the channel to receive issue events notifications. - IssueChannel pulumi.StringPtrOutput `pulumi:"issueChannel"` + IssueChannel pulumi.StringOutput `pulumi:"issueChannel"` // Enable notifications for issues events. IssuesEvents pulumi.BoolOutput `pulumi:"issuesEvents"` // The name of the channel to receive merge request events notifications. - MergeRequestChannel pulumi.StringPtrOutput `pulumi:"mergeRequestChannel"` + MergeRequestChannel pulumi.StringOutput `pulumi:"mergeRequestChannel"` // Enable notifications for merge requests events. MergeRequestsEvents pulumi.BoolOutput `pulumi:"mergeRequestsEvents"` // The name of the channel to receive note events notifications. - NoteChannel pulumi.StringPtrOutput `pulumi:"noteChannel"` + NoteChannel pulumi.StringOutput `pulumi:"noteChannel"` // Enable notifications for note events. NoteEvents pulumi.BoolOutput `pulumi:"noteEvents"` // Send notifications for broken pipelines. NotifyOnlyBrokenPipelines pulumi.BoolOutput `pulumi:"notifyOnlyBrokenPipelines"` // The name of the channel to receive pipeline events notifications. - PipelineChannel pulumi.StringPtrOutput `pulumi:"pipelineChannel"` + PipelineChannel pulumi.StringOutput `pulumi:"pipelineChannel"` // Enable notifications for pipeline events. PipelineEvents pulumi.BoolOutput `pulumi:"pipelineEvents"` // ID of the project you want to activate integration on. Project pulumi.StringOutput `pulumi:"project"` // The name of the channel to receive push events notifications. - PushChannel pulumi.StringPtrOutput `pulumi:"pushChannel"` + PushChannel pulumi.StringOutput `pulumi:"pushChannel"` // Enable notifications for push events. PushEvents pulumi.BoolOutput `pulumi:"pushEvents"` // The name of the channel to receive tag push events notifications. - TagPushChannel pulumi.StringPtrOutput `pulumi:"tagPushChannel"` + TagPushChannel pulumi.StringOutput `pulumi:"tagPushChannel"` // Enable notifications for tag push events. TagPushEvents pulumi.BoolOutput `pulumi:"tagPushEvents"` // Username to use. - Username pulumi.StringPtrOutput `pulumi:"username"` + Username pulumi.StringOutput `pulumi:"username"` // Webhook URL (Example, https://mattermost.yourdomain.com/hooks/...). This value cannot be imported. Webhook pulumi.StringOutput `pulumi:"webhook"` // The name of the channel to receive wiki page events notifications. - WikiPageChannel pulumi.StringPtrOutput `pulumi:"wikiPageChannel"` + WikiPageChannel pulumi.StringOutput `pulumi:"wikiPageChannel"` // Enable notifications for wiki page events. WikiPageEvents pulumi.BoolOutput `pulumi:"wikiPageEvents"` } @@ -139,6 +131,13 @@ func NewIntegrationMattermost(ctx *pulumi.Context, if args.Webhook == nil { return nil, errors.New("invalid value for required argument 'Webhook'") } + if args.Webhook != nil { + args.Webhook = pulumi.ToSecret(args.Webhook).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "webhook", + }) + opts = append(opts, secrets) opts = internal.PkgResourceDefaultOpts(opts) var resource IntegrationMattermost err := ctx.RegisterResource("gitlab:index/integrationMattermost:IntegrationMattermost", name, args, &resource, opts...) @@ -162,7 +161,7 @@ func GetIntegrationMattermost(ctx *pulumi.Context, // Input properties used for looking up and filtering IntegrationMattermost resources. type integrationMattermostState struct { - // Branches to send notifications for. Valid options are "all", "default", "protected", and "default*and*protected". + // Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` // The name of the channel to receive confidential issue events notifications. ConfidentialIssueChannel *string `pulumi:"confidentialIssueChannel"` @@ -211,7 +210,7 @@ type integrationMattermostState struct { } type IntegrationMattermostState struct { - // Branches to send notifications for. Valid options are "all", "default", "protected", and "default*and*protected". + // Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. BranchesToBeNotified pulumi.StringPtrInput // The name of the channel to receive confidential issue events notifications. ConfidentialIssueChannel pulumi.StringPtrInput @@ -264,7 +263,7 @@ func (IntegrationMattermostState) ElementType() reflect.Type { } type integrationMattermostArgs struct { - // Branches to send notifications for. Valid options are "all", "default", "protected", and "default*and*protected". + // Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` // The name of the channel to receive confidential issue events notifications. ConfidentialIssueChannel *string `pulumi:"confidentialIssueChannel"` @@ -314,7 +313,7 @@ type integrationMattermostArgs struct { // The set of arguments for constructing a IntegrationMattermost resource. type IntegrationMattermostArgs struct { - // Branches to send notifications for. Valid options are "all", "default", "protected", and "default*and*protected". + // Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. BranchesToBeNotified pulumi.StringPtrInput // The name of the channel to receive confidential issue events notifications. ConfidentialIssueChannel pulumi.StringPtrInput @@ -449,14 +448,14 @@ func (o IntegrationMattermostOutput) ToIntegrationMattermostOutputWithContext(ct return o } -// Branches to send notifications for. Valid options are "all", "default", "protected", and "default*and*protected". +// Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. func (o IntegrationMattermostOutput) BranchesToBeNotified() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringOutput { return v.BranchesToBeNotified }).(pulumi.StringOutput) } // The name of the channel to receive confidential issue events notifications. -func (o IntegrationMattermostOutput) ConfidentialIssueChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringPtrOutput { return v.ConfidentialIssueChannel }).(pulumi.StringPtrOutput) +func (o IntegrationMattermostOutput) ConfidentialIssueChannel() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringOutput { return v.ConfidentialIssueChannel }).(pulumi.StringOutput) } // Enable notifications for confidential issues events. @@ -465,8 +464,8 @@ func (o IntegrationMattermostOutput) ConfidentialIssuesEvents() pulumi.BoolOutpu } // The name of the channel to receive confidential note events notifications. -func (o IntegrationMattermostOutput) ConfidentialNoteChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringPtrOutput { return v.ConfidentialNoteChannel }).(pulumi.StringPtrOutput) +func (o IntegrationMattermostOutput) ConfidentialNoteChannel() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringOutput { return v.ConfidentialNoteChannel }).(pulumi.StringOutput) } // Enable notifications for confidential note events. @@ -475,8 +474,8 @@ func (o IntegrationMattermostOutput) ConfidentialNoteEvents() pulumi.BoolOutput } // The name of the channel to receive issue events notifications. -func (o IntegrationMattermostOutput) IssueChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringPtrOutput { return v.IssueChannel }).(pulumi.StringPtrOutput) +func (o IntegrationMattermostOutput) IssueChannel() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringOutput { return v.IssueChannel }).(pulumi.StringOutput) } // Enable notifications for issues events. @@ -485,8 +484,8 @@ func (o IntegrationMattermostOutput) IssuesEvents() pulumi.BoolOutput { } // The name of the channel to receive merge request events notifications. -func (o IntegrationMattermostOutput) MergeRequestChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringPtrOutput { return v.MergeRequestChannel }).(pulumi.StringPtrOutput) +func (o IntegrationMattermostOutput) MergeRequestChannel() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringOutput { return v.MergeRequestChannel }).(pulumi.StringOutput) } // Enable notifications for merge requests events. @@ -495,8 +494,8 @@ func (o IntegrationMattermostOutput) MergeRequestsEvents() pulumi.BoolOutput { } // The name of the channel to receive note events notifications. -func (o IntegrationMattermostOutput) NoteChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringPtrOutput { return v.NoteChannel }).(pulumi.StringPtrOutput) +func (o IntegrationMattermostOutput) NoteChannel() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringOutput { return v.NoteChannel }).(pulumi.StringOutput) } // Enable notifications for note events. @@ -510,8 +509,8 @@ func (o IntegrationMattermostOutput) NotifyOnlyBrokenPipelines() pulumi.BoolOutp } // The name of the channel to receive pipeline events notifications. -func (o IntegrationMattermostOutput) PipelineChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringPtrOutput { return v.PipelineChannel }).(pulumi.StringPtrOutput) +func (o IntegrationMattermostOutput) PipelineChannel() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringOutput { return v.PipelineChannel }).(pulumi.StringOutput) } // Enable notifications for pipeline events. @@ -525,8 +524,8 @@ func (o IntegrationMattermostOutput) Project() pulumi.StringOutput { } // The name of the channel to receive push events notifications. -func (o IntegrationMattermostOutput) PushChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringPtrOutput { return v.PushChannel }).(pulumi.StringPtrOutput) +func (o IntegrationMattermostOutput) PushChannel() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringOutput { return v.PushChannel }).(pulumi.StringOutput) } // Enable notifications for push events. @@ -535,8 +534,8 @@ func (o IntegrationMattermostOutput) PushEvents() pulumi.BoolOutput { } // The name of the channel to receive tag push events notifications. -func (o IntegrationMattermostOutput) TagPushChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringPtrOutput { return v.TagPushChannel }).(pulumi.StringPtrOutput) +func (o IntegrationMattermostOutput) TagPushChannel() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringOutput { return v.TagPushChannel }).(pulumi.StringOutput) } // Enable notifications for tag push events. @@ -545,8 +544,8 @@ func (o IntegrationMattermostOutput) TagPushEvents() pulumi.BoolOutput { } // Username to use. -func (o IntegrationMattermostOutput) Username() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringPtrOutput { return v.Username }).(pulumi.StringPtrOutput) +func (o IntegrationMattermostOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) } // Webhook URL (Example, https://mattermost.yourdomain.com/hooks/...). This value cannot be imported. @@ -555,8 +554,8 @@ func (o IntegrationMattermostOutput) Webhook() pulumi.StringOutput { } // The name of the channel to receive wiki page events notifications. -func (o IntegrationMattermostOutput) WikiPageChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringPtrOutput { return v.WikiPageChannel }).(pulumi.StringPtrOutput) +func (o IntegrationMattermostOutput) WikiPageChannel() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationMattermost) pulumi.StringOutput { return v.WikiPageChannel }).(pulumi.StringOutput) } // Enable notifications for wiki page events. diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationMicrosoftTeams.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationMicrosoftTeams.go similarity index 66% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationMicrosoftTeams.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationMicrosoftTeams.go index f62a69128..10477363a 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationMicrosoftTeams.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationMicrosoftTeams.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `IntegrationMicrosoftTeams` resource allows to manage the lifecycle of a project integration with Microsoft Teams. +// The `IntegrationMicrosoftTeams` resource manages the lifecycle of a project integration with Microsoft Teams. +// +// > This resource is deprecated and will be removed in 19.0. Use `ProjectIntegrationMicrosoftTeams` instead. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#microsoft-teams-notifications) // @@ -23,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -54,21 +56,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_integration_microsoft_teams`. For example: -// -// terraform -// -// import { -// -// to = gitlab_integration_microsoft_teams.example +// Starting in Terraform v1.5.0, you can use an import block to import `IntegrationMicrosoftTeams`. For example: // -// id = "see CLI command below for ID" +// Importing using the CLI is supported with the following syntax: // -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import a gitlab_integration_microsoft_teams state using the project ID, e.g. +// You can import a IntegrationMicrosoftTeams state using the project ID, for example: // // ```sh // $ pulumi import gitlab:index/integrationMicrosoftTeams:IntegrationMicrosoftTeams teams 1 @@ -78,36 +70,36 @@ type IntegrationMicrosoftTeams struct { // Whether the integration is active. Active pulumi.BoolOutput `pulumi:"active"` - // Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default*and*protected”. The default value is “default” - BranchesToBeNotified pulumi.StringPtrOutput `pulumi:"branchesToBeNotified"` - // Enable notifications for confidential issue events - ConfidentialIssuesEvents pulumi.BoolPtrOutput `pulumi:"confidentialIssuesEvents"` - // Enable notifications for confidential note events - ConfidentialNoteEvents pulumi.BoolPtrOutput `pulumi:"confidentialNoteEvents"` - // Create time. + // Branches to send notifications for. Valid values are: `all`, `default`, `protected`, `defaultAndProtected` + BranchesToBeNotified pulumi.StringOutput `pulumi:"branchesToBeNotified"` + // Enable notifications for confidential issue events. + ConfidentialIssuesEvents pulumi.BoolOutput `pulumi:"confidentialIssuesEvents"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolOutput `pulumi:"confidentialNoteEvents"` + // The ISO8601 date/time that this integration was activated at in UTC. CreatedAt pulumi.StringOutput `pulumi:"createdAt"` - // Enable notifications for issue events - IssuesEvents pulumi.BoolPtrOutput `pulumi:"issuesEvents"` - // Enable notifications for merge request events - MergeRequestsEvents pulumi.BoolPtrOutput `pulumi:"mergeRequestsEvents"` - // Enable notifications for note events - NoteEvents pulumi.BoolPtrOutput `pulumi:"noteEvents"` - // Send notifications for broken pipelines - NotifyOnlyBrokenPipelines pulumi.BoolPtrOutput `pulumi:"notifyOnlyBrokenPipelines"` - // Enable notifications for pipeline events - PipelineEvents pulumi.BoolPtrOutput `pulumi:"pipelineEvents"` - // ID of the project you want to activate integration on. + // Enable notifications for issue events. + IssuesEvents pulumi.BoolOutput `pulumi:"issuesEvents"` + // Enable notifications for merge request events. + MergeRequestsEvents pulumi.BoolOutput `pulumi:"mergeRequestsEvents"` + // Enable notifications for note events. + NoteEvents pulumi.BoolOutput `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolOutput `pulumi:"notifyOnlyBrokenPipelines"` + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolOutput `pulumi:"pipelineEvents"` + // ID of the project you want to activate the integration on. Project pulumi.StringOutput `pulumi:"project"` - // Enable notifications for push events - PushEvents pulumi.BoolPtrOutput `pulumi:"pushEvents"` - // Enable notifications for tag push events - TagPushEvents pulumi.BoolPtrOutput `pulumi:"tagPushEvents"` - // Update time. + // Enable notifications for push events. + PushEvents pulumi.BoolOutput `pulumi:"pushEvents"` + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolOutput `pulumi:"tagPushEvents"` + // The ISO8601 date/time that this integration was last updated at in UTC. UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` // The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. Webhook pulumi.StringOutput `pulumi:"webhook"` - // Enable notifications for wiki page events - WikiPageEvents pulumi.BoolPtrOutput `pulumi:"wikiPageEvents"` + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolOutput `pulumi:"wikiPageEvents"` } // NewIntegrationMicrosoftTeams registers a new resource with the given unique name, arguments, and options. @@ -123,6 +115,13 @@ func NewIntegrationMicrosoftTeams(ctx *pulumi.Context, if args.Webhook == nil { return nil, errors.New("invalid value for required argument 'Webhook'") } + if args.Webhook != nil { + args.Webhook = pulumi.ToSecret(args.Webhook).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "webhook", + }) + opts = append(opts, secrets) opts = internal.PkgResourceDefaultOpts(opts) var resource IntegrationMicrosoftTeams err := ctx.RegisterResource("gitlab:index/integrationMicrosoftTeams:IntegrationMicrosoftTeams", name, args, &resource, opts...) @@ -148,70 +147,70 @@ func GetIntegrationMicrosoftTeams(ctx *pulumi.Context, type integrationMicrosoftTeamsState struct { // Whether the integration is active. Active *bool `pulumi:"active"` - // Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default*and*protected”. The default value is “default” + // Branches to send notifications for. Valid values are: `all`, `default`, `protected`, `defaultAndProtected` BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` - // Enable notifications for confidential issue events + // Enable notifications for confidential issue events. ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` - // Enable notifications for confidential note events + // Enable notifications for confidential note events. ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` - // Create time. + // The ISO8601 date/time that this integration was activated at in UTC. CreatedAt *string `pulumi:"createdAt"` - // Enable notifications for issue events + // Enable notifications for issue events. IssuesEvents *bool `pulumi:"issuesEvents"` - // Enable notifications for merge request events + // Enable notifications for merge request events. MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` - // Enable notifications for note events + // Enable notifications for note events. NoteEvents *bool `pulumi:"noteEvents"` - // Send notifications for broken pipelines + // Send notifications for broken pipelines. NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` - // Enable notifications for pipeline events + // Enable notifications for pipeline events. PipelineEvents *bool `pulumi:"pipelineEvents"` - // ID of the project you want to activate integration on. + // ID of the project you want to activate the integration on. Project *string `pulumi:"project"` - // Enable notifications for push events + // Enable notifications for push events. PushEvents *bool `pulumi:"pushEvents"` - // Enable notifications for tag push events + // Enable notifications for tag push events. TagPushEvents *bool `pulumi:"tagPushEvents"` - // Update time. + // The ISO8601 date/time that this integration was last updated at in UTC. UpdatedAt *string `pulumi:"updatedAt"` // The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. Webhook *string `pulumi:"webhook"` - // Enable notifications for wiki page events + // Enable notifications for wiki page events. WikiPageEvents *bool `pulumi:"wikiPageEvents"` } type IntegrationMicrosoftTeamsState struct { // Whether the integration is active. Active pulumi.BoolPtrInput - // Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default*and*protected”. The default value is “default” + // Branches to send notifications for. Valid values are: `all`, `default`, `protected`, `defaultAndProtected` BranchesToBeNotified pulumi.StringPtrInput - // Enable notifications for confidential issue events + // Enable notifications for confidential issue events. ConfidentialIssuesEvents pulumi.BoolPtrInput - // Enable notifications for confidential note events + // Enable notifications for confidential note events. ConfidentialNoteEvents pulumi.BoolPtrInput - // Create time. + // The ISO8601 date/time that this integration was activated at in UTC. CreatedAt pulumi.StringPtrInput - // Enable notifications for issue events + // Enable notifications for issue events. IssuesEvents pulumi.BoolPtrInput - // Enable notifications for merge request events + // Enable notifications for merge request events. MergeRequestsEvents pulumi.BoolPtrInput - // Enable notifications for note events + // Enable notifications for note events. NoteEvents pulumi.BoolPtrInput - // Send notifications for broken pipelines + // Send notifications for broken pipelines. NotifyOnlyBrokenPipelines pulumi.BoolPtrInput - // Enable notifications for pipeline events + // Enable notifications for pipeline events. PipelineEvents pulumi.BoolPtrInput - // ID of the project you want to activate integration on. + // ID of the project you want to activate the integration on. Project pulumi.StringPtrInput - // Enable notifications for push events + // Enable notifications for push events. PushEvents pulumi.BoolPtrInput - // Enable notifications for tag push events + // Enable notifications for tag push events. TagPushEvents pulumi.BoolPtrInput - // Update time. + // The ISO8601 date/time that this integration was last updated at in UTC. UpdatedAt pulumi.StringPtrInput // The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. Webhook pulumi.StringPtrInput - // Enable notifications for wiki page events + // Enable notifications for wiki page events. WikiPageEvents pulumi.BoolPtrInput } @@ -220,61 +219,61 @@ func (IntegrationMicrosoftTeamsState) ElementType() reflect.Type { } type integrationMicrosoftTeamsArgs struct { - // Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default*and*protected”. The default value is “default” + // Branches to send notifications for. Valid values are: `all`, `default`, `protected`, `defaultAndProtected` BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` - // Enable notifications for confidential issue events + // Enable notifications for confidential issue events. ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` - // Enable notifications for confidential note events + // Enable notifications for confidential note events. ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` - // Enable notifications for issue events + // Enable notifications for issue events. IssuesEvents *bool `pulumi:"issuesEvents"` - // Enable notifications for merge request events + // Enable notifications for merge request events. MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` - // Enable notifications for note events + // Enable notifications for note events. NoteEvents *bool `pulumi:"noteEvents"` - // Send notifications for broken pipelines + // Send notifications for broken pipelines. NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` - // Enable notifications for pipeline events + // Enable notifications for pipeline events. PipelineEvents *bool `pulumi:"pipelineEvents"` - // ID of the project you want to activate integration on. + // ID of the project you want to activate the integration on. Project string `pulumi:"project"` - // Enable notifications for push events + // Enable notifications for push events. PushEvents *bool `pulumi:"pushEvents"` - // Enable notifications for tag push events + // Enable notifications for tag push events. TagPushEvents *bool `pulumi:"tagPushEvents"` // The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. Webhook string `pulumi:"webhook"` - // Enable notifications for wiki page events + // Enable notifications for wiki page events. WikiPageEvents *bool `pulumi:"wikiPageEvents"` } // The set of arguments for constructing a IntegrationMicrosoftTeams resource. type IntegrationMicrosoftTeamsArgs struct { - // Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default*and*protected”. The default value is “default” + // Branches to send notifications for. Valid values are: `all`, `default`, `protected`, `defaultAndProtected` BranchesToBeNotified pulumi.StringPtrInput - // Enable notifications for confidential issue events + // Enable notifications for confidential issue events. ConfidentialIssuesEvents pulumi.BoolPtrInput - // Enable notifications for confidential note events + // Enable notifications for confidential note events. ConfidentialNoteEvents pulumi.BoolPtrInput - // Enable notifications for issue events + // Enable notifications for issue events. IssuesEvents pulumi.BoolPtrInput - // Enable notifications for merge request events + // Enable notifications for merge request events. MergeRequestsEvents pulumi.BoolPtrInput - // Enable notifications for note events + // Enable notifications for note events. NoteEvents pulumi.BoolPtrInput - // Send notifications for broken pipelines + // Send notifications for broken pipelines. NotifyOnlyBrokenPipelines pulumi.BoolPtrInput - // Enable notifications for pipeline events + // Enable notifications for pipeline events. PipelineEvents pulumi.BoolPtrInput - // ID of the project you want to activate integration on. + // ID of the project you want to activate the integration on. Project pulumi.StringInput - // Enable notifications for push events + // Enable notifications for push events. PushEvents pulumi.BoolPtrInput - // Enable notifications for tag push events + // Enable notifications for tag push events. TagPushEvents pulumi.BoolPtrInput // The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. Webhook pulumi.StringInput - // Enable notifications for wiki page events + // Enable notifications for wiki page events. WikiPageEvents pulumi.BoolPtrInput } @@ -370,67 +369,67 @@ func (o IntegrationMicrosoftTeamsOutput) Active() pulumi.BoolOutput { return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) } -// Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default*and*protected”. The default value is “default” -func (o IntegrationMicrosoftTeamsOutput) BranchesToBeNotified() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.StringPtrOutput { return v.BranchesToBeNotified }).(pulumi.StringPtrOutput) +// Branches to send notifications for. Valid values are: `all`, `default`, `protected`, `defaultAndProtected` +func (o IntegrationMicrosoftTeamsOutput) BranchesToBeNotified() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.StringOutput { return v.BranchesToBeNotified }).(pulumi.StringOutput) } -// Enable notifications for confidential issue events -func (o IntegrationMicrosoftTeamsOutput) ConfidentialIssuesEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.ConfidentialIssuesEvents }).(pulumi.BoolPtrOutput) +// Enable notifications for confidential issue events. +func (o IntegrationMicrosoftTeamsOutput) ConfidentialIssuesEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolOutput { return v.ConfidentialIssuesEvents }).(pulumi.BoolOutput) } -// Enable notifications for confidential note events -func (o IntegrationMicrosoftTeamsOutput) ConfidentialNoteEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.ConfidentialNoteEvents }).(pulumi.BoolPtrOutput) +// Enable notifications for confidential note events. +func (o IntegrationMicrosoftTeamsOutput) ConfidentialNoteEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolOutput { return v.ConfidentialNoteEvents }).(pulumi.BoolOutput) } -// Create time. +// The ISO8601 date/time that this integration was activated at in UTC. func (o IntegrationMicrosoftTeamsOutput) CreatedAt() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) } -// Enable notifications for issue events -func (o IntegrationMicrosoftTeamsOutput) IssuesEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.IssuesEvents }).(pulumi.BoolPtrOutput) +// Enable notifications for issue events. +func (o IntegrationMicrosoftTeamsOutput) IssuesEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolOutput { return v.IssuesEvents }).(pulumi.BoolOutput) } -// Enable notifications for merge request events -func (o IntegrationMicrosoftTeamsOutput) MergeRequestsEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.MergeRequestsEvents }).(pulumi.BoolPtrOutput) +// Enable notifications for merge request events. +func (o IntegrationMicrosoftTeamsOutput) MergeRequestsEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolOutput { return v.MergeRequestsEvents }).(pulumi.BoolOutput) } -// Enable notifications for note events -func (o IntegrationMicrosoftTeamsOutput) NoteEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.NoteEvents }).(pulumi.BoolPtrOutput) +// Enable notifications for note events. +func (o IntegrationMicrosoftTeamsOutput) NoteEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolOutput { return v.NoteEvents }).(pulumi.BoolOutput) } -// Send notifications for broken pipelines -func (o IntegrationMicrosoftTeamsOutput) NotifyOnlyBrokenPipelines() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.NotifyOnlyBrokenPipelines }).(pulumi.BoolPtrOutput) +// Send notifications for broken pipelines. +func (o IntegrationMicrosoftTeamsOutput) NotifyOnlyBrokenPipelines() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolOutput { return v.NotifyOnlyBrokenPipelines }).(pulumi.BoolOutput) } -// Enable notifications for pipeline events -func (o IntegrationMicrosoftTeamsOutput) PipelineEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.PipelineEvents }).(pulumi.BoolPtrOutput) +// Enable notifications for pipeline events. +func (o IntegrationMicrosoftTeamsOutput) PipelineEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolOutput { return v.PipelineEvents }).(pulumi.BoolOutput) } -// ID of the project you want to activate integration on. +// ID of the project you want to activate the integration on. func (o IntegrationMicrosoftTeamsOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) } -// Enable notifications for push events -func (o IntegrationMicrosoftTeamsOutput) PushEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.PushEvents }).(pulumi.BoolPtrOutput) +// Enable notifications for push events. +func (o IntegrationMicrosoftTeamsOutput) PushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolOutput { return v.PushEvents }).(pulumi.BoolOutput) } -// Enable notifications for tag push events -func (o IntegrationMicrosoftTeamsOutput) TagPushEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.TagPushEvents }).(pulumi.BoolPtrOutput) +// Enable notifications for tag push events. +func (o IntegrationMicrosoftTeamsOutput) TagPushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolOutput { return v.TagPushEvents }).(pulumi.BoolOutput) } -// Update time. +// The ISO8601 date/time that this integration was last updated at in UTC. func (o IntegrationMicrosoftTeamsOutput) UpdatedAt() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) } @@ -440,9 +439,9 @@ func (o IntegrationMicrosoftTeamsOutput) Webhook() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.StringOutput { return v.Webhook }).(pulumi.StringOutput) } -// Enable notifications for wiki page events -func (o IntegrationMicrosoftTeamsOutput) WikiPageEvents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolPtrOutput { return v.WikiPageEvents }).(pulumi.BoolPtrOutput) +// Enable notifications for wiki page events. +func (o IntegrationMicrosoftTeamsOutput) WikiPageEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationMicrosoftTeams) pulumi.BoolOutput { return v.WikiPageEvents }).(pulumi.BoolOutput) } type IntegrationMicrosoftTeamsArrayOutput struct{ *pulumi.OutputState } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationPipelinesEmail.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationPipelinesEmail.go similarity index 86% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationPipelinesEmail.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationPipelinesEmail.go index 4f817d996..75282b7a0 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationPipelinesEmail.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationPipelinesEmail.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `IntegrationPipelinesEmail` resource allows to manage the lifecycle of a project integration with Pipeline Emails Service. +// The `IntegrationPipelinesEmail` resource manages the lifecycle of a project integration with the Pipeline Emails Service. +// +// > This resource is deprecated and will be removed in 19.0. Use `ProjectIntegrationPipelinesEmail` instead. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#pipeline-status-emails) // @@ -23,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -57,21 +59,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_integration_pipelines_email`. For example: -// -// terraform -// -// import { -// -// to = gitlab_integration_pipelines_email.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `IntegrationPipelinesEmail`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// You can import a gitlab_integration_pipelines_email state using the project ID, e.g. +// You can import a IntegrationPipelinesEmail state using the project ID, for example: // // ```sh // $ pulumi import gitlab:index/integrationPipelinesEmail:IntegrationPipelinesEmail email 1 @@ -79,13 +71,13 @@ import ( type IntegrationPipelinesEmail struct { pulumi.CustomResourceState - // Branches to send notifications for. Valid options are `all`, `default`, `protected`, and `defaultAndProtected`. Default is `default` - BranchesToBeNotified pulumi.StringPtrOutput `pulumi:"branchesToBeNotified"` + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Default is `default`. + BranchesToBeNotified pulumi.StringOutput `pulumi:"branchesToBeNotified"` // Notify only broken pipelines. Default is true. - NotifyOnlyBrokenPipelines pulumi.BoolPtrOutput `pulumi:"notifyOnlyBrokenPipelines"` + NotifyOnlyBrokenPipelines pulumi.BoolOutput `pulumi:"notifyOnlyBrokenPipelines"` // ID of the project you want to activate integration on. Project pulumi.StringOutput `pulumi:"project"` - // ) email addresses where notifications are sent. + // Email addresses where notifications are sent. Recipients pulumi.StringArrayOutput `pulumi:"recipients"` } @@ -125,24 +117,24 @@ func GetIntegrationPipelinesEmail(ctx *pulumi.Context, // Input properties used for looking up and filtering IntegrationPipelinesEmail resources. type integrationPipelinesEmailState struct { - // Branches to send notifications for. Valid options are `all`, `default`, `protected`, and `defaultAndProtected`. Default is `default` + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Default is `default`. BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` // Notify only broken pipelines. Default is true. NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` // ID of the project you want to activate integration on. Project *string `pulumi:"project"` - // ) email addresses where notifications are sent. + // Email addresses where notifications are sent. Recipients []string `pulumi:"recipients"` } type IntegrationPipelinesEmailState struct { - // Branches to send notifications for. Valid options are `all`, `default`, `protected`, and `defaultAndProtected`. Default is `default` + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Default is `default`. BranchesToBeNotified pulumi.StringPtrInput // Notify only broken pipelines. Default is true. NotifyOnlyBrokenPipelines pulumi.BoolPtrInput // ID of the project you want to activate integration on. Project pulumi.StringPtrInput - // ) email addresses where notifications are sent. + // Email addresses where notifications are sent. Recipients pulumi.StringArrayInput } @@ -151,25 +143,25 @@ func (IntegrationPipelinesEmailState) ElementType() reflect.Type { } type integrationPipelinesEmailArgs struct { - // Branches to send notifications for. Valid options are `all`, `default`, `protected`, and `defaultAndProtected`. Default is `default` + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Default is `default`. BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` // Notify only broken pipelines. Default is true. NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` // ID of the project you want to activate integration on. Project string `pulumi:"project"` - // ) email addresses where notifications are sent. + // Email addresses where notifications are sent. Recipients []string `pulumi:"recipients"` } // The set of arguments for constructing a IntegrationPipelinesEmail resource. type IntegrationPipelinesEmailArgs struct { - // Branches to send notifications for. Valid options are `all`, `default`, `protected`, and `defaultAndProtected`. Default is `default` + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Default is `default`. BranchesToBeNotified pulumi.StringPtrInput // Notify only broken pipelines. Default is true. NotifyOnlyBrokenPipelines pulumi.BoolPtrInput // ID of the project you want to activate integration on. Project pulumi.StringInput - // ) email addresses where notifications are sent. + // Email addresses where notifications are sent. Recipients pulumi.StringArrayInput } @@ -260,14 +252,14 @@ func (o IntegrationPipelinesEmailOutput) ToIntegrationPipelinesEmailOutputWithCo return o } -// Branches to send notifications for. Valid options are `all`, `default`, `protected`, and `defaultAndProtected`. Default is `default` -func (o IntegrationPipelinesEmailOutput) BranchesToBeNotified() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IntegrationPipelinesEmail) pulumi.StringPtrOutput { return v.BranchesToBeNotified }).(pulumi.StringPtrOutput) +// Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Default is `default`. +func (o IntegrationPipelinesEmailOutput) BranchesToBeNotified() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationPipelinesEmail) pulumi.StringOutput { return v.BranchesToBeNotified }).(pulumi.StringOutput) } // Notify only broken pipelines. Default is true. -func (o IntegrationPipelinesEmailOutput) NotifyOnlyBrokenPipelines() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *IntegrationPipelinesEmail) pulumi.BoolPtrOutput { return v.NotifyOnlyBrokenPipelines }).(pulumi.BoolPtrOutput) +func (o IntegrationPipelinesEmailOutput) NotifyOnlyBrokenPipelines() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationPipelinesEmail) pulumi.BoolOutput { return v.NotifyOnlyBrokenPipelines }).(pulumi.BoolOutput) } // ID of the project you want to activate integration on. @@ -275,7 +267,7 @@ func (o IntegrationPipelinesEmailOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationPipelinesEmail) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) } -// ) email addresses where notifications are sent. +// Email addresses where notifications are sent. func (o IntegrationPipelinesEmailOutput) Recipients() pulumi.StringArrayOutput { return o.ApplyT(func(v *IntegrationPipelinesEmail) pulumi.StringArrayOutput { return v.Recipients }).(pulumi.StringArrayOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationRedmine.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationRedmine.go new file mode 100644 index 000000000..b5cd174ae --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationRedmine.go @@ -0,0 +1,342 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `IntegrationRedmine` resource manages the lifecycle of a project integration with Redmine. +// +// > This resource is deprecated and will be removed in 19.0. Use `ProjectIntegrationRedmine`instead. +// Using Redmine requires that GitLab internal issue tracking is disabled for the project. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#redmine) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("awesome_project"), +// Description: pulumi.String("My awesome project."), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewIntegrationRedmine(ctx, "redmine", &gitlab.IntegrationRedmineArgs{ +// Project: awesomeProject.ID(), +// NewIssueUrl: pulumi.String("https://redmine.example.com/issue"), +// ProjectUrl: pulumi.String("https://redmine.example.com/project"), +// IssuesUrl: pulumi.String("https://redmine.example.com/issue/:id"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `IntegrationRedmine`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import a IntegrationRedmine state using `terraform import `: +// +// ```sh +// $ pulumi import gitlab:index/integrationRedmine:IntegrationRedmine redmine 1 +// ``` +type IntegrationRedmine struct { + pulumi.CustomResourceState + + // The URL to the Redmine project issue to link to this GitLab project. + IssuesUrl pulumi.StringOutput `pulumi:"issuesUrl"` + // The URL to use to create a new issue in the Redmine project linked to this GitLab project. + NewIssueUrl pulumi.StringOutput `pulumi:"newIssueUrl"` + // ID of the project you want to activate integration on. + Project pulumi.StringOutput `pulumi:"project"` + // The URL to the Redmine project to link to this GitLab project. + ProjectUrl pulumi.StringOutput `pulumi:"projectUrl"` + // Indicates whether or not to inherit default settings. Defaults to false. + UseInheritedSettings pulumi.BoolOutput `pulumi:"useInheritedSettings"` +} + +// NewIntegrationRedmine registers a new resource with the given unique name, arguments, and options. +func NewIntegrationRedmine(ctx *pulumi.Context, + name string, args *IntegrationRedmineArgs, opts ...pulumi.ResourceOption) (*IntegrationRedmine, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.IssuesUrl == nil { + return nil, errors.New("invalid value for required argument 'IssuesUrl'") + } + if args.NewIssueUrl == nil { + return nil, errors.New("invalid value for required argument 'NewIssueUrl'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.ProjectUrl == nil { + return nil, errors.New("invalid value for required argument 'ProjectUrl'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IntegrationRedmine + err := ctx.RegisterResource("gitlab:index/integrationRedmine:IntegrationRedmine", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIntegrationRedmine gets an existing IntegrationRedmine resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIntegrationRedmine(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IntegrationRedmineState, opts ...pulumi.ResourceOption) (*IntegrationRedmine, error) { + var resource IntegrationRedmine + err := ctx.ReadResource("gitlab:index/integrationRedmine:IntegrationRedmine", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IntegrationRedmine resources. +type integrationRedmineState struct { + // The URL to the Redmine project issue to link to this GitLab project. + IssuesUrl *string `pulumi:"issuesUrl"` + // The URL to use to create a new issue in the Redmine project linked to this GitLab project. + NewIssueUrl *string `pulumi:"newIssueUrl"` + // ID of the project you want to activate integration on. + Project *string `pulumi:"project"` + // The URL to the Redmine project to link to this GitLab project. + ProjectUrl *string `pulumi:"projectUrl"` + // Indicates whether or not to inherit default settings. Defaults to false. + UseInheritedSettings *bool `pulumi:"useInheritedSettings"` +} + +type IntegrationRedmineState struct { + // The URL to the Redmine project issue to link to this GitLab project. + IssuesUrl pulumi.StringPtrInput + // The URL to use to create a new issue in the Redmine project linked to this GitLab project. + NewIssueUrl pulumi.StringPtrInput + // ID of the project you want to activate integration on. + Project pulumi.StringPtrInput + // The URL to the Redmine project to link to this GitLab project. + ProjectUrl pulumi.StringPtrInput + // Indicates whether or not to inherit default settings. Defaults to false. + UseInheritedSettings pulumi.BoolPtrInput +} + +func (IntegrationRedmineState) ElementType() reflect.Type { + return reflect.TypeOf((*integrationRedmineState)(nil)).Elem() +} + +type integrationRedmineArgs struct { + // The URL to the Redmine project issue to link to this GitLab project. + IssuesUrl string `pulumi:"issuesUrl"` + // The URL to use to create a new issue in the Redmine project linked to this GitLab project. + NewIssueUrl string `pulumi:"newIssueUrl"` + // ID of the project you want to activate integration on. + Project string `pulumi:"project"` + // The URL to the Redmine project to link to this GitLab project. + ProjectUrl string `pulumi:"projectUrl"` + // Indicates whether or not to inherit default settings. Defaults to false. + UseInheritedSettings *bool `pulumi:"useInheritedSettings"` +} + +// The set of arguments for constructing a IntegrationRedmine resource. +type IntegrationRedmineArgs struct { + // The URL to the Redmine project issue to link to this GitLab project. + IssuesUrl pulumi.StringInput + // The URL to use to create a new issue in the Redmine project linked to this GitLab project. + NewIssueUrl pulumi.StringInput + // ID of the project you want to activate integration on. + Project pulumi.StringInput + // The URL to the Redmine project to link to this GitLab project. + ProjectUrl pulumi.StringInput + // Indicates whether or not to inherit default settings. Defaults to false. + UseInheritedSettings pulumi.BoolPtrInput +} + +func (IntegrationRedmineArgs) ElementType() reflect.Type { + return reflect.TypeOf((*integrationRedmineArgs)(nil)).Elem() +} + +type IntegrationRedmineInput interface { + pulumi.Input + + ToIntegrationRedmineOutput() IntegrationRedmineOutput + ToIntegrationRedmineOutputWithContext(ctx context.Context) IntegrationRedmineOutput +} + +func (*IntegrationRedmine) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationRedmine)(nil)).Elem() +} + +func (i *IntegrationRedmine) ToIntegrationRedmineOutput() IntegrationRedmineOutput { + return i.ToIntegrationRedmineOutputWithContext(context.Background()) +} + +func (i *IntegrationRedmine) ToIntegrationRedmineOutputWithContext(ctx context.Context) IntegrationRedmineOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationRedmineOutput) +} + +// IntegrationRedmineArrayInput is an input type that accepts IntegrationRedmineArray and IntegrationRedmineArrayOutput values. +// You can construct a concrete instance of `IntegrationRedmineArrayInput` via: +// +// IntegrationRedmineArray{ IntegrationRedmineArgs{...} } +type IntegrationRedmineArrayInput interface { + pulumi.Input + + ToIntegrationRedmineArrayOutput() IntegrationRedmineArrayOutput + ToIntegrationRedmineArrayOutputWithContext(context.Context) IntegrationRedmineArrayOutput +} + +type IntegrationRedmineArray []IntegrationRedmineInput + +func (IntegrationRedmineArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IntegrationRedmine)(nil)).Elem() +} + +func (i IntegrationRedmineArray) ToIntegrationRedmineArrayOutput() IntegrationRedmineArrayOutput { + return i.ToIntegrationRedmineArrayOutputWithContext(context.Background()) +} + +func (i IntegrationRedmineArray) ToIntegrationRedmineArrayOutputWithContext(ctx context.Context) IntegrationRedmineArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationRedmineArrayOutput) +} + +// IntegrationRedmineMapInput is an input type that accepts IntegrationRedmineMap and IntegrationRedmineMapOutput values. +// You can construct a concrete instance of `IntegrationRedmineMapInput` via: +// +// IntegrationRedmineMap{ "key": IntegrationRedmineArgs{...} } +type IntegrationRedmineMapInput interface { + pulumi.Input + + ToIntegrationRedmineMapOutput() IntegrationRedmineMapOutput + ToIntegrationRedmineMapOutputWithContext(context.Context) IntegrationRedmineMapOutput +} + +type IntegrationRedmineMap map[string]IntegrationRedmineInput + +func (IntegrationRedmineMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IntegrationRedmine)(nil)).Elem() +} + +func (i IntegrationRedmineMap) ToIntegrationRedmineMapOutput() IntegrationRedmineMapOutput { + return i.ToIntegrationRedmineMapOutputWithContext(context.Background()) +} + +func (i IntegrationRedmineMap) ToIntegrationRedmineMapOutputWithContext(ctx context.Context) IntegrationRedmineMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationRedmineMapOutput) +} + +type IntegrationRedmineOutput struct{ *pulumi.OutputState } + +func (IntegrationRedmineOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationRedmine)(nil)).Elem() +} + +func (o IntegrationRedmineOutput) ToIntegrationRedmineOutput() IntegrationRedmineOutput { + return o +} + +func (o IntegrationRedmineOutput) ToIntegrationRedmineOutputWithContext(ctx context.Context) IntegrationRedmineOutput { + return o +} + +// The URL to the Redmine project issue to link to this GitLab project. +func (o IntegrationRedmineOutput) IssuesUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationRedmine) pulumi.StringOutput { return v.IssuesUrl }).(pulumi.StringOutput) +} + +// The URL to use to create a new issue in the Redmine project linked to this GitLab project. +func (o IntegrationRedmineOutput) NewIssueUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationRedmine) pulumi.StringOutput { return v.NewIssueUrl }).(pulumi.StringOutput) +} + +// ID of the project you want to activate integration on. +func (o IntegrationRedmineOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationRedmine) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// The URL to the Redmine project to link to this GitLab project. +func (o IntegrationRedmineOutput) ProjectUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationRedmine) pulumi.StringOutput { return v.ProjectUrl }).(pulumi.StringOutput) +} + +// Indicates whether or not to inherit default settings. Defaults to false. +func (o IntegrationRedmineOutput) UseInheritedSettings() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationRedmine) pulumi.BoolOutput { return v.UseInheritedSettings }).(pulumi.BoolOutput) +} + +type IntegrationRedmineArrayOutput struct{ *pulumi.OutputState } + +func (IntegrationRedmineArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IntegrationRedmine)(nil)).Elem() +} + +func (o IntegrationRedmineArrayOutput) ToIntegrationRedmineArrayOutput() IntegrationRedmineArrayOutput { + return o +} + +func (o IntegrationRedmineArrayOutput) ToIntegrationRedmineArrayOutputWithContext(ctx context.Context) IntegrationRedmineArrayOutput { + return o +} + +func (o IntegrationRedmineArrayOutput) Index(i pulumi.IntInput) IntegrationRedmineOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *IntegrationRedmine { + return vs[0].([]*IntegrationRedmine)[vs[1].(int)] + }).(IntegrationRedmineOutput) +} + +type IntegrationRedmineMapOutput struct{ *pulumi.OutputState } + +func (IntegrationRedmineMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IntegrationRedmine)(nil)).Elem() +} + +func (o IntegrationRedmineMapOutput) ToIntegrationRedmineMapOutput() IntegrationRedmineMapOutput { + return o +} + +func (o IntegrationRedmineMapOutput) ToIntegrationRedmineMapOutputWithContext(ctx context.Context) IntegrationRedmineMapOutput { + return o +} + +func (o IntegrationRedmineMapOutput) MapIndex(k pulumi.StringInput) IntegrationRedmineOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *IntegrationRedmine { + return vs[0].(map[string]*IntegrationRedmine)[vs[1].(string)] + }).(IntegrationRedmineOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationRedmineInput)(nil)).Elem(), &IntegrationRedmine{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationRedmineArrayInput)(nil)).Elem(), IntegrationRedmineArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationRedmineMapInput)(nil)).Elem(), IntegrationRedmineMap{}) + pulumi.RegisterOutputType(IntegrationRedmineOutput{}) + pulumi.RegisterOutputType(IntegrationRedmineArrayOutput{}) + pulumi.RegisterOutputType(IntegrationRedmineMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationSlack.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationSlack.go similarity index 97% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationSlack.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationSlack.go index 5f87d19d3..8389cc6af 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationSlack.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationSlack.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `IntegrationSlack` resource allows to manage the lifecycle of a project integration with Slack. +// The `IntegrationSlack` resource allows you to manage the lifecycle of a project integration with Slack. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#slack-notifications) // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -56,21 +56,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_integration_slack`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `IntegrationSlack`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_integration_slack.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import a gitlab_integration_slack.slack state using the project ID, e.g. +// You can import a gitlab_integration_slack.slack state using the project ID, for example: // // ```sh // $ pulumi import gitlab:index/integrationSlack:IntegrationSlack slack 1 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationTelegram.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationTelegram.go similarity index 96% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationTelegram.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationTelegram.go index a7b0f617f..074d5b4a6 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/integrationTelegram.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/integrationTelegram.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `IntegrationTelegram` resource allows to manage the lifecycle of a project integration with Telegram. +// The `IntegrationTelegram` resource manages the lifecycle of a project integration with Telegram. +// +// > This resource is deprecated and will be removed in 19.0. Use `ProjectIntegrationTelegram`instead. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#telegram) // @@ -23,14 +25,14 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ +// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ // Name: pulumi.String("awesome_project"), // Description: pulumi.String("My awesome project."), // VisibilityLevel: pulumi.String("public"), @@ -39,6 +41,7 @@ import ( // return err // } // _, err = gitlab.NewIntegrationTelegram(ctx, "default", &gitlab.IntegrationTelegramArgs{ +// Project: awesomeProject.ID(), // Token: pulumi.String("123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"), // Room: pulumi.String("-1000000000000000"), // NotifyOnlyBrokenPipelines: pulumi.Bool(false), @@ -64,21 +67,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_integration_telegram`. For example: -// -// terraform -// -// import { -// -// to = gitlab_integration_telegram.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `IntegrationTelegram`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// You can import a gitlab_integration_telegram state using the project ID, e.g. +// You can import a IntegrationTelegram state using the project ID, for example: // // ```sh // $ pulumi import gitlab:index/integrationTelegram:IntegrationTelegram default 1 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal/pulumiUtilities.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal/pulumiUtilities.go similarity index 96% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal/pulumiUtilities.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal/pulumiUtilities.go index 0fbf43103..ae2339d5d 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal/pulumiUtilities.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal/pulumiUtilities.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package internal @@ -165,7 +165,7 @@ func callPlainInner( func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { defaults := []pulumi.ResourceOption{} - version := semver.MustParse("8.11.0") + version := semver.MustParse("9.11.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } @@ -176,7 +176,7 @@ func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOptio func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { defaults := []pulumi.InvokeOption{} - version := semver.MustParse("8.11.0") + version := semver.MustParse("9.11.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal/pulumiVersion.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal/pulumiVersion.go similarity index 75% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal/pulumiVersion.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal/pulumiVersion.go index d59168766..4ad7cb873 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal/pulumiVersion.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal/pulumiVersion.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package internal diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/label.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/label.go similarity index 77% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/label.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/label.go index 42a52fb90..dc815db9f 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/label.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/label.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,22 +8,24 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `Label` resource allows to manage the lifecycle of a project label. +// The `Label` resource manages the lifecycle of a project label. // -// > This resource is deprecated. use `ProjectLabel`instead! +// > This resource is deprecated and will be removed in 19.0. Use `ProjectLabel`instead. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/labels/#project-labels) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/labels/#get-a-single-project-label) type Label struct { pulumi.CustomResourceState - // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). + // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). Color pulumi.StringOutput `pulumi:"color"` + // Read-only, used by the provider to store the API response color. This is always in the 6-digit hex notation with leading '#' sign (e.g. #FFAABB). If `color` contains a color name, this attribute contains the hex notation equivalent. Otherwise, the value of this attribute is the same as `color`. + ColorHex pulumi.StringOutput `pulumi:"colorHex"` // The description of the label. - Description pulumi.StringPtrOutput `pulumi:"description"` + Description pulumi.StringOutput `pulumi:"description"` // The id of the project label. LabelId pulumi.IntOutput `pulumi:"labelId"` // The name of the label. @@ -68,8 +70,10 @@ func GetLabel(ctx *pulumi.Context, // Input properties used for looking up and filtering Label resources. type labelState struct { - // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). + // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). Color *string `pulumi:"color"` + // Read-only, used by the provider to store the API response color. This is always in the 6-digit hex notation with leading '#' sign (e.g. #FFAABB). If `color` contains a color name, this attribute contains the hex notation equivalent. Otherwise, the value of this attribute is the same as `color`. + ColorHex *string `pulumi:"colorHex"` // The description of the label. Description *string `pulumi:"description"` // The id of the project label. @@ -81,8 +85,10 @@ type labelState struct { } type LabelState struct { - // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). + // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). Color pulumi.StringPtrInput + // Read-only, used by the provider to store the API response color. This is always in the 6-digit hex notation with leading '#' sign (e.g. #FFAABB). If `color` contains a color name, this attribute contains the hex notation equivalent. Otherwise, the value of this attribute is the same as `color`. + ColorHex pulumi.StringPtrInput // The description of the label. Description pulumi.StringPtrInput // The id of the project label. @@ -98,7 +104,7 @@ func (LabelState) ElementType() reflect.Type { } type labelArgs struct { - // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). + // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). Color string `pulumi:"color"` // The description of the label. Description *string `pulumi:"description"` @@ -110,7 +116,7 @@ type labelArgs struct { // The set of arguments for constructing a Label resource. type LabelArgs struct { - // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). + // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). Color pulumi.StringInput // The description of the label. Description pulumi.StringPtrInput @@ -207,14 +213,19 @@ func (o LabelOutput) ToLabelOutputWithContext(ctx context.Context) LabelOutput { return o } -// The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). +// The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). func (o LabelOutput) Color() pulumi.StringOutput { return o.ApplyT(func(v *Label) pulumi.StringOutput { return v.Color }).(pulumi.StringOutput) } +// Read-only, used by the provider to store the API response color. This is always in the 6-digit hex notation with leading '#' sign (e.g. #FFAABB). If `color` contains a color name, this attribute contains the hex notation equivalent. Otherwise, the value of this attribute is the same as `color`. +func (o LabelOutput) ColorHex() pulumi.StringOutput { + return o.ApplyT(func(v *Label) pulumi.StringOutput { return v.ColorHex }).(pulumi.StringOutput) +} + // The description of the label. -func (o LabelOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Label) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +func (o LabelOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *Label) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } // The id of the project label. diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/memberRole.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/memberRole.go similarity index 75% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/memberRole.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/memberRole.go index 80962a7a9..40c51c7e2 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/memberRole.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/memberRole.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,17 +8,17 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `MemberRole` resource allows to manage the lifecycle of a custom member role. +// The `MemberRole` resource manages the lifecycle of a custom member role. // -// Custom roles allow an organization to create user roles with the precise privileges and permissions required for that organization’s needs. +// Custom roles allow an organization to create user roles with the precise privileges and permissions required for that organization's needs. // // > This resource requires an Ultimate license. // -// > Most custom roles are considered billable users that use a seat. [Custom roles billing and seat usage](https://docs.gitlab.com/user/custom_roles/#billing-and-seat-usage) +// > Most custom roles are considered billable users that use a seat. [Custom roles billing and seat usage](https://docs.gitlab.com/user/custom_roles/) // // > There can be only 10 custom roles on your instance or namespace. See [issue 450929](https://gitlab.com/gitlab-org/gitlab/-/issues/450929) for more details. // @@ -26,21 +26,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_member_role`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `MemberRole`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_member_role.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab member role can be imported using the id made up of `gid://gitlab/MemberRole/` e.g. +// GitLab member role can be imported using the id made up of `gid://gitlab/MemberRole/` for example: // // ```sh // $ pulumi import gitlab:index/memberRole:MemberRole example 'gid://gitlab/MemberRole/123' @@ -50,13 +40,13 @@ type MemberRole struct { // The base access level for the custom role. Valid values are: `DEVELOPER`, `GUEST`, `MAINTAINER`, `MINIMAL_ACCESS`, `OWNER`, `REPORTER` BaseAccessLevel pulumi.StringOutput `pulumi:"baseAccessLevel"` - // Timestamp of when the member role was created. Only available with GitLab version 17.3 or higher. + // Timestamp of when the member role was created. CreatedAt pulumi.StringOutput `pulumi:"createdAt"` // Description for the member role. Description pulumi.StringOutput `pulumi:"description"` // The Web UI path to edit the member role EditPath pulumi.StringOutput `pulumi:"editPath"` - // All permissions enabled for the custom role. Valid values are: `ADMIN_CICD_VARIABLES`, `ADMIN_COMPLIANCE_FRAMEWORK`, `ADMIN_GROUP_MEMBER`, `ADMIN_INTEGRATIONS`, `ADMIN_MERGE_REQUEST`, `ADMIN_PROTECTED_BRANCH`, `ADMIN_PUSH_RULES`, `ADMIN_RUNNERS`, `ADMIN_TERRAFORM_STATE`, `ADMIN_VULNERABILITY`, `ADMIN_WEB_HOOK`, `ARCHIVE_PROJECT`, `MANAGE_DEPLOY_TOKENS`, `MANAGE_GROUP_ACCESS_TOKENS`, `MANAGE_MERGE_REQUEST_SETTINGS`, `MANAGE_PROJECT_ACCESS_TOKENS`, `MANAGE_SECURITY_POLICY_LINK`, `READ_ADMIN_CICD`, `READ_ADMIN_DASHBOARD`, `READ_CODE`, `READ_COMPLIANCE_DASHBOARD`, `READ_CRM_CONTACT`, `READ_DEPENDENCY`, `READ_RUNNERS`, `READ_VULNERABILITY`, `REMOVE_GROUP`, `REMOVE_PROJECT` + // All permissions enabled for the custom role. Valid values are: `ADMIN_CICD_VARIABLES`, `ADMIN_COMPLIANCE_FRAMEWORK`, `ADMIN_GROUP_MEMBER`, `ADMIN_INTEGRATIONS`, `ADMIN_MERGE_REQUEST`, `ADMIN_PROTECTED_BRANCH`, `ADMIN_PROTECTED_ENVIRONMENTS`, `ADMIN_PUSH_RULES`, `ADMIN_RUNNERS`, `ADMIN_TERRAFORM_STATE`, `ADMIN_VULNERABILITY`, `ADMIN_WEB_HOOK`, `ARCHIVE_PROJECT`, `MANAGE_DEPLOY_TOKENS`, `MANAGE_GROUP_ACCESS_TOKENS`, `MANAGE_MERGE_REQUEST_SETTINGS`, `MANAGE_PROJECT_ACCESS_TOKENS`, `MANAGE_SECURITY_POLICY_LINK`, `READ_ADMIN_CICD`, `READ_ADMIN_GROUPS`, `READ_ADMIN_PROJECTS`, `READ_ADMIN_SUBSCRIPTION`, `READ_ADMIN_MONITORING`, `READ_ADMIN_USERS`, `READ_ADMIN_DASHBOARD`, `READ_CODE`, `READ_COMPLIANCE_DASHBOARD`, `READ_CRM_CONTACT`, `READ_DEPENDENCY`, `READ_RUNNERS`, `READ_VULNERABILITY`, `REMOVE_GROUP`, `REMOVE_PROJECT` EnabledPermissions pulumi.StringArrayOutput `pulumi:"enabledPermissions"` // Full path of the namespace to create the member role in. **Required for SAAS** **Not allowed for self-managed** GroupPath pulumi.StringOutput `pulumi:"groupPath"` @@ -104,13 +94,13 @@ func GetMemberRole(ctx *pulumi.Context, type memberRoleState struct { // The base access level for the custom role. Valid values are: `DEVELOPER`, `GUEST`, `MAINTAINER`, `MINIMAL_ACCESS`, `OWNER`, `REPORTER` BaseAccessLevel *string `pulumi:"baseAccessLevel"` - // Timestamp of when the member role was created. Only available with GitLab version 17.3 or higher. + // Timestamp of when the member role was created. CreatedAt *string `pulumi:"createdAt"` // Description for the member role. Description *string `pulumi:"description"` // The Web UI path to edit the member role EditPath *string `pulumi:"editPath"` - // All permissions enabled for the custom role. Valid values are: `ADMIN_CICD_VARIABLES`, `ADMIN_COMPLIANCE_FRAMEWORK`, `ADMIN_GROUP_MEMBER`, `ADMIN_INTEGRATIONS`, `ADMIN_MERGE_REQUEST`, `ADMIN_PROTECTED_BRANCH`, `ADMIN_PUSH_RULES`, `ADMIN_RUNNERS`, `ADMIN_TERRAFORM_STATE`, `ADMIN_VULNERABILITY`, `ADMIN_WEB_HOOK`, `ARCHIVE_PROJECT`, `MANAGE_DEPLOY_TOKENS`, `MANAGE_GROUP_ACCESS_TOKENS`, `MANAGE_MERGE_REQUEST_SETTINGS`, `MANAGE_PROJECT_ACCESS_TOKENS`, `MANAGE_SECURITY_POLICY_LINK`, `READ_ADMIN_CICD`, `READ_ADMIN_DASHBOARD`, `READ_CODE`, `READ_COMPLIANCE_DASHBOARD`, `READ_CRM_CONTACT`, `READ_DEPENDENCY`, `READ_RUNNERS`, `READ_VULNERABILITY`, `REMOVE_GROUP`, `REMOVE_PROJECT` + // All permissions enabled for the custom role. Valid values are: `ADMIN_CICD_VARIABLES`, `ADMIN_COMPLIANCE_FRAMEWORK`, `ADMIN_GROUP_MEMBER`, `ADMIN_INTEGRATIONS`, `ADMIN_MERGE_REQUEST`, `ADMIN_PROTECTED_BRANCH`, `ADMIN_PROTECTED_ENVIRONMENTS`, `ADMIN_PUSH_RULES`, `ADMIN_RUNNERS`, `ADMIN_TERRAFORM_STATE`, `ADMIN_VULNERABILITY`, `ADMIN_WEB_HOOK`, `ARCHIVE_PROJECT`, `MANAGE_DEPLOY_TOKENS`, `MANAGE_GROUP_ACCESS_TOKENS`, `MANAGE_MERGE_REQUEST_SETTINGS`, `MANAGE_PROJECT_ACCESS_TOKENS`, `MANAGE_SECURITY_POLICY_LINK`, `READ_ADMIN_CICD`, `READ_ADMIN_GROUPS`, `READ_ADMIN_PROJECTS`, `READ_ADMIN_SUBSCRIPTION`, `READ_ADMIN_MONITORING`, `READ_ADMIN_USERS`, `READ_ADMIN_DASHBOARD`, `READ_CODE`, `READ_COMPLIANCE_DASHBOARD`, `READ_CRM_CONTACT`, `READ_DEPENDENCY`, `READ_RUNNERS`, `READ_VULNERABILITY`, `REMOVE_GROUP`, `REMOVE_PROJECT` EnabledPermissions []string `pulumi:"enabledPermissions"` // Full path of the namespace to create the member role in. **Required for SAAS** **Not allowed for self-managed** GroupPath *string `pulumi:"groupPath"` @@ -123,13 +113,13 @@ type memberRoleState struct { type MemberRoleState struct { // The base access level for the custom role. Valid values are: `DEVELOPER`, `GUEST`, `MAINTAINER`, `MINIMAL_ACCESS`, `OWNER`, `REPORTER` BaseAccessLevel pulumi.StringPtrInput - // Timestamp of when the member role was created. Only available with GitLab version 17.3 or higher. + // Timestamp of when the member role was created. CreatedAt pulumi.StringPtrInput // Description for the member role. Description pulumi.StringPtrInput // The Web UI path to edit the member role EditPath pulumi.StringPtrInput - // All permissions enabled for the custom role. Valid values are: `ADMIN_CICD_VARIABLES`, `ADMIN_COMPLIANCE_FRAMEWORK`, `ADMIN_GROUP_MEMBER`, `ADMIN_INTEGRATIONS`, `ADMIN_MERGE_REQUEST`, `ADMIN_PROTECTED_BRANCH`, `ADMIN_PUSH_RULES`, `ADMIN_RUNNERS`, `ADMIN_TERRAFORM_STATE`, `ADMIN_VULNERABILITY`, `ADMIN_WEB_HOOK`, `ARCHIVE_PROJECT`, `MANAGE_DEPLOY_TOKENS`, `MANAGE_GROUP_ACCESS_TOKENS`, `MANAGE_MERGE_REQUEST_SETTINGS`, `MANAGE_PROJECT_ACCESS_TOKENS`, `MANAGE_SECURITY_POLICY_LINK`, `READ_ADMIN_CICD`, `READ_ADMIN_DASHBOARD`, `READ_CODE`, `READ_COMPLIANCE_DASHBOARD`, `READ_CRM_CONTACT`, `READ_DEPENDENCY`, `READ_RUNNERS`, `READ_VULNERABILITY`, `REMOVE_GROUP`, `REMOVE_PROJECT` + // All permissions enabled for the custom role. Valid values are: `ADMIN_CICD_VARIABLES`, `ADMIN_COMPLIANCE_FRAMEWORK`, `ADMIN_GROUP_MEMBER`, `ADMIN_INTEGRATIONS`, `ADMIN_MERGE_REQUEST`, `ADMIN_PROTECTED_BRANCH`, `ADMIN_PROTECTED_ENVIRONMENTS`, `ADMIN_PUSH_RULES`, `ADMIN_RUNNERS`, `ADMIN_TERRAFORM_STATE`, `ADMIN_VULNERABILITY`, `ADMIN_WEB_HOOK`, `ARCHIVE_PROJECT`, `MANAGE_DEPLOY_TOKENS`, `MANAGE_GROUP_ACCESS_TOKENS`, `MANAGE_MERGE_REQUEST_SETTINGS`, `MANAGE_PROJECT_ACCESS_TOKENS`, `MANAGE_SECURITY_POLICY_LINK`, `READ_ADMIN_CICD`, `READ_ADMIN_GROUPS`, `READ_ADMIN_PROJECTS`, `READ_ADMIN_SUBSCRIPTION`, `READ_ADMIN_MONITORING`, `READ_ADMIN_USERS`, `READ_ADMIN_DASHBOARD`, `READ_CODE`, `READ_COMPLIANCE_DASHBOARD`, `READ_CRM_CONTACT`, `READ_DEPENDENCY`, `READ_RUNNERS`, `READ_VULNERABILITY`, `REMOVE_GROUP`, `REMOVE_PROJECT` EnabledPermissions pulumi.StringArrayInput // Full path of the namespace to create the member role in. **Required for SAAS** **Not allowed for self-managed** GroupPath pulumi.StringPtrInput @@ -148,7 +138,7 @@ type memberRoleArgs struct { BaseAccessLevel string `pulumi:"baseAccessLevel"` // Description for the member role. Description *string `pulumi:"description"` - // All permissions enabled for the custom role. Valid values are: `ADMIN_CICD_VARIABLES`, `ADMIN_COMPLIANCE_FRAMEWORK`, `ADMIN_GROUP_MEMBER`, `ADMIN_INTEGRATIONS`, `ADMIN_MERGE_REQUEST`, `ADMIN_PROTECTED_BRANCH`, `ADMIN_PUSH_RULES`, `ADMIN_RUNNERS`, `ADMIN_TERRAFORM_STATE`, `ADMIN_VULNERABILITY`, `ADMIN_WEB_HOOK`, `ARCHIVE_PROJECT`, `MANAGE_DEPLOY_TOKENS`, `MANAGE_GROUP_ACCESS_TOKENS`, `MANAGE_MERGE_REQUEST_SETTINGS`, `MANAGE_PROJECT_ACCESS_TOKENS`, `MANAGE_SECURITY_POLICY_LINK`, `READ_ADMIN_CICD`, `READ_ADMIN_DASHBOARD`, `READ_CODE`, `READ_COMPLIANCE_DASHBOARD`, `READ_CRM_CONTACT`, `READ_DEPENDENCY`, `READ_RUNNERS`, `READ_VULNERABILITY`, `REMOVE_GROUP`, `REMOVE_PROJECT` + // All permissions enabled for the custom role. Valid values are: `ADMIN_CICD_VARIABLES`, `ADMIN_COMPLIANCE_FRAMEWORK`, `ADMIN_GROUP_MEMBER`, `ADMIN_INTEGRATIONS`, `ADMIN_MERGE_REQUEST`, `ADMIN_PROTECTED_BRANCH`, `ADMIN_PROTECTED_ENVIRONMENTS`, `ADMIN_PUSH_RULES`, `ADMIN_RUNNERS`, `ADMIN_TERRAFORM_STATE`, `ADMIN_VULNERABILITY`, `ADMIN_WEB_HOOK`, `ARCHIVE_PROJECT`, `MANAGE_DEPLOY_TOKENS`, `MANAGE_GROUP_ACCESS_TOKENS`, `MANAGE_MERGE_REQUEST_SETTINGS`, `MANAGE_PROJECT_ACCESS_TOKENS`, `MANAGE_SECURITY_POLICY_LINK`, `READ_ADMIN_CICD`, `READ_ADMIN_GROUPS`, `READ_ADMIN_PROJECTS`, `READ_ADMIN_SUBSCRIPTION`, `READ_ADMIN_MONITORING`, `READ_ADMIN_USERS`, `READ_ADMIN_DASHBOARD`, `READ_CODE`, `READ_COMPLIANCE_DASHBOARD`, `READ_CRM_CONTACT`, `READ_DEPENDENCY`, `READ_RUNNERS`, `READ_VULNERABILITY`, `REMOVE_GROUP`, `REMOVE_PROJECT` EnabledPermissions []string `pulumi:"enabledPermissions"` // Full path of the namespace to create the member role in. **Required for SAAS** **Not allowed for self-managed** GroupPath *string `pulumi:"groupPath"` @@ -162,7 +152,7 @@ type MemberRoleArgs struct { BaseAccessLevel pulumi.StringInput // Description for the member role. Description pulumi.StringPtrInput - // All permissions enabled for the custom role. Valid values are: `ADMIN_CICD_VARIABLES`, `ADMIN_COMPLIANCE_FRAMEWORK`, `ADMIN_GROUP_MEMBER`, `ADMIN_INTEGRATIONS`, `ADMIN_MERGE_REQUEST`, `ADMIN_PROTECTED_BRANCH`, `ADMIN_PUSH_RULES`, `ADMIN_RUNNERS`, `ADMIN_TERRAFORM_STATE`, `ADMIN_VULNERABILITY`, `ADMIN_WEB_HOOK`, `ARCHIVE_PROJECT`, `MANAGE_DEPLOY_TOKENS`, `MANAGE_GROUP_ACCESS_TOKENS`, `MANAGE_MERGE_REQUEST_SETTINGS`, `MANAGE_PROJECT_ACCESS_TOKENS`, `MANAGE_SECURITY_POLICY_LINK`, `READ_ADMIN_CICD`, `READ_ADMIN_DASHBOARD`, `READ_CODE`, `READ_COMPLIANCE_DASHBOARD`, `READ_CRM_CONTACT`, `READ_DEPENDENCY`, `READ_RUNNERS`, `READ_VULNERABILITY`, `REMOVE_GROUP`, `REMOVE_PROJECT` + // All permissions enabled for the custom role. Valid values are: `ADMIN_CICD_VARIABLES`, `ADMIN_COMPLIANCE_FRAMEWORK`, `ADMIN_GROUP_MEMBER`, `ADMIN_INTEGRATIONS`, `ADMIN_MERGE_REQUEST`, `ADMIN_PROTECTED_BRANCH`, `ADMIN_PROTECTED_ENVIRONMENTS`, `ADMIN_PUSH_RULES`, `ADMIN_RUNNERS`, `ADMIN_TERRAFORM_STATE`, `ADMIN_VULNERABILITY`, `ADMIN_WEB_HOOK`, `ARCHIVE_PROJECT`, `MANAGE_DEPLOY_TOKENS`, `MANAGE_GROUP_ACCESS_TOKENS`, `MANAGE_MERGE_REQUEST_SETTINGS`, `MANAGE_PROJECT_ACCESS_TOKENS`, `MANAGE_SECURITY_POLICY_LINK`, `READ_ADMIN_CICD`, `READ_ADMIN_GROUPS`, `READ_ADMIN_PROJECTS`, `READ_ADMIN_SUBSCRIPTION`, `READ_ADMIN_MONITORING`, `READ_ADMIN_USERS`, `READ_ADMIN_DASHBOARD`, `READ_CODE`, `READ_COMPLIANCE_DASHBOARD`, `READ_CRM_CONTACT`, `READ_DEPENDENCY`, `READ_RUNNERS`, `READ_VULNERABILITY`, `REMOVE_GROUP`, `REMOVE_PROJECT` EnabledPermissions pulumi.StringArrayInput // Full path of the namespace to create the member role in. **Required for SAAS** **Not allowed for self-managed** GroupPath pulumi.StringPtrInput @@ -262,7 +252,7 @@ func (o MemberRoleOutput) BaseAccessLevel() pulumi.StringOutput { return o.ApplyT(func(v *MemberRole) pulumi.StringOutput { return v.BaseAccessLevel }).(pulumi.StringOutput) } -// Timestamp of when the member role was created. Only available with GitLab version 17.3 or higher. +// Timestamp of when the member role was created. func (o MemberRoleOutput) CreatedAt() pulumi.StringOutput { return o.ApplyT(func(v *MemberRole) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) } @@ -277,7 +267,7 @@ func (o MemberRoleOutput) EditPath() pulumi.StringOutput { return o.ApplyT(func(v *MemberRole) pulumi.StringOutput { return v.EditPath }).(pulumi.StringOutput) } -// All permissions enabled for the custom role. Valid values are: `ADMIN_CICD_VARIABLES`, `ADMIN_COMPLIANCE_FRAMEWORK`, `ADMIN_GROUP_MEMBER`, `ADMIN_INTEGRATIONS`, `ADMIN_MERGE_REQUEST`, `ADMIN_PROTECTED_BRANCH`, `ADMIN_PUSH_RULES`, `ADMIN_RUNNERS`, `ADMIN_TERRAFORM_STATE`, `ADMIN_VULNERABILITY`, `ADMIN_WEB_HOOK`, `ARCHIVE_PROJECT`, `MANAGE_DEPLOY_TOKENS`, `MANAGE_GROUP_ACCESS_TOKENS`, `MANAGE_MERGE_REQUEST_SETTINGS`, `MANAGE_PROJECT_ACCESS_TOKENS`, `MANAGE_SECURITY_POLICY_LINK`, `READ_ADMIN_CICD`, `READ_ADMIN_DASHBOARD`, `READ_CODE`, `READ_COMPLIANCE_DASHBOARD`, `READ_CRM_CONTACT`, `READ_DEPENDENCY`, `READ_RUNNERS`, `READ_VULNERABILITY`, `REMOVE_GROUP`, `REMOVE_PROJECT` +// All permissions enabled for the custom role. Valid values are: `ADMIN_CICD_VARIABLES`, `ADMIN_COMPLIANCE_FRAMEWORK`, `ADMIN_GROUP_MEMBER`, `ADMIN_INTEGRATIONS`, `ADMIN_MERGE_REQUEST`, `ADMIN_PROTECTED_BRANCH`, `ADMIN_PROTECTED_ENVIRONMENTS`, `ADMIN_PUSH_RULES`, `ADMIN_RUNNERS`, `ADMIN_TERRAFORM_STATE`, `ADMIN_VULNERABILITY`, `ADMIN_WEB_HOOK`, `ARCHIVE_PROJECT`, `MANAGE_DEPLOY_TOKENS`, `MANAGE_GROUP_ACCESS_TOKENS`, `MANAGE_MERGE_REQUEST_SETTINGS`, `MANAGE_PROJECT_ACCESS_TOKENS`, `MANAGE_SECURITY_POLICY_LINK`, `READ_ADMIN_CICD`, `READ_ADMIN_GROUPS`, `READ_ADMIN_PROJECTS`, `READ_ADMIN_SUBSCRIPTION`, `READ_ADMIN_MONITORING`, `READ_ADMIN_USERS`, `READ_ADMIN_DASHBOARD`, `READ_CODE`, `READ_COMPLIANCE_DASHBOARD`, `READ_CRM_CONTACT`, `READ_DEPENDENCY`, `READ_RUNNERS`, `READ_VULNERABILITY`, `REMOVE_GROUP`, `REMOVE_PROJECT` func (o MemberRoleOutput) EnabledPermissions() pulumi.StringArrayOutput { return o.ApplyT(func(v *MemberRole) pulumi.StringArrayOutput { return v.EnabledPermissions }).(pulumi.StringArrayOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pagesDomain.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pagesDomain.go similarity index 90% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pagesDomain.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pagesDomain.go index 19849a6da..95a3677d1 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pagesDomain.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pagesDomain.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -18,21 +18,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_pages_domain`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `PagesDomain`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_pages_domain.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab pages domain can be imported using an id made up of `projectId:domain` _without_ the http protocol, e.g. +// GitLab pages domain can be imported using an id made up of `projectId:domain` _without_ the http protocol, for example: // // ```sh // $ pulumi import gitlab:index/pagesDomain:PagesDomain this 123:example.com @@ -50,7 +40,7 @@ type PagesDomain struct { Expired pulumi.BoolOutput `pulumi:"expired"` // The certificate key in PEM format. Key pulumi.StringPtrOutput `pulumi:"key"` - // The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding) owned by the authenticated user. + // The ID or Namespace path of the project owned by the authenticated user. Project pulumi.StringOutput `pulumi:"project"` // The URL for the given domain. Url pulumi.StringOutput `pulumi:"url"` @@ -110,7 +100,7 @@ type pagesDomainState struct { Expired *bool `pulumi:"expired"` // The certificate key in PEM format. Key *string `pulumi:"key"` - // The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding) owned by the authenticated user. + // The ID or Namespace path of the project owned by the authenticated user. Project *string `pulumi:"project"` // The URL for the given domain. Url *string `pulumi:"url"` @@ -131,7 +121,7 @@ type PagesDomainState struct { Expired pulumi.BoolPtrInput // The certificate key in PEM format. Key pulumi.StringPtrInput - // The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding) owned by the authenticated user. + // The ID or Namespace path of the project owned by the authenticated user. Project pulumi.StringPtrInput // The URL for the given domain. Url pulumi.StringPtrInput @@ -156,7 +146,7 @@ type pagesDomainArgs struct { Expired *bool `pulumi:"expired"` // The certificate key in PEM format. Key *string `pulumi:"key"` - // The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding) owned by the authenticated user. + // The ID or Namespace path of the project owned by the authenticated user. Project string `pulumi:"project"` } @@ -172,7 +162,7 @@ type PagesDomainArgs struct { Expired pulumi.BoolPtrInput // The certificate key in PEM format. Key pulumi.StringPtrInput - // The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding) owned by the authenticated user. + // The ID or Namespace path of the project owned by the authenticated user. Project pulumi.StringInput } @@ -288,7 +278,7 @@ func (o PagesDomainOutput) Key() pulumi.StringPtrOutput { return o.ApplyT(func(v *PagesDomain) pulumi.StringPtrOutput { return v.Key }).(pulumi.StringPtrOutput) } -// The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding) owned by the authenticated user. +// The ID or Namespace path of the project owned by the authenticated user. func (o PagesDomainOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v *PagesDomain) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/personalAccessToken.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/personalAccessToken.go similarity index 86% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/personalAccessToken.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/personalAccessToken.go index f00f90180..f0fa9c73f 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/personalAccessToken.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/personalAccessToken.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,17 +8,17 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `PersonalAccessToken` resource allows to manage the lifecycle of a personal access token. +// The `PersonalAccessToken` resource manages the lifecycle of a personal access token. // // > This resource requires administration privileges. // // > Use of the `timestamp()` function with expiresAt will cause the resource to be re-created with every apply, it's recommended to use `plantimestamp()` or a static value instead. // -// > Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/operations/tracing/) +// > Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/development/tracing/) // // > Use `rotationConfiguration` to automatically rotate tokens instead of using `timestamp()` as timestamp will cause changes with every plan. `pulumi up` must still be run to rotate the token. // @@ -33,7 +33,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -67,21 +67,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_personal_access_token`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `PersonalAccessToken`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_personal_access_token.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// A GitLab Personal Access Token can be imported using a key composed of `:`, e.g. +// A GitLab Personal Access Token can be imported using a key composed of `:`, for example: // // ```sh // $ pulumi import gitlab:index/personalAccessToken:PersonalAccessToken example "12345:1" @@ -105,12 +95,14 @@ type PersonalAccessToken struct { Revoked pulumi.BoolOutput `pulumi:"revoked"` // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration PersonalAccessTokenRotationConfigurationPtrOutput `pulumi:"rotationConfiguration"` - // The scopes of the personal access token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readServicePing` + // The scopes of the personal access token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing` Scopes pulumi.StringArrayOutput `pulumi:"scopes"` // The token of the personal access token. **Note**: the token is not available for imported resources. Token pulumi.StringOutput `pulumi:"token"` // The ID of the user. UserId pulumi.IntOutput `pulumi:"userId"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolOutput `pulumi:"validatePastExpirationDate"` } // NewPersonalAccessToken registers a new resource with the given unique name, arguments, and options. @@ -167,12 +159,14 @@ type personalAccessTokenState struct { Revoked *bool `pulumi:"revoked"` // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration *PersonalAccessTokenRotationConfiguration `pulumi:"rotationConfiguration"` - // The scopes of the personal access token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readServicePing` + // The scopes of the personal access token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing` Scopes []string `pulumi:"scopes"` // The token of the personal access token. **Note**: the token is not available for imported resources. Token *string `pulumi:"token"` // The ID of the user. UserId *int `pulumi:"userId"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate *bool `pulumi:"validatePastExpirationDate"` } type PersonalAccessTokenState struct { @@ -190,12 +184,14 @@ type PersonalAccessTokenState struct { Revoked pulumi.BoolPtrInput // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration PersonalAccessTokenRotationConfigurationPtrInput - // The scopes of the personal access token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readServicePing` + // The scopes of the personal access token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing` Scopes pulumi.StringArrayInput // The token of the personal access token. **Note**: the token is not available for imported resources. Token pulumi.StringPtrInput // The ID of the user. UserId pulumi.IntPtrInput + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolPtrInput } func (PersonalAccessTokenState) ElementType() reflect.Type { @@ -211,10 +207,12 @@ type personalAccessTokenArgs struct { Name *string `pulumi:"name"` // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration *PersonalAccessTokenRotationConfiguration `pulumi:"rotationConfiguration"` - // The scopes of the personal access token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readServicePing` + // The scopes of the personal access token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing` Scopes []string `pulumi:"scopes"` // The ID of the user. UserId int `pulumi:"userId"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate *bool `pulumi:"validatePastExpirationDate"` } // The set of arguments for constructing a PersonalAccessToken resource. @@ -227,10 +225,12 @@ type PersonalAccessTokenArgs struct { Name pulumi.StringPtrInput // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration PersonalAccessTokenRotationConfigurationPtrInput - // The scopes of the personal access token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readServicePing` + // The scopes of the personal access token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing` Scopes pulumi.StringArrayInput // The ID of the user. UserId pulumi.IntInput + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolPtrInput } func (PersonalAccessTokenArgs) ElementType() reflect.Type { @@ -357,7 +357,7 @@ func (o PersonalAccessTokenOutput) RotationConfiguration() PersonalAccessTokenRo }).(PersonalAccessTokenRotationConfigurationPtrOutput) } -// The scopes of the personal access token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readServicePing` +// The scopes of the personal access token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing` func (o PersonalAccessTokenOutput) Scopes() pulumi.StringArrayOutput { return o.ApplyT(func(v *PersonalAccessToken) pulumi.StringArrayOutput { return v.Scopes }).(pulumi.StringArrayOutput) } @@ -372,6 +372,11 @@ func (o PersonalAccessTokenOutput) UserId() pulumi.IntOutput { return o.ApplyT(func(v *PersonalAccessToken) pulumi.IntOutput { return v.UserId }).(pulumi.IntOutput) } +// Wether to validate if the expiration date is in the future. +func (o PersonalAccessTokenOutput) ValidatePastExpirationDate() pulumi.BoolOutput { + return o.ApplyT(func(v *PersonalAccessToken) pulumi.BoolOutput { return v.ValidatePastExpirationDate }).(pulumi.BoolOutput) +} + type PersonalAccessTokenArrayOutput struct{ *pulumi.OutputState } func (PersonalAccessTokenArrayOutput) ElementType() reflect.Type { diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pipelineSchedule.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pipelineSchedule.go similarity index 78% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pipelineSchedule.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pipelineSchedule.go index 4c2ab0412..b22d3f769 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pipelineSchedule.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pipelineSchedule.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `PipelineSchedule` resource allows to manage the lifecycle of a scheduled pipeline. +// The `PipelineSchedule` resource manages the lifecycle of a scheduled pipeline. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/pipeline_schedules/) // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -35,6 +35,16 @@ import ( // Description: pulumi.String("Used to schedule builds"), // Ref: pulumi.String("refs/heads/main"), // Cron: pulumi.String("0 1 * * *"), +// Inputs: gitlab.PipelineScheduleInputTypeArray{ +// &gitlab.PipelineScheduleInputTypeArgs{ +// Name: pulumi.String("deploy_strategy"), +// Value: pulumi.String("rolling"), +// }, +// &gitlab.PipelineScheduleInputTypeArgs{ +// Name: pulumi.String("environment"), +// Value: pulumi.String("production"), +// }, +// }, // }) // if err != nil { // return err @@ -47,21 +57,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_pipeline_schedule`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `PipelineSchedule`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_pipeline_schedule.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab pipeline schedules can be imported using an id made up of `{project_id}:{pipeline_schedule_id}`, e.g. +// GitLab pipeline schedules can be imported using an id made up of `{project_id}:{pipeline_schedule_id}`, for example: // // ```sh // $ pulumi import gitlab:index/pipelineSchedule:PipelineSchedule test 1:3 @@ -77,6 +77,8 @@ type PipelineSchedule struct { CronTimezone pulumi.StringOutput `pulumi:"cronTimezone"` // The description of the pipeline schedule. Description pulumi.StringOutput `pulumi:"description"` + // List of pipeline schedule inputs. Each element in `inputs` has `name` and `value`. Maximum of 20 inputs allowed. + Inputs PipelineScheduleInputTypeArrayOutput `pulumi:"inputs"` // The ID of the user that owns the pipeline schedule. Owner pulumi.IntOutput `pulumi:"owner"` // The pipeline schedule id. @@ -84,8 +86,9 @@ type PipelineSchedule struct { // The name or id of the project to add the schedule to. Project pulumi.StringOutput `pulumi:"project"` // The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. - Ref pulumi.StringOutput `pulumi:"ref"` - TakeOwnership pulumi.BoolOutput `pulumi:"takeOwnership"` + Ref pulumi.StringOutput `pulumi:"ref"` + // When set to `true`, the user represented by the token running Terraform will take ownership of the scheduled pipeline prior to editing it. This can help when managing scheduled pipeline drift when other users are making changes outside Terraform. + TakeOwnership pulumi.BoolOutput `pulumi:"takeOwnership"` } // NewPipelineSchedule registers a new resource with the given unique name, arguments, and options. @@ -138,6 +141,8 @@ type pipelineScheduleState struct { CronTimezone *string `pulumi:"cronTimezone"` // The description of the pipeline schedule. Description *string `pulumi:"description"` + // List of pipeline schedule inputs. Each element in `inputs` has `name` and `value`. Maximum of 20 inputs allowed. + Inputs []PipelineScheduleInputType `pulumi:"inputs"` // The ID of the user that owns the pipeline schedule. Owner *int `pulumi:"owner"` // The pipeline schedule id. @@ -145,8 +150,9 @@ type pipelineScheduleState struct { // The name or id of the project to add the schedule to. Project *string `pulumi:"project"` // The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. - Ref *string `pulumi:"ref"` - TakeOwnership *bool `pulumi:"takeOwnership"` + Ref *string `pulumi:"ref"` + // When set to `true`, the user represented by the token running Terraform will take ownership of the scheduled pipeline prior to editing it. This can help when managing scheduled pipeline drift when other users are making changes outside Terraform. + TakeOwnership *bool `pulumi:"takeOwnership"` } type PipelineScheduleState struct { @@ -158,6 +164,8 @@ type PipelineScheduleState struct { CronTimezone pulumi.StringPtrInput // The description of the pipeline schedule. Description pulumi.StringPtrInput + // List of pipeline schedule inputs. Each element in `inputs` has `name` and `value`. Maximum of 20 inputs allowed. + Inputs PipelineScheduleInputTypeArrayInput // The ID of the user that owns the pipeline schedule. Owner pulumi.IntPtrInput // The pipeline schedule id. @@ -165,7 +173,8 @@ type PipelineScheduleState struct { // The name or id of the project to add the schedule to. Project pulumi.StringPtrInput // The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. - Ref pulumi.StringPtrInput + Ref pulumi.StringPtrInput + // When set to `true`, the user represented by the token running Terraform will take ownership of the scheduled pipeline prior to editing it. This can help when managing scheduled pipeline drift when other users are making changes outside Terraform. TakeOwnership pulumi.BoolPtrInput } @@ -182,11 +191,14 @@ type pipelineScheduleArgs struct { CronTimezone *string `pulumi:"cronTimezone"` // The description of the pipeline schedule. Description string `pulumi:"description"` + // List of pipeline schedule inputs. Each element in `inputs` has `name` and `value`. Maximum of 20 inputs allowed. + Inputs []PipelineScheduleInputType `pulumi:"inputs"` // The name or id of the project to add the schedule to. Project string `pulumi:"project"` // The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. - Ref string `pulumi:"ref"` - TakeOwnership *bool `pulumi:"takeOwnership"` + Ref string `pulumi:"ref"` + // When set to `true`, the user represented by the token running Terraform will take ownership of the scheduled pipeline prior to editing it. This can help when managing scheduled pipeline drift when other users are making changes outside Terraform. + TakeOwnership *bool `pulumi:"takeOwnership"` } // The set of arguments for constructing a PipelineSchedule resource. @@ -199,10 +211,13 @@ type PipelineScheduleArgs struct { CronTimezone pulumi.StringPtrInput // The description of the pipeline schedule. Description pulumi.StringInput + // List of pipeline schedule inputs. Each element in `inputs` has `name` and `value`. Maximum of 20 inputs allowed. + Inputs PipelineScheduleInputTypeArrayInput // The name or id of the project to add the schedule to. Project pulumi.StringInput // The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. - Ref pulumi.StringInput + Ref pulumi.StringInput + // When set to `true`, the user represented by the token running Terraform will take ownership of the scheduled pipeline prior to editing it. This can help when managing scheduled pipeline drift when other users are making changes outside Terraform. TakeOwnership pulumi.BoolPtrInput } @@ -313,6 +328,11 @@ func (o PipelineScheduleOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *PipelineSchedule) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } +// List of pipeline schedule inputs. Each element in `inputs` has `name` and `value`. Maximum of 20 inputs allowed. +func (o PipelineScheduleOutput) Inputs() PipelineScheduleInputTypeArrayOutput { + return o.ApplyT(func(v *PipelineSchedule) PipelineScheduleInputTypeArrayOutput { return v.Inputs }).(PipelineScheduleInputTypeArrayOutput) +} + // The ID of the user that owns the pipeline schedule. func (o PipelineScheduleOutput) Owner() pulumi.IntOutput { return o.ApplyT(func(v *PipelineSchedule) pulumi.IntOutput { return v.Owner }).(pulumi.IntOutput) @@ -333,6 +353,7 @@ func (o PipelineScheduleOutput) Ref() pulumi.StringOutput { return o.ApplyT(func(v *PipelineSchedule) pulumi.StringOutput { return v.Ref }).(pulumi.StringOutput) } +// When set to `true`, the user represented by the token running Terraform will take ownership of the scheduled pipeline prior to editing it. This can help when managing scheduled pipeline drift when other users are making changes outside Terraform. func (o PipelineScheduleOutput) TakeOwnership() pulumi.BoolOutput { return o.ApplyT(func(v *PipelineSchedule) pulumi.BoolOutput { return v.TakeOwnership }).(pulumi.BoolOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pipelineScheduleVariable.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pipelineScheduleVariable.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pipelineScheduleVariable.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pipelineScheduleVariable.go index a484472f0..f148177ce 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pipelineScheduleVariable.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pipelineScheduleVariable.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `PipelineScheduleVariable` resource allows to manage the lifecycle of a variable for a pipeline schedule. +// The `PipelineScheduleVariable` resource manages the lifecycle of a variable for a pipeline schedule. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/pipeline_schedules/#pipeline-schedule-variables) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/pipeline_schedules/#get-a-pipeline-schedule-variable) // // ## Example Usage // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -56,21 +56,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_pipeline_schedule_variable`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `PipelineScheduleVariable`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_pipeline_schedule_variable.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// Pipeline schedule variables can be imported using an id made up of `project_id:pipeline_schedule_id:key`, e.g. +// Pipeline schedule variables can be imported using an id made up of `project_id:pipeline_schedule_id:key`, for example: // // ```sh // $ pulumi import gitlab:index/pipelineScheduleVariable:PipelineScheduleVariable example 123456789:13:mykey diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pipelineTrigger.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pipelineTrigger.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pipelineTrigger.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pipelineTrigger.go index 75cc61033..18a2fbbf5 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pipelineTrigger.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pipelineTrigger.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `PipelineTrigger` resource allows to manage the lifecycle of a pipeline trigger. +// The `PipelineTrigger` resource manages the lifecycle of a pipeline trigger. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/pipeline_triggers/) // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -45,21 +45,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_pipeline_trigger`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `PipelineTrigger`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_pipeline_trigger.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab pipeline triggers can be imported using an id made up of `{project_id}:{pipeline_trigger_id}`, e.g. +// GitLab pipeline triggers can be imported using an id made up of `{project_id}:{pipeline_trigger_id}`, for example: // // ```sh // $ pulumi import gitlab:index/pipelineTrigger:PipelineTrigger test 1:3 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/project.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/project.go similarity index 76% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/project.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/project.go index 55690826d..b4a1683e4 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/project.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/project.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,41 +7,37 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// ## Example Usage +// The `Project` resource manages the lifecycle of a project. // -// ## Import -// -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project`. For example: -// -// terraform +// A project can either be created in a group or user namespace. // -// import { +// > **Default Branch Protection Workaround** Projects are created with default branch protection. +// Since this default branch protection is not currently managed via Terraform, to workaround this limitation, +// you can remove the default branch protection via the API and create your desired Terraform managed branch protection. +// In the `Project` resource, define a `local-exec` provisioner which invokes +// the `/projects/:id/protected_branches/:name` API via curl to delete the branch protection on the default +// branch using a `DELETE` request. Then define the desired branch protection using the `BranchProtection` resource. // -// to = gitlab_project.example +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/projects/) // -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: +// ## Import // -// ```sh -// $ pulumi import gitlab:index/project:Project You can import a project state using ` `. The -// ``` +// Starting in Terraform v1.5.0, you can use an import block to import `Project`. For example: // -// `id` can be whatever the [get single project api][get_single_project] takes for +// Importing using the CLI is supported with the following syntax: // +// `id` can be whatever the [get single project api][getSingleProject] takes for // its `:id` value, so for example: // // ```sh // $ pulumi import gitlab:index/project:Project example richardc/example // ``` // -// NOTE: the `import_url_username` and `import_url_password` cannot be imported. +// NOTE: the `importUrlUsername` and `importUrlPassword` cannot be imported. type Project struct { pulumi.CustomResourceState @@ -51,21 +47,22 @@ type Project struct { AllowPipelineTriggerApproveDeployment pulumi.BoolOutput `pulumi:"allowPipelineTriggerApproveDeployment"` // Set the analytics access level. Valid values are `disabled`, `private`, `enabled`. AnalyticsAccessLevel pulumi.StringOutput `pulumi:"analyticsAccessLevel"` - // Number of merge request approvals required for merging. Default is 0. - // This field **does not** work well in combination with the `ProjectApprovalRule` resource - // and is most likely gonna be deprecated in a future GitLab version (see [this upstream epic](https://gitlab.com/groups/gitlab-org/-/epics/7572)). - // In the meantime we recommend against using this attribute and use `ProjectApprovalRule` instead. + // Number of merge request approvals required for merging. Default is 0. This field **does not** work well in combination with the `ProjectApprovalRule` resource. We recommend you do not use this deprecated field and use `ProjectApprovalRule` instead. To be removed in 19.0. + // + // Deprecated: Use the resource `ProjectApprovalRule` instead. To be removed in 19.0. ApprovalsBeforeMerge pulumi.IntPtrOutput `pulumi:"approvalsBeforeMerge"` // Set to `true` to archive the project instead of deleting on destroy. If set to `true` it will entire omit the `DELETE` operation. ArchiveOnDestroy pulumi.BoolPtrOutput `pulumi:"archiveOnDestroy"` // Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter. Archived pulumi.BoolPtrOutput `pulumi:"archived"` - // Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled. + // Auto-cancel pending pipelines. This isn't a boolean, but enabled/disabled. AutoCancelPendingPipelines pulumi.StringOutput `pulumi:"autoCancelPendingPipelines"` // Auto Deploy strategy. Valid values are `continuous`, `manual`, `timedIncremental`. AutoDevopsDeployStrategy pulumi.StringOutput `pulumi:"autoDevopsDeployStrategy"` // Enable Auto DevOps for this project. AutoDevopsEnabled pulumi.BoolOutput `pulumi:"autoDevopsEnabled"` + // Enable automatic reviews by GitLab Duo on merge requests. Ultimate only. Automatic reviews only work with the GitLab Duo Enterprise add-on. + AutoDuoCodeReviewEnabled pulumi.BoolOutput `pulumi:"autoDuoCodeReviewEnabled"` // Set whether auto-closing referenced issues on default branch. AutocloseReferencedIssues pulumi.BoolOutput `pulumi:"autocloseReferencedIssues"` // A local path to the avatar image to upload. **Note**: not available for imported resources. @@ -74,10 +71,8 @@ type Project struct { AvatarHash pulumi.StringOutput `pulumi:"avatarHash"` // The URL of the avatar image. AvatarUrl pulumi.StringOutput `pulumi:"avatarUrl"` - // Test coverage parsing for the project. This is deprecated feature in GitLab 15.0. - // - // Deprecated: build_coverage_regex is removed in GitLab 15.0. - BuildCoverageRegex pulumi.StringPtrOutput `pulumi:"buildCoverageRegex"` + // Branches to fork (empty for all branches). + Branches pulumi.StringPtrOutput `pulumi:"branches"` // The Git strategy. Defaults to fetch. Valid values are `clone`, `fetch`. BuildGitStrategy pulumi.StringOutput `pulumi:"buildGitStrategy"` // The maximum amount of time, in seconds, that a job can run. @@ -92,10 +87,14 @@ type Project struct { CiDeletePipelinesInSeconds pulumi.IntOutput `pulumi:"ciDeletePipelinesInSeconds"` // When a new deployment job starts, skip older deployment jobs that are still pending. CiForwardDeploymentEnabled pulumi.BoolOutput `pulumi:"ciForwardDeploymentEnabled"` + // Allow job retries even if the deployment job is outdated. + CiForwardDeploymentRollbackAllowed pulumi.BoolOutput `pulumi:"ciForwardDeploymentRollbackAllowed"` // Fields included in the sub claim of the ID Token. Accepts an array starting with project*path. The array might also include ref*type and ref. Defaults to ["project*path", "ref*type", "ref"]. Introduced in GitLab 17.10. CiIdTokenSubClaimComponents pulumi.StringArrayOutput `pulumi:"ciIdTokenSubClaimComponents"` // The minimum role required to set variables when running pipelines and jobs. Introduced in GitLab 17.1. Valid values are `developer`, `maintainer`, `owner`, `noOneAllowed` CiPipelineVariablesMinimumOverrideRole pulumi.StringOutput `pulumi:"ciPipelineVariablesMinimumOverrideRole"` + // Allow Git push requests to your project repository that are authenticated with a CI/CD job token. + CiPushRepositoryForJobTokenAllowed pulumi.BoolOutput `pulumi:"ciPushRepositoryForJobTokenAllowed"` // The role required to cancel a pipeline or job. Premium and Ultimate only. Valid values are `developer`, `maintainer`, `no one` CiRestrictPipelineCancellationRole pulumi.StringOutput `pulumi:"ciRestrictPipelineCancellationRole"` // Use separate caches for protected branches. @@ -104,9 +103,9 @@ type Project struct { ContainerExpirationPolicy ProjectContainerExpirationPolicyOutput `pulumi:"containerExpirationPolicy"` // Set visibility of container registry, for this project. Valid values are `disabled`, `private`, `enabled`. ContainerRegistryAccessLevel pulumi.StringOutput `pulumi:"containerRegistryAccessLevel"` - // Enable container registry for the project. + // Enable container registry for the project. Use `containerRegistryAccessLevel` instead. To be removed in 19.0. // - // Deprecated: Use `containerRegistryAccessLevel` instead. + // Deprecated: Use `containerRegistryAccessLevel` instead. To be removed in 19.0. ContainerRegistryEnabled pulumi.BoolOutput `pulumi:"containerRegistryEnabled"` // The default branch for the project. DefaultBranch pulumi.StringOutput `pulumi:"defaultBranch"` @@ -132,8 +131,8 @@ type Project struct { GroupWithProjectTemplatesId pulumi.IntPtrOutput `pulumi:"groupWithProjectTemplatesId"` // URL that can be provided to `git clone` to clone the HttpUrlToRepo pulumi.StringOutput `pulumi:"httpUrlToRepo"` - // Git URL to a repository to be imported. Together with `mirror = true` it will setup a Pull Mirror. This can also be used together with `forkedFromProjectId` to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in `importUrlUsername` and `importUrlPassword`. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using `pulumi import`. See the examples section for how to properly use it. - ImportUrl pulumi.StringPtrOutput `pulumi:"importUrl"` + // Git URL to a repository to be imported. Use with creating a mirror is deprecated - use `ProjectPullMirror` instead. Together with `mirror = true` it will setup a Pull Mirror. This can also be used together with `forkedFromProjectId` to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in `importUrlUsername` and `importUrlPassword`. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using `pulumi import`. See the examples section for how to properly use it. + ImportUrl pulumi.StringOutput `pulumi:"importUrl"` // The password for the `importUrl`. The value of this field is used to construct a valid `importUrl` and is only related to the provider. This field cannot be imported using `pulumi import`. See the examples section for how to properly use it. ImportUrlPassword pulumi.StringPtrOutput `pulumi:"importUrlPassword"` // The username for the `importUrl`. The value of this field is used to construct a valid `importUrl` and is only related to the provider. This field cannot be imported using `pulumi import`. See the examples section for how to properly use it. @@ -144,7 +143,9 @@ type Project struct { InitializeWithReadme pulumi.BoolPtrOutput `pulumi:"initializeWithReadme"` // Set the issues access level. Valid values are `disabled`, `private`, `enabled`. IssuesAccessLevel pulumi.StringOutput `pulumi:"issuesAccessLevel"` - // Enable issue tracking for the project. + // Enable issue tracking for the project. Use `issuesAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `issuesAccessLevel` instead. To be removed in 19.0. IssuesEnabled pulumi.BoolOutput `pulumi:"issuesEnabled"` // Sets the template for new issues in the project. IssuesTemplate pulumi.StringPtrOutput `pulumi:"issuesTemplate"` @@ -152,25 +153,41 @@ type Project struct { KeepLatestArtifact pulumi.BoolOutput `pulumi:"keepLatestArtifact"` // Enable LFS for the project. LfsEnabled pulumi.BoolOutput `pulumi:"lfsEnabled"` + // The maximum file size in megabytes for individual job artifacts. + MaxArtifactsSize pulumi.IntOutput `pulumi:"maxArtifactsSize"` // Template used to create merge commit message in merge requests. MergeCommitTemplate pulumi.StringPtrOutput `pulumi:"mergeCommitTemplate"` // Set the merge method. Valid values are `merge`, `rebaseMerge`, `ff`. MergeMethod pulumi.StringOutput `pulumi:"mergeMethod"` // Enable or disable merge pipelines. MergePipelinesEnabled pulumi.BoolOutput `pulumi:"mergePipelinesEnabled"` + // Set the regex pattern that merge request titles must match. Use `mergeRequestTitleRegexDescription` to provide a hint to the user. + MergeRequestTitleRegex pulumi.StringOutput `pulumi:"mergeRequestTitleRegex"` + // Set the description shown to users when a merge request title does not match `mergeRequestTitleRegex`. + MergeRequestTitleRegexDescription pulumi.StringOutput `pulumi:"mergeRequestTitleRegexDescription"` // Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`. MergeRequestsAccessLevel pulumi.StringOutput `pulumi:"mergeRequestsAccessLevel"` - // Enable merge requests for the project. + // Enable merge requests for the project. Use `mergeRequestsAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `mergeRequestsAccessLevel` instead. To be removed in 19.0. MergeRequestsEnabled pulumi.BoolOutput `pulumi:"mergeRequestsEnabled"` // Sets the template for new merge requests in the project. MergeRequestsTemplate pulumi.StringPtrOutput `pulumi:"mergeRequestsTemplate"` // Enable or disable merge trains. Requires `mergePipelinesEnabled` to be set to `true` to take effect. MergeTrainsEnabled pulumi.BoolOutput `pulumi:"mergeTrainsEnabled"` - // Enable project pull mirror. - Mirror pulumi.BoolPtrOutput `pulumi:"mirror"` - // Enable overwrite diverged branches for a mirrored project. + // Allows merge train merge requests to be merged without waiting for pipelines to finish. Requires `mergePipelinesEnabled` to be set to `true` to take effect. + MergeTrainsSkipTrainAllowed pulumi.BoolOutput `pulumi:"mergeTrainsSkipTrainAllowed"` + // Deprecated: to be removed in 19.0. Use `ProjectPullMirror` instead. Enable project pull mirror. + // + // Deprecated: To be removed in 19.0. Use `ProjectPullMirror` instead. + Mirror pulumi.BoolOutput `pulumi:"mirror"` + // Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_overwrites_diverged_branches` instead. Enable overwrite diverged branches for a mirrored project. + // + // Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_overwrites_diverged_branches` instead. MirrorOverwritesDivergedBranches pulumi.BoolOutput `pulumi:"mirrorOverwritesDivergedBranches"` - // Enable trigger builds on pushes for a mirrored project. + // Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_trigger_builds` instead. Enable trigger builds on pushes for a mirrored project. + // + // Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_trigger_builds` instead. MirrorTriggerBuilds pulumi.BoolOutput `pulumi:"mirrorTriggerBuilds"` // Set visibility of machine learning model experiments. Valid values are `disabled`, `private`, `enabled`. ModelExperimentsAccessLevel pulumi.StringOutput `pulumi:"modelExperimentsAccessLevel"` @@ -188,7 +205,9 @@ type Project struct { OnlyAllowMergeIfAllDiscussionsAreResolved pulumi.BoolOutput `pulumi:"onlyAllowMergeIfAllDiscussionsAreResolved"` // Set to true if you want allow merges only if a pipeline succeeds. OnlyAllowMergeIfPipelineSucceeds pulumi.BoolOutput `pulumi:"onlyAllowMergeIfPipelineSucceeds"` - // Enable only mirror protected branches for a mirrored project. + // Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.only_mirror_protected_branches` instead. Enable only mirror protected branches for a mirrored project. + // + // Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.only_mirror_protected_branches` instead. OnlyMirrorProtectedBranches pulumi.BoolOutput `pulumi:"onlyMirrorProtectedBranches"` // Enable packages repository for the project. PackagesEnabled pulumi.BoolOutput `pulumi:"packagesEnabled"` @@ -200,11 +219,11 @@ type Project struct { PathWithNamespace pulumi.StringOutput `pulumi:"pathWithNamespace"` // Set to `true` to immediately permanently delete the project instead of scheduling a delete for Premium and Ultimate tiers. PermanentlyDeleteOnDestroy pulumi.BoolPtrOutput `pulumi:"permanentlyDeleteOnDestroy"` - // Enable pipelines for the project. The `pipelinesEnabled` field is being sent as `jobsEnabled` in the GitLab API calls. + // Enable pipelines for the project. The `pipelinesEnabled` field is being sent as `jobsEnabled` in the GitLab API calls. Use `buildsAccessLevel` instead. To be removed in 19.0. // - // Deprecated: Deprecated in favor of `buildsAccessLevel` + // Deprecated: Use `buildsAccessLevel` instead. To be removed in 19.0. PipelinesEnabled pulumi.BoolOutput `pulumi:"pipelinesEnabled"` - // Whether Secret Push Detection is enabled. Requires GitLab Ultimate and at least GitLab 17.3. + // Whether Secret Push Detection is enabled. Requires GitLab Ultimate. PreReceiveSecretDetectionEnabled pulumi.BoolOutput `pulumi:"preReceiveSecretDetectionEnabled"` // Set whether merge requests require an associated issue from Jira. Premium and Ultimate only. PreventMergeWithoutJiraIssue pulumi.BoolOutput `pulumi:"preventMergeWithoutJiraIssue"` @@ -232,7 +251,11 @@ type Project struct { RequirementsAccessLevel pulumi.StringOutput `pulumi:"requirementsAccessLevel"` // Automatically resolve merge request diffs discussions on lines changed with a push. ResolveOutdatedDiffDiscussions pulumi.BoolPtrOutput `pulumi:"resolveOutdatedDiffDiscussions"` - // Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. + // The default resource group process mode for the project. + ResourceGroupDefaultProcessMode pulumi.StringOutput `pulumi:"resourceGroupDefaultProcessMode"` + // Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. Use `ciPipelineVariablesMinimumOverrideRole` instead. To be removed in 19.0. + // + // Deprecated: Use `ciPipelineVariablesMinimumOverrideRole` instead. To be removed in 19.0. RestrictUserDefinedVariables pulumi.BoolOutput `pulumi:"restrictUserDefinedVariables"` // Registration token to use during runner setup. RunnersToken pulumi.StringOutput `pulumi:"runnersToken"` @@ -247,7 +270,9 @@ type Project struct { SkipWaitForDefaultBranchProtection pulumi.BoolPtrOutput `pulumi:"skipWaitForDefaultBranchProtection"` // Set the snippets access level. Valid values are `disabled`, `private`, `enabled`. SnippetsAccessLevel pulumi.StringOutput `pulumi:"snippetsAccessLevel"` - // Enable snippets for the project. + // Enable snippets for the project. Use `snippetsAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `snippetsAccessLevel` instead. To be removed in 19.0. SnippetsEnabled pulumi.BoolOutput `pulumi:"snippetsEnabled"` // Template used to create squash commit message in merge requests. SquashCommitTemplate pulumi.StringPtrOutput `pulumi:"squashCommitTemplate"` @@ -257,7 +282,9 @@ type Project struct { SshUrlToRepo pulumi.StringOutput `pulumi:"sshUrlToRepo"` // The commit message used to apply merge request suggestions. SuggestionCommitMessage pulumi.StringPtrOutput `pulumi:"suggestionCommitMessage"` - // The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead. + // The list of tags for a project; put array of tags, that should be finally assigned to a project. Use `topics` instead. To be removed in 19.0. + // + // Deprecated: Use `topics` instead. To be removed in 19.0. Tags pulumi.StringArrayOutput `pulumi:"tags"` // When used without use*custom*template, name of a built-in project template. When used with use*custom*template, name of a custom project template. This option is mutually exclusive with `templateProjectId`. TemplateName pulumi.StringPtrOutput `pulumi:"templateName"` @@ -266,7 +293,7 @@ type Project struct { // The list of topics for the project. Topics pulumi.StringArrayOutput `pulumi:"topics"` // Use either custom instance or group (with group*with*project*templates*id) project template (enterprise edition). - // > When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/15.7/ee/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token. + // > When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token. UseCustomTemplate pulumi.BoolPtrOutput `pulumi:"useCustomTemplate"` // Set to `public` to create a public project. Valid values are `private`, `internal`, `public`. VisibilityLevel pulumi.StringOutput `pulumi:"visibilityLevel"` @@ -274,7 +301,9 @@ type Project struct { WebUrl pulumi.StringOutput `pulumi:"webUrl"` // Set the wiki access level. Valid values are `disabled`, `private`, `enabled`. WikiAccessLevel pulumi.StringOutput `pulumi:"wikiAccessLevel"` - // Enable wiki for the project. + // Enable wiki for the project. Use `wikiAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `wikiAccessLevel` instead. To be removed in 19.0. WikiEnabled pulumi.BoolOutput `pulumi:"wikiEnabled"` } @@ -322,21 +351,22 @@ type projectState struct { AllowPipelineTriggerApproveDeployment *bool `pulumi:"allowPipelineTriggerApproveDeployment"` // Set the analytics access level. Valid values are `disabled`, `private`, `enabled`. AnalyticsAccessLevel *string `pulumi:"analyticsAccessLevel"` - // Number of merge request approvals required for merging. Default is 0. - // This field **does not** work well in combination with the `ProjectApprovalRule` resource - // and is most likely gonna be deprecated in a future GitLab version (see [this upstream epic](https://gitlab.com/groups/gitlab-org/-/epics/7572)). - // In the meantime we recommend against using this attribute and use `ProjectApprovalRule` instead. + // Number of merge request approvals required for merging. Default is 0. This field **does not** work well in combination with the `ProjectApprovalRule` resource. We recommend you do not use this deprecated field and use `ProjectApprovalRule` instead. To be removed in 19.0. + // + // Deprecated: Use the resource `ProjectApprovalRule` instead. To be removed in 19.0. ApprovalsBeforeMerge *int `pulumi:"approvalsBeforeMerge"` // Set to `true` to archive the project instead of deleting on destroy. If set to `true` it will entire omit the `DELETE` operation. ArchiveOnDestroy *bool `pulumi:"archiveOnDestroy"` // Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter. Archived *bool `pulumi:"archived"` - // Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled. + // Auto-cancel pending pipelines. This isn't a boolean, but enabled/disabled. AutoCancelPendingPipelines *string `pulumi:"autoCancelPendingPipelines"` // Auto Deploy strategy. Valid values are `continuous`, `manual`, `timedIncremental`. AutoDevopsDeployStrategy *string `pulumi:"autoDevopsDeployStrategy"` // Enable Auto DevOps for this project. AutoDevopsEnabled *bool `pulumi:"autoDevopsEnabled"` + // Enable automatic reviews by GitLab Duo on merge requests. Ultimate only. Automatic reviews only work with the GitLab Duo Enterprise add-on. + AutoDuoCodeReviewEnabled *bool `pulumi:"autoDuoCodeReviewEnabled"` // Set whether auto-closing referenced issues on default branch. AutocloseReferencedIssues *bool `pulumi:"autocloseReferencedIssues"` // A local path to the avatar image to upload. **Note**: not available for imported resources. @@ -345,10 +375,8 @@ type projectState struct { AvatarHash *string `pulumi:"avatarHash"` // The URL of the avatar image. AvatarUrl *string `pulumi:"avatarUrl"` - // Test coverage parsing for the project. This is deprecated feature in GitLab 15.0. - // - // Deprecated: build_coverage_regex is removed in GitLab 15.0. - BuildCoverageRegex *string `pulumi:"buildCoverageRegex"` + // Branches to fork (empty for all branches). + Branches *string `pulumi:"branches"` // The Git strategy. Defaults to fetch. Valid values are `clone`, `fetch`. BuildGitStrategy *string `pulumi:"buildGitStrategy"` // The maximum amount of time, in seconds, that a job can run. @@ -363,10 +391,14 @@ type projectState struct { CiDeletePipelinesInSeconds *int `pulumi:"ciDeletePipelinesInSeconds"` // When a new deployment job starts, skip older deployment jobs that are still pending. CiForwardDeploymentEnabled *bool `pulumi:"ciForwardDeploymentEnabled"` + // Allow job retries even if the deployment job is outdated. + CiForwardDeploymentRollbackAllowed *bool `pulumi:"ciForwardDeploymentRollbackAllowed"` // Fields included in the sub claim of the ID Token. Accepts an array starting with project*path. The array might also include ref*type and ref. Defaults to ["project*path", "ref*type", "ref"]. Introduced in GitLab 17.10. CiIdTokenSubClaimComponents []string `pulumi:"ciIdTokenSubClaimComponents"` // The minimum role required to set variables when running pipelines and jobs. Introduced in GitLab 17.1. Valid values are `developer`, `maintainer`, `owner`, `noOneAllowed` CiPipelineVariablesMinimumOverrideRole *string `pulumi:"ciPipelineVariablesMinimumOverrideRole"` + // Allow Git push requests to your project repository that are authenticated with a CI/CD job token. + CiPushRepositoryForJobTokenAllowed *bool `pulumi:"ciPushRepositoryForJobTokenAllowed"` // The role required to cancel a pipeline or job. Premium and Ultimate only. Valid values are `developer`, `maintainer`, `no one` CiRestrictPipelineCancellationRole *string `pulumi:"ciRestrictPipelineCancellationRole"` // Use separate caches for protected branches. @@ -375,9 +407,9 @@ type projectState struct { ContainerExpirationPolicy *ProjectContainerExpirationPolicy `pulumi:"containerExpirationPolicy"` // Set visibility of container registry, for this project. Valid values are `disabled`, `private`, `enabled`. ContainerRegistryAccessLevel *string `pulumi:"containerRegistryAccessLevel"` - // Enable container registry for the project. + // Enable container registry for the project. Use `containerRegistryAccessLevel` instead. To be removed in 19.0. // - // Deprecated: Use `containerRegistryAccessLevel` instead. + // Deprecated: Use `containerRegistryAccessLevel` instead. To be removed in 19.0. ContainerRegistryEnabled *bool `pulumi:"containerRegistryEnabled"` // The default branch for the project. DefaultBranch *string `pulumi:"defaultBranch"` @@ -403,7 +435,7 @@ type projectState struct { GroupWithProjectTemplatesId *int `pulumi:"groupWithProjectTemplatesId"` // URL that can be provided to `git clone` to clone the HttpUrlToRepo *string `pulumi:"httpUrlToRepo"` - // Git URL to a repository to be imported. Together with `mirror = true` it will setup a Pull Mirror. This can also be used together with `forkedFromProjectId` to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in `importUrlUsername` and `importUrlPassword`. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using `pulumi import`. See the examples section for how to properly use it. + // Git URL to a repository to be imported. Use with creating a mirror is deprecated - use `ProjectPullMirror` instead. Together with `mirror = true` it will setup a Pull Mirror. This can also be used together with `forkedFromProjectId` to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in `importUrlUsername` and `importUrlPassword`. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using `pulumi import`. See the examples section for how to properly use it. ImportUrl *string `pulumi:"importUrl"` // The password for the `importUrl`. The value of this field is used to construct a valid `importUrl` and is only related to the provider. This field cannot be imported using `pulumi import`. See the examples section for how to properly use it. ImportUrlPassword *string `pulumi:"importUrlPassword"` @@ -415,7 +447,9 @@ type projectState struct { InitializeWithReadme *bool `pulumi:"initializeWithReadme"` // Set the issues access level. Valid values are `disabled`, `private`, `enabled`. IssuesAccessLevel *string `pulumi:"issuesAccessLevel"` - // Enable issue tracking for the project. + // Enable issue tracking for the project. Use `issuesAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `issuesAccessLevel` instead. To be removed in 19.0. IssuesEnabled *bool `pulumi:"issuesEnabled"` // Sets the template for new issues in the project. IssuesTemplate *string `pulumi:"issuesTemplate"` @@ -423,25 +457,41 @@ type projectState struct { KeepLatestArtifact *bool `pulumi:"keepLatestArtifact"` // Enable LFS for the project. LfsEnabled *bool `pulumi:"lfsEnabled"` + // The maximum file size in megabytes for individual job artifacts. + MaxArtifactsSize *int `pulumi:"maxArtifactsSize"` // Template used to create merge commit message in merge requests. MergeCommitTemplate *string `pulumi:"mergeCommitTemplate"` // Set the merge method. Valid values are `merge`, `rebaseMerge`, `ff`. MergeMethod *string `pulumi:"mergeMethod"` // Enable or disable merge pipelines. MergePipelinesEnabled *bool `pulumi:"mergePipelinesEnabled"` + // Set the regex pattern that merge request titles must match. Use `mergeRequestTitleRegexDescription` to provide a hint to the user. + MergeRequestTitleRegex *string `pulumi:"mergeRequestTitleRegex"` + // Set the description shown to users when a merge request title does not match `mergeRequestTitleRegex`. + MergeRequestTitleRegexDescription *string `pulumi:"mergeRequestTitleRegexDescription"` // Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`. MergeRequestsAccessLevel *string `pulumi:"mergeRequestsAccessLevel"` - // Enable merge requests for the project. + // Enable merge requests for the project. Use `mergeRequestsAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `mergeRequestsAccessLevel` instead. To be removed in 19.0. MergeRequestsEnabled *bool `pulumi:"mergeRequestsEnabled"` // Sets the template for new merge requests in the project. MergeRequestsTemplate *string `pulumi:"mergeRequestsTemplate"` // Enable or disable merge trains. Requires `mergePipelinesEnabled` to be set to `true` to take effect. MergeTrainsEnabled *bool `pulumi:"mergeTrainsEnabled"` - // Enable project pull mirror. + // Allows merge train merge requests to be merged without waiting for pipelines to finish. Requires `mergePipelinesEnabled` to be set to `true` to take effect. + MergeTrainsSkipTrainAllowed *bool `pulumi:"mergeTrainsSkipTrainAllowed"` + // Deprecated: to be removed in 19.0. Use `ProjectPullMirror` instead. Enable project pull mirror. + // + // Deprecated: To be removed in 19.0. Use `ProjectPullMirror` instead. Mirror *bool `pulumi:"mirror"` - // Enable overwrite diverged branches for a mirrored project. + // Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_overwrites_diverged_branches` instead. Enable overwrite diverged branches for a mirrored project. + // + // Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_overwrites_diverged_branches` instead. MirrorOverwritesDivergedBranches *bool `pulumi:"mirrorOverwritesDivergedBranches"` - // Enable trigger builds on pushes for a mirrored project. + // Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_trigger_builds` instead. Enable trigger builds on pushes for a mirrored project. + // + // Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_trigger_builds` instead. MirrorTriggerBuilds *bool `pulumi:"mirrorTriggerBuilds"` // Set visibility of machine learning model experiments. Valid values are `disabled`, `private`, `enabled`. ModelExperimentsAccessLevel *string `pulumi:"modelExperimentsAccessLevel"` @@ -459,7 +509,9 @@ type projectState struct { OnlyAllowMergeIfAllDiscussionsAreResolved *bool `pulumi:"onlyAllowMergeIfAllDiscussionsAreResolved"` // Set to true if you want allow merges only if a pipeline succeeds. OnlyAllowMergeIfPipelineSucceeds *bool `pulumi:"onlyAllowMergeIfPipelineSucceeds"` - // Enable only mirror protected branches for a mirrored project. + // Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.only_mirror_protected_branches` instead. Enable only mirror protected branches for a mirrored project. + // + // Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.only_mirror_protected_branches` instead. OnlyMirrorProtectedBranches *bool `pulumi:"onlyMirrorProtectedBranches"` // Enable packages repository for the project. PackagesEnabled *bool `pulumi:"packagesEnabled"` @@ -471,11 +523,11 @@ type projectState struct { PathWithNamespace *string `pulumi:"pathWithNamespace"` // Set to `true` to immediately permanently delete the project instead of scheduling a delete for Premium and Ultimate tiers. PermanentlyDeleteOnDestroy *bool `pulumi:"permanentlyDeleteOnDestroy"` - // Enable pipelines for the project. The `pipelinesEnabled` field is being sent as `jobsEnabled` in the GitLab API calls. + // Enable pipelines for the project. The `pipelinesEnabled` field is being sent as `jobsEnabled` in the GitLab API calls. Use `buildsAccessLevel` instead. To be removed in 19.0. // - // Deprecated: Deprecated in favor of `buildsAccessLevel` + // Deprecated: Use `buildsAccessLevel` instead. To be removed in 19.0. PipelinesEnabled *bool `pulumi:"pipelinesEnabled"` - // Whether Secret Push Detection is enabled. Requires GitLab Ultimate and at least GitLab 17.3. + // Whether Secret Push Detection is enabled. Requires GitLab Ultimate. PreReceiveSecretDetectionEnabled *bool `pulumi:"preReceiveSecretDetectionEnabled"` // Set whether merge requests require an associated issue from Jira. Premium and Ultimate only. PreventMergeWithoutJiraIssue *bool `pulumi:"preventMergeWithoutJiraIssue"` @@ -503,7 +555,11 @@ type projectState struct { RequirementsAccessLevel *string `pulumi:"requirementsAccessLevel"` // Automatically resolve merge request diffs discussions on lines changed with a push. ResolveOutdatedDiffDiscussions *bool `pulumi:"resolveOutdatedDiffDiscussions"` - // Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. + // The default resource group process mode for the project. + ResourceGroupDefaultProcessMode *string `pulumi:"resourceGroupDefaultProcessMode"` + // Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. Use `ciPipelineVariablesMinimumOverrideRole` instead. To be removed in 19.0. + // + // Deprecated: Use `ciPipelineVariablesMinimumOverrideRole` instead. To be removed in 19.0. RestrictUserDefinedVariables *bool `pulumi:"restrictUserDefinedVariables"` // Registration token to use during runner setup. RunnersToken *string `pulumi:"runnersToken"` @@ -518,7 +574,9 @@ type projectState struct { SkipWaitForDefaultBranchProtection *bool `pulumi:"skipWaitForDefaultBranchProtection"` // Set the snippets access level. Valid values are `disabled`, `private`, `enabled`. SnippetsAccessLevel *string `pulumi:"snippetsAccessLevel"` - // Enable snippets for the project. + // Enable snippets for the project. Use `snippetsAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `snippetsAccessLevel` instead. To be removed in 19.0. SnippetsEnabled *bool `pulumi:"snippetsEnabled"` // Template used to create squash commit message in merge requests. SquashCommitTemplate *string `pulumi:"squashCommitTemplate"` @@ -528,7 +586,9 @@ type projectState struct { SshUrlToRepo *string `pulumi:"sshUrlToRepo"` // The commit message used to apply merge request suggestions. SuggestionCommitMessage *string `pulumi:"suggestionCommitMessage"` - // The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead. + // The list of tags for a project; put array of tags, that should be finally assigned to a project. Use `topics` instead. To be removed in 19.0. + // + // Deprecated: Use `topics` instead. To be removed in 19.0. Tags []string `pulumi:"tags"` // When used without use*custom*template, name of a built-in project template. When used with use*custom*template, name of a custom project template. This option is mutually exclusive with `templateProjectId`. TemplateName *string `pulumi:"templateName"` @@ -537,7 +597,7 @@ type projectState struct { // The list of topics for the project. Topics []string `pulumi:"topics"` // Use either custom instance or group (with group*with*project*templates*id) project template (enterprise edition). - // > When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/15.7/ee/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token. + // > When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token. UseCustomTemplate *bool `pulumi:"useCustomTemplate"` // Set to `public` to create a public project. Valid values are `private`, `internal`, `public`. VisibilityLevel *string `pulumi:"visibilityLevel"` @@ -545,7 +605,9 @@ type projectState struct { WebUrl *string `pulumi:"webUrl"` // Set the wiki access level. Valid values are `disabled`, `private`, `enabled`. WikiAccessLevel *string `pulumi:"wikiAccessLevel"` - // Enable wiki for the project. + // Enable wiki for the project. Use `wikiAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `wikiAccessLevel` instead. To be removed in 19.0. WikiEnabled *bool `pulumi:"wikiEnabled"` } @@ -556,21 +618,22 @@ type ProjectState struct { AllowPipelineTriggerApproveDeployment pulumi.BoolPtrInput // Set the analytics access level. Valid values are `disabled`, `private`, `enabled`. AnalyticsAccessLevel pulumi.StringPtrInput - // Number of merge request approvals required for merging. Default is 0. - // This field **does not** work well in combination with the `ProjectApprovalRule` resource - // and is most likely gonna be deprecated in a future GitLab version (see [this upstream epic](https://gitlab.com/groups/gitlab-org/-/epics/7572)). - // In the meantime we recommend against using this attribute and use `ProjectApprovalRule` instead. + // Number of merge request approvals required for merging. Default is 0. This field **does not** work well in combination with the `ProjectApprovalRule` resource. We recommend you do not use this deprecated field and use `ProjectApprovalRule` instead. To be removed in 19.0. + // + // Deprecated: Use the resource `ProjectApprovalRule` instead. To be removed in 19.0. ApprovalsBeforeMerge pulumi.IntPtrInput // Set to `true` to archive the project instead of deleting on destroy. If set to `true` it will entire omit the `DELETE` operation. ArchiveOnDestroy pulumi.BoolPtrInput // Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter. Archived pulumi.BoolPtrInput - // Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled. + // Auto-cancel pending pipelines. This isn't a boolean, but enabled/disabled. AutoCancelPendingPipelines pulumi.StringPtrInput // Auto Deploy strategy. Valid values are `continuous`, `manual`, `timedIncremental`. AutoDevopsDeployStrategy pulumi.StringPtrInput // Enable Auto DevOps for this project. AutoDevopsEnabled pulumi.BoolPtrInput + // Enable automatic reviews by GitLab Duo on merge requests. Ultimate only. Automatic reviews only work with the GitLab Duo Enterprise add-on. + AutoDuoCodeReviewEnabled pulumi.BoolPtrInput // Set whether auto-closing referenced issues on default branch. AutocloseReferencedIssues pulumi.BoolPtrInput // A local path to the avatar image to upload. **Note**: not available for imported resources. @@ -579,10 +642,8 @@ type ProjectState struct { AvatarHash pulumi.StringPtrInput // The URL of the avatar image. AvatarUrl pulumi.StringPtrInput - // Test coverage parsing for the project. This is deprecated feature in GitLab 15.0. - // - // Deprecated: build_coverage_regex is removed in GitLab 15.0. - BuildCoverageRegex pulumi.StringPtrInput + // Branches to fork (empty for all branches). + Branches pulumi.StringPtrInput // The Git strategy. Defaults to fetch. Valid values are `clone`, `fetch`. BuildGitStrategy pulumi.StringPtrInput // The maximum amount of time, in seconds, that a job can run. @@ -597,10 +658,14 @@ type ProjectState struct { CiDeletePipelinesInSeconds pulumi.IntPtrInput // When a new deployment job starts, skip older deployment jobs that are still pending. CiForwardDeploymentEnabled pulumi.BoolPtrInput + // Allow job retries even if the deployment job is outdated. + CiForwardDeploymentRollbackAllowed pulumi.BoolPtrInput // Fields included in the sub claim of the ID Token. Accepts an array starting with project*path. The array might also include ref*type and ref. Defaults to ["project*path", "ref*type", "ref"]. Introduced in GitLab 17.10. CiIdTokenSubClaimComponents pulumi.StringArrayInput // The minimum role required to set variables when running pipelines and jobs. Introduced in GitLab 17.1. Valid values are `developer`, `maintainer`, `owner`, `noOneAllowed` CiPipelineVariablesMinimumOverrideRole pulumi.StringPtrInput + // Allow Git push requests to your project repository that are authenticated with a CI/CD job token. + CiPushRepositoryForJobTokenAllowed pulumi.BoolPtrInput // The role required to cancel a pipeline or job. Premium and Ultimate only. Valid values are `developer`, `maintainer`, `no one` CiRestrictPipelineCancellationRole pulumi.StringPtrInput // Use separate caches for protected branches. @@ -609,9 +674,9 @@ type ProjectState struct { ContainerExpirationPolicy ProjectContainerExpirationPolicyPtrInput // Set visibility of container registry, for this project. Valid values are `disabled`, `private`, `enabled`. ContainerRegistryAccessLevel pulumi.StringPtrInput - // Enable container registry for the project. + // Enable container registry for the project. Use `containerRegistryAccessLevel` instead. To be removed in 19.0. // - // Deprecated: Use `containerRegistryAccessLevel` instead. + // Deprecated: Use `containerRegistryAccessLevel` instead. To be removed in 19.0. ContainerRegistryEnabled pulumi.BoolPtrInput // The default branch for the project. DefaultBranch pulumi.StringPtrInput @@ -637,7 +702,7 @@ type ProjectState struct { GroupWithProjectTemplatesId pulumi.IntPtrInput // URL that can be provided to `git clone` to clone the HttpUrlToRepo pulumi.StringPtrInput - // Git URL to a repository to be imported. Together with `mirror = true` it will setup a Pull Mirror. This can also be used together with `forkedFromProjectId` to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in `importUrlUsername` and `importUrlPassword`. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using `pulumi import`. See the examples section for how to properly use it. + // Git URL to a repository to be imported. Use with creating a mirror is deprecated - use `ProjectPullMirror` instead. Together with `mirror = true` it will setup a Pull Mirror. This can also be used together with `forkedFromProjectId` to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in `importUrlUsername` and `importUrlPassword`. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using `pulumi import`. See the examples section for how to properly use it. ImportUrl pulumi.StringPtrInput // The password for the `importUrl`. The value of this field is used to construct a valid `importUrl` and is only related to the provider. This field cannot be imported using `pulumi import`. See the examples section for how to properly use it. ImportUrlPassword pulumi.StringPtrInput @@ -649,7 +714,9 @@ type ProjectState struct { InitializeWithReadme pulumi.BoolPtrInput // Set the issues access level. Valid values are `disabled`, `private`, `enabled`. IssuesAccessLevel pulumi.StringPtrInput - // Enable issue tracking for the project. + // Enable issue tracking for the project. Use `issuesAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `issuesAccessLevel` instead. To be removed in 19.0. IssuesEnabled pulumi.BoolPtrInput // Sets the template for new issues in the project. IssuesTemplate pulumi.StringPtrInput @@ -657,25 +724,41 @@ type ProjectState struct { KeepLatestArtifact pulumi.BoolPtrInput // Enable LFS for the project. LfsEnabled pulumi.BoolPtrInput + // The maximum file size in megabytes for individual job artifacts. + MaxArtifactsSize pulumi.IntPtrInput // Template used to create merge commit message in merge requests. MergeCommitTemplate pulumi.StringPtrInput // Set the merge method. Valid values are `merge`, `rebaseMerge`, `ff`. MergeMethod pulumi.StringPtrInput // Enable or disable merge pipelines. MergePipelinesEnabled pulumi.BoolPtrInput + // Set the regex pattern that merge request titles must match. Use `mergeRequestTitleRegexDescription` to provide a hint to the user. + MergeRequestTitleRegex pulumi.StringPtrInput + // Set the description shown to users when a merge request title does not match `mergeRequestTitleRegex`. + MergeRequestTitleRegexDescription pulumi.StringPtrInput // Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`. MergeRequestsAccessLevel pulumi.StringPtrInput - // Enable merge requests for the project. + // Enable merge requests for the project. Use `mergeRequestsAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `mergeRequestsAccessLevel` instead. To be removed in 19.0. MergeRequestsEnabled pulumi.BoolPtrInput // Sets the template for new merge requests in the project. MergeRequestsTemplate pulumi.StringPtrInput // Enable or disable merge trains. Requires `mergePipelinesEnabled` to be set to `true` to take effect. MergeTrainsEnabled pulumi.BoolPtrInput - // Enable project pull mirror. + // Allows merge train merge requests to be merged without waiting for pipelines to finish. Requires `mergePipelinesEnabled` to be set to `true` to take effect. + MergeTrainsSkipTrainAllowed pulumi.BoolPtrInput + // Deprecated: to be removed in 19.0. Use `ProjectPullMirror` instead. Enable project pull mirror. + // + // Deprecated: To be removed in 19.0. Use `ProjectPullMirror` instead. Mirror pulumi.BoolPtrInput - // Enable overwrite diverged branches for a mirrored project. + // Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_overwrites_diverged_branches` instead. Enable overwrite diverged branches for a mirrored project. + // + // Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_overwrites_diverged_branches` instead. MirrorOverwritesDivergedBranches pulumi.BoolPtrInput - // Enable trigger builds on pushes for a mirrored project. + // Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_trigger_builds` instead. Enable trigger builds on pushes for a mirrored project. + // + // Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_trigger_builds` instead. MirrorTriggerBuilds pulumi.BoolPtrInput // Set visibility of machine learning model experiments. Valid values are `disabled`, `private`, `enabled`. ModelExperimentsAccessLevel pulumi.StringPtrInput @@ -693,7 +776,9 @@ type ProjectState struct { OnlyAllowMergeIfAllDiscussionsAreResolved pulumi.BoolPtrInput // Set to true if you want allow merges only if a pipeline succeeds. OnlyAllowMergeIfPipelineSucceeds pulumi.BoolPtrInput - // Enable only mirror protected branches for a mirrored project. + // Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.only_mirror_protected_branches` instead. Enable only mirror protected branches for a mirrored project. + // + // Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.only_mirror_protected_branches` instead. OnlyMirrorProtectedBranches pulumi.BoolPtrInput // Enable packages repository for the project. PackagesEnabled pulumi.BoolPtrInput @@ -705,11 +790,11 @@ type ProjectState struct { PathWithNamespace pulumi.StringPtrInput // Set to `true` to immediately permanently delete the project instead of scheduling a delete for Premium and Ultimate tiers. PermanentlyDeleteOnDestroy pulumi.BoolPtrInput - // Enable pipelines for the project. The `pipelinesEnabled` field is being sent as `jobsEnabled` in the GitLab API calls. + // Enable pipelines for the project. The `pipelinesEnabled` field is being sent as `jobsEnabled` in the GitLab API calls. Use `buildsAccessLevel` instead. To be removed in 19.0. // - // Deprecated: Deprecated in favor of `buildsAccessLevel` + // Deprecated: Use `buildsAccessLevel` instead. To be removed in 19.0. PipelinesEnabled pulumi.BoolPtrInput - // Whether Secret Push Detection is enabled. Requires GitLab Ultimate and at least GitLab 17.3. + // Whether Secret Push Detection is enabled. Requires GitLab Ultimate. PreReceiveSecretDetectionEnabled pulumi.BoolPtrInput // Set whether merge requests require an associated issue from Jira. Premium and Ultimate only. PreventMergeWithoutJiraIssue pulumi.BoolPtrInput @@ -737,7 +822,11 @@ type ProjectState struct { RequirementsAccessLevel pulumi.StringPtrInput // Automatically resolve merge request diffs discussions on lines changed with a push. ResolveOutdatedDiffDiscussions pulumi.BoolPtrInput - // Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. + // The default resource group process mode for the project. + ResourceGroupDefaultProcessMode pulumi.StringPtrInput + // Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. Use `ciPipelineVariablesMinimumOverrideRole` instead. To be removed in 19.0. + // + // Deprecated: Use `ciPipelineVariablesMinimumOverrideRole` instead. To be removed in 19.0. RestrictUserDefinedVariables pulumi.BoolPtrInput // Registration token to use during runner setup. RunnersToken pulumi.StringPtrInput @@ -752,7 +841,9 @@ type ProjectState struct { SkipWaitForDefaultBranchProtection pulumi.BoolPtrInput // Set the snippets access level. Valid values are `disabled`, `private`, `enabled`. SnippetsAccessLevel pulumi.StringPtrInput - // Enable snippets for the project. + // Enable snippets for the project. Use `snippetsAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `snippetsAccessLevel` instead. To be removed in 19.0. SnippetsEnabled pulumi.BoolPtrInput // Template used to create squash commit message in merge requests. SquashCommitTemplate pulumi.StringPtrInput @@ -762,7 +853,9 @@ type ProjectState struct { SshUrlToRepo pulumi.StringPtrInput // The commit message used to apply merge request suggestions. SuggestionCommitMessage pulumi.StringPtrInput - // The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead. + // The list of tags for a project; put array of tags, that should be finally assigned to a project. Use `topics` instead. To be removed in 19.0. + // + // Deprecated: Use `topics` instead. To be removed in 19.0. Tags pulumi.StringArrayInput // When used without use*custom*template, name of a built-in project template. When used with use*custom*template, name of a custom project template. This option is mutually exclusive with `templateProjectId`. TemplateName pulumi.StringPtrInput @@ -771,7 +864,7 @@ type ProjectState struct { // The list of topics for the project. Topics pulumi.StringArrayInput // Use either custom instance or group (with group*with*project*templates*id) project template (enterprise edition). - // > When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/15.7/ee/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token. + // > When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token. UseCustomTemplate pulumi.BoolPtrInput // Set to `public` to create a public project. Valid values are `private`, `internal`, `public`. VisibilityLevel pulumi.StringPtrInput @@ -779,7 +872,9 @@ type ProjectState struct { WebUrl pulumi.StringPtrInput // Set the wiki access level. Valid values are `disabled`, `private`, `enabled`. WikiAccessLevel pulumi.StringPtrInput - // Enable wiki for the project. + // Enable wiki for the project. Use `wikiAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `wikiAccessLevel` instead. To be removed in 19.0. WikiEnabled pulumi.BoolPtrInput } @@ -794,31 +889,30 @@ type projectArgs struct { AllowPipelineTriggerApproveDeployment *bool `pulumi:"allowPipelineTriggerApproveDeployment"` // Set the analytics access level. Valid values are `disabled`, `private`, `enabled`. AnalyticsAccessLevel *string `pulumi:"analyticsAccessLevel"` - // Number of merge request approvals required for merging. Default is 0. - // This field **does not** work well in combination with the `ProjectApprovalRule` resource - // and is most likely gonna be deprecated in a future GitLab version (see [this upstream epic](https://gitlab.com/groups/gitlab-org/-/epics/7572)). - // In the meantime we recommend against using this attribute and use `ProjectApprovalRule` instead. + // Number of merge request approvals required for merging. Default is 0. This field **does not** work well in combination with the `ProjectApprovalRule` resource. We recommend you do not use this deprecated field and use `ProjectApprovalRule` instead. To be removed in 19.0. + // + // Deprecated: Use the resource `ProjectApprovalRule` instead. To be removed in 19.0. ApprovalsBeforeMerge *int `pulumi:"approvalsBeforeMerge"` // Set to `true` to archive the project instead of deleting on destroy. If set to `true` it will entire omit the `DELETE` operation. ArchiveOnDestroy *bool `pulumi:"archiveOnDestroy"` // Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter. Archived *bool `pulumi:"archived"` - // Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled. + // Auto-cancel pending pipelines. This isn't a boolean, but enabled/disabled. AutoCancelPendingPipelines *string `pulumi:"autoCancelPendingPipelines"` // Auto Deploy strategy. Valid values are `continuous`, `manual`, `timedIncremental`. AutoDevopsDeployStrategy *string `pulumi:"autoDevopsDeployStrategy"` // Enable Auto DevOps for this project. AutoDevopsEnabled *bool `pulumi:"autoDevopsEnabled"` + // Enable automatic reviews by GitLab Duo on merge requests. Ultimate only. Automatic reviews only work with the GitLab Duo Enterprise add-on. + AutoDuoCodeReviewEnabled *bool `pulumi:"autoDuoCodeReviewEnabled"` // Set whether auto-closing referenced issues on default branch. AutocloseReferencedIssues *bool `pulumi:"autocloseReferencedIssues"` // A local path to the avatar image to upload. **Note**: not available for imported resources. Avatar *string `pulumi:"avatar"` // The hash of the avatar image. Use `filesha256("path/to/avatar.png")` whenever possible. **Note**: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. AvatarHash *string `pulumi:"avatarHash"` - // Test coverage parsing for the project. This is deprecated feature in GitLab 15.0. - // - // Deprecated: build_coverage_regex is removed in GitLab 15.0. - BuildCoverageRegex *string `pulumi:"buildCoverageRegex"` + // Branches to fork (empty for all branches). + Branches *string `pulumi:"branches"` // The Git strategy. Defaults to fetch. Valid values are `clone`, `fetch`. BuildGitStrategy *string `pulumi:"buildGitStrategy"` // The maximum amount of time, in seconds, that a job can run. @@ -833,10 +927,14 @@ type projectArgs struct { CiDeletePipelinesInSeconds *int `pulumi:"ciDeletePipelinesInSeconds"` // When a new deployment job starts, skip older deployment jobs that are still pending. CiForwardDeploymentEnabled *bool `pulumi:"ciForwardDeploymentEnabled"` + // Allow job retries even if the deployment job is outdated. + CiForwardDeploymentRollbackAllowed *bool `pulumi:"ciForwardDeploymentRollbackAllowed"` // Fields included in the sub claim of the ID Token. Accepts an array starting with project*path. The array might also include ref*type and ref. Defaults to ["project*path", "ref*type", "ref"]. Introduced in GitLab 17.10. CiIdTokenSubClaimComponents []string `pulumi:"ciIdTokenSubClaimComponents"` // The minimum role required to set variables when running pipelines and jobs. Introduced in GitLab 17.1. Valid values are `developer`, `maintainer`, `owner`, `noOneAllowed` CiPipelineVariablesMinimumOverrideRole *string `pulumi:"ciPipelineVariablesMinimumOverrideRole"` + // Allow Git push requests to your project repository that are authenticated with a CI/CD job token. + CiPushRepositoryForJobTokenAllowed *bool `pulumi:"ciPushRepositoryForJobTokenAllowed"` // The role required to cancel a pipeline or job. Premium and Ultimate only. Valid values are `developer`, `maintainer`, `no one` CiRestrictPipelineCancellationRole *string `pulumi:"ciRestrictPipelineCancellationRole"` // Use separate caches for protected branches. @@ -845,9 +943,9 @@ type projectArgs struct { ContainerExpirationPolicy *ProjectContainerExpirationPolicy `pulumi:"containerExpirationPolicy"` // Set visibility of container registry, for this project. Valid values are `disabled`, `private`, `enabled`. ContainerRegistryAccessLevel *string `pulumi:"containerRegistryAccessLevel"` - // Enable container registry for the project. + // Enable container registry for the project. Use `containerRegistryAccessLevel` instead. To be removed in 19.0. // - // Deprecated: Use `containerRegistryAccessLevel` instead. + // Deprecated: Use `containerRegistryAccessLevel` instead. To be removed in 19.0. ContainerRegistryEnabled *bool `pulumi:"containerRegistryEnabled"` // The default branch for the project. DefaultBranch *string `pulumi:"defaultBranch"` @@ -869,7 +967,7 @@ type projectArgs struct { GroupRunnersEnabled *bool `pulumi:"groupRunnersEnabled"` // For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires use*custom*template to be true (enterprise edition). GroupWithProjectTemplatesId *int `pulumi:"groupWithProjectTemplatesId"` - // Git URL to a repository to be imported. Together with `mirror = true` it will setup a Pull Mirror. This can also be used together with `forkedFromProjectId` to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in `importUrlUsername` and `importUrlPassword`. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using `pulumi import`. See the examples section for how to properly use it. + // Git URL to a repository to be imported. Use with creating a mirror is deprecated - use `ProjectPullMirror` instead. Together with `mirror = true` it will setup a Pull Mirror. This can also be used together with `forkedFromProjectId` to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in `importUrlUsername` and `importUrlPassword`. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using `pulumi import`. See the examples section for how to properly use it. ImportUrl *string `pulumi:"importUrl"` // The password for the `importUrl`. The value of this field is used to construct a valid `importUrl` and is only related to the provider. This field cannot be imported using `pulumi import`. See the examples section for how to properly use it. ImportUrlPassword *string `pulumi:"importUrlPassword"` @@ -881,7 +979,9 @@ type projectArgs struct { InitializeWithReadme *bool `pulumi:"initializeWithReadme"` // Set the issues access level. Valid values are `disabled`, `private`, `enabled`. IssuesAccessLevel *string `pulumi:"issuesAccessLevel"` - // Enable issue tracking for the project. + // Enable issue tracking for the project. Use `issuesAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `issuesAccessLevel` instead. To be removed in 19.0. IssuesEnabled *bool `pulumi:"issuesEnabled"` // Sets the template for new issues in the project. IssuesTemplate *string `pulumi:"issuesTemplate"` @@ -889,25 +989,41 @@ type projectArgs struct { KeepLatestArtifact *bool `pulumi:"keepLatestArtifact"` // Enable LFS for the project. LfsEnabled *bool `pulumi:"lfsEnabled"` + // The maximum file size in megabytes for individual job artifacts. + MaxArtifactsSize *int `pulumi:"maxArtifactsSize"` // Template used to create merge commit message in merge requests. MergeCommitTemplate *string `pulumi:"mergeCommitTemplate"` // Set the merge method. Valid values are `merge`, `rebaseMerge`, `ff`. MergeMethod *string `pulumi:"mergeMethod"` // Enable or disable merge pipelines. MergePipelinesEnabled *bool `pulumi:"mergePipelinesEnabled"` + // Set the regex pattern that merge request titles must match. Use `mergeRequestTitleRegexDescription` to provide a hint to the user. + MergeRequestTitleRegex *string `pulumi:"mergeRequestTitleRegex"` + // Set the description shown to users when a merge request title does not match `mergeRequestTitleRegex`. + MergeRequestTitleRegexDescription *string `pulumi:"mergeRequestTitleRegexDescription"` // Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`. MergeRequestsAccessLevel *string `pulumi:"mergeRequestsAccessLevel"` - // Enable merge requests for the project. + // Enable merge requests for the project. Use `mergeRequestsAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `mergeRequestsAccessLevel` instead. To be removed in 19.0. MergeRequestsEnabled *bool `pulumi:"mergeRequestsEnabled"` // Sets the template for new merge requests in the project. MergeRequestsTemplate *string `pulumi:"mergeRequestsTemplate"` // Enable or disable merge trains. Requires `mergePipelinesEnabled` to be set to `true` to take effect. MergeTrainsEnabled *bool `pulumi:"mergeTrainsEnabled"` - // Enable project pull mirror. + // Allows merge train merge requests to be merged without waiting for pipelines to finish. Requires `mergePipelinesEnabled` to be set to `true` to take effect. + MergeTrainsSkipTrainAllowed *bool `pulumi:"mergeTrainsSkipTrainAllowed"` + // Deprecated: to be removed in 19.0. Use `ProjectPullMirror` instead. Enable project pull mirror. + // + // Deprecated: To be removed in 19.0. Use `ProjectPullMirror` instead. Mirror *bool `pulumi:"mirror"` - // Enable overwrite diverged branches for a mirrored project. + // Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_overwrites_diverged_branches` instead. Enable overwrite diverged branches for a mirrored project. + // + // Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_overwrites_diverged_branches` instead. MirrorOverwritesDivergedBranches *bool `pulumi:"mirrorOverwritesDivergedBranches"` - // Enable trigger builds on pushes for a mirrored project. + // Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_trigger_builds` instead. Enable trigger builds on pushes for a mirrored project. + // + // Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_trigger_builds` instead. MirrorTriggerBuilds *bool `pulumi:"mirrorTriggerBuilds"` // Set visibility of machine learning model experiments. Valid values are `disabled`, `private`, `enabled`. ModelExperimentsAccessLevel *string `pulumi:"modelExperimentsAccessLevel"` @@ -925,7 +1041,9 @@ type projectArgs struct { OnlyAllowMergeIfAllDiscussionsAreResolved *bool `pulumi:"onlyAllowMergeIfAllDiscussionsAreResolved"` // Set to true if you want allow merges only if a pipeline succeeds. OnlyAllowMergeIfPipelineSucceeds *bool `pulumi:"onlyAllowMergeIfPipelineSucceeds"` - // Enable only mirror protected branches for a mirrored project. + // Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.only_mirror_protected_branches` instead. Enable only mirror protected branches for a mirrored project. + // + // Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.only_mirror_protected_branches` instead. OnlyMirrorProtectedBranches *bool `pulumi:"onlyMirrorProtectedBranches"` // Enable packages repository for the project. PackagesEnabled *bool `pulumi:"packagesEnabled"` @@ -935,11 +1053,11 @@ type projectArgs struct { Path *string `pulumi:"path"` // Set to `true` to immediately permanently delete the project instead of scheduling a delete for Premium and Ultimate tiers. PermanentlyDeleteOnDestroy *bool `pulumi:"permanentlyDeleteOnDestroy"` - // Enable pipelines for the project. The `pipelinesEnabled` field is being sent as `jobsEnabled` in the GitLab API calls. + // Enable pipelines for the project. The `pipelinesEnabled` field is being sent as `jobsEnabled` in the GitLab API calls. Use `buildsAccessLevel` instead. To be removed in 19.0. // - // Deprecated: Deprecated in favor of `buildsAccessLevel` + // Deprecated: Use `buildsAccessLevel` instead. To be removed in 19.0. PipelinesEnabled *bool `pulumi:"pipelinesEnabled"` - // Whether Secret Push Detection is enabled. Requires GitLab Ultimate and at least GitLab 17.3. + // Whether Secret Push Detection is enabled. Requires GitLab Ultimate. PreReceiveSecretDetectionEnabled *bool `pulumi:"preReceiveSecretDetectionEnabled"` // Set whether merge requests require an associated issue from Jira. Premium and Ultimate only. PreventMergeWithoutJiraIssue *bool `pulumi:"preventMergeWithoutJiraIssue"` @@ -967,7 +1085,11 @@ type projectArgs struct { RequirementsAccessLevel *string `pulumi:"requirementsAccessLevel"` // Automatically resolve merge request diffs discussions on lines changed with a push. ResolveOutdatedDiffDiscussions *bool `pulumi:"resolveOutdatedDiffDiscussions"` - // Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. + // The default resource group process mode for the project. + ResourceGroupDefaultProcessMode *string `pulumi:"resourceGroupDefaultProcessMode"` + // Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. Use `ciPipelineVariablesMinimumOverrideRole` instead. To be removed in 19.0. + // + // Deprecated: Use `ciPipelineVariablesMinimumOverrideRole` instead. To be removed in 19.0. RestrictUserDefinedVariables *bool `pulumi:"restrictUserDefinedVariables"` // Set the security and compliance access level. Valid values are `disabled`, `private`, `enabled`. SecurityAndComplianceAccessLevel *string `pulumi:"securityAndComplianceAccessLevel"` @@ -980,7 +1102,9 @@ type projectArgs struct { SkipWaitForDefaultBranchProtection *bool `pulumi:"skipWaitForDefaultBranchProtection"` // Set the snippets access level. Valid values are `disabled`, `private`, `enabled`. SnippetsAccessLevel *string `pulumi:"snippetsAccessLevel"` - // Enable snippets for the project. + // Enable snippets for the project. Use `snippetsAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `snippetsAccessLevel` instead. To be removed in 19.0. SnippetsEnabled *bool `pulumi:"snippetsEnabled"` // Template used to create squash commit message in merge requests. SquashCommitTemplate *string `pulumi:"squashCommitTemplate"` @@ -988,7 +1112,9 @@ type projectArgs struct { SquashOption *string `pulumi:"squashOption"` // The commit message used to apply merge request suggestions. SuggestionCommitMessage *string `pulumi:"suggestionCommitMessage"` - // The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead. + // The list of tags for a project; put array of tags, that should be finally assigned to a project. Use `topics` instead. To be removed in 19.0. + // + // Deprecated: Use `topics` instead. To be removed in 19.0. Tags []string `pulumi:"tags"` // When used without use*custom*template, name of a built-in project template. When used with use*custom*template, name of a custom project template. This option is mutually exclusive with `templateProjectId`. TemplateName *string `pulumi:"templateName"` @@ -997,13 +1123,15 @@ type projectArgs struct { // The list of topics for the project. Topics []string `pulumi:"topics"` // Use either custom instance or group (with group*with*project*templates*id) project template (enterprise edition). - // > When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/15.7/ee/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token. + // > When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token. UseCustomTemplate *bool `pulumi:"useCustomTemplate"` // Set to `public` to create a public project. Valid values are `private`, `internal`, `public`. VisibilityLevel *string `pulumi:"visibilityLevel"` // Set the wiki access level. Valid values are `disabled`, `private`, `enabled`. WikiAccessLevel *string `pulumi:"wikiAccessLevel"` - // Enable wiki for the project. + // Enable wiki for the project. Use `wikiAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `wikiAccessLevel` instead. To be removed in 19.0. WikiEnabled *bool `pulumi:"wikiEnabled"` } @@ -1015,31 +1143,30 @@ type ProjectArgs struct { AllowPipelineTriggerApproveDeployment pulumi.BoolPtrInput // Set the analytics access level. Valid values are `disabled`, `private`, `enabled`. AnalyticsAccessLevel pulumi.StringPtrInput - // Number of merge request approvals required for merging. Default is 0. - // This field **does not** work well in combination with the `ProjectApprovalRule` resource - // and is most likely gonna be deprecated in a future GitLab version (see [this upstream epic](https://gitlab.com/groups/gitlab-org/-/epics/7572)). - // In the meantime we recommend against using this attribute and use `ProjectApprovalRule` instead. + // Number of merge request approvals required for merging. Default is 0. This field **does not** work well in combination with the `ProjectApprovalRule` resource. We recommend you do not use this deprecated field and use `ProjectApprovalRule` instead. To be removed in 19.0. + // + // Deprecated: Use the resource `ProjectApprovalRule` instead. To be removed in 19.0. ApprovalsBeforeMerge pulumi.IntPtrInput // Set to `true` to archive the project instead of deleting on destroy. If set to `true` it will entire omit the `DELETE` operation. ArchiveOnDestroy pulumi.BoolPtrInput // Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter. Archived pulumi.BoolPtrInput - // Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled. + // Auto-cancel pending pipelines. This isn't a boolean, but enabled/disabled. AutoCancelPendingPipelines pulumi.StringPtrInput // Auto Deploy strategy. Valid values are `continuous`, `manual`, `timedIncremental`. AutoDevopsDeployStrategy pulumi.StringPtrInput // Enable Auto DevOps for this project. AutoDevopsEnabled pulumi.BoolPtrInput + // Enable automatic reviews by GitLab Duo on merge requests. Ultimate only. Automatic reviews only work with the GitLab Duo Enterprise add-on. + AutoDuoCodeReviewEnabled pulumi.BoolPtrInput // Set whether auto-closing referenced issues on default branch. AutocloseReferencedIssues pulumi.BoolPtrInput // A local path to the avatar image to upload. **Note**: not available for imported resources. Avatar pulumi.StringPtrInput // The hash of the avatar image. Use `filesha256("path/to/avatar.png")` whenever possible. **Note**: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. AvatarHash pulumi.StringPtrInput - // Test coverage parsing for the project. This is deprecated feature in GitLab 15.0. - // - // Deprecated: build_coverage_regex is removed in GitLab 15.0. - BuildCoverageRegex pulumi.StringPtrInput + // Branches to fork (empty for all branches). + Branches pulumi.StringPtrInput // The Git strategy. Defaults to fetch. Valid values are `clone`, `fetch`. BuildGitStrategy pulumi.StringPtrInput // The maximum amount of time, in seconds, that a job can run. @@ -1054,10 +1181,14 @@ type ProjectArgs struct { CiDeletePipelinesInSeconds pulumi.IntPtrInput // When a new deployment job starts, skip older deployment jobs that are still pending. CiForwardDeploymentEnabled pulumi.BoolPtrInput + // Allow job retries even if the deployment job is outdated. + CiForwardDeploymentRollbackAllowed pulumi.BoolPtrInput // Fields included in the sub claim of the ID Token. Accepts an array starting with project*path. The array might also include ref*type and ref. Defaults to ["project*path", "ref*type", "ref"]. Introduced in GitLab 17.10. CiIdTokenSubClaimComponents pulumi.StringArrayInput // The minimum role required to set variables when running pipelines and jobs. Introduced in GitLab 17.1. Valid values are `developer`, `maintainer`, `owner`, `noOneAllowed` CiPipelineVariablesMinimumOverrideRole pulumi.StringPtrInput + // Allow Git push requests to your project repository that are authenticated with a CI/CD job token. + CiPushRepositoryForJobTokenAllowed pulumi.BoolPtrInput // The role required to cancel a pipeline or job. Premium and Ultimate only. Valid values are `developer`, `maintainer`, `no one` CiRestrictPipelineCancellationRole pulumi.StringPtrInput // Use separate caches for protected branches. @@ -1066,9 +1197,9 @@ type ProjectArgs struct { ContainerExpirationPolicy ProjectContainerExpirationPolicyPtrInput // Set visibility of container registry, for this project. Valid values are `disabled`, `private`, `enabled`. ContainerRegistryAccessLevel pulumi.StringPtrInput - // Enable container registry for the project. + // Enable container registry for the project. Use `containerRegistryAccessLevel` instead. To be removed in 19.0. // - // Deprecated: Use `containerRegistryAccessLevel` instead. + // Deprecated: Use `containerRegistryAccessLevel` instead. To be removed in 19.0. ContainerRegistryEnabled pulumi.BoolPtrInput // The default branch for the project. DefaultBranch pulumi.StringPtrInput @@ -1090,7 +1221,7 @@ type ProjectArgs struct { GroupRunnersEnabled pulumi.BoolPtrInput // For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires use*custom*template to be true (enterprise edition). GroupWithProjectTemplatesId pulumi.IntPtrInput - // Git URL to a repository to be imported. Together with `mirror = true` it will setup a Pull Mirror. This can also be used together with `forkedFromProjectId` to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in `importUrlUsername` and `importUrlPassword`. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using `pulumi import`. See the examples section for how to properly use it. + // Git URL to a repository to be imported. Use with creating a mirror is deprecated - use `ProjectPullMirror` instead. Together with `mirror = true` it will setup a Pull Mirror. This can also be used together with `forkedFromProjectId` to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in `importUrlUsername` and `importUrlPassword`. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using `pulumi import`. See the examples section for how to properly use it. ImportUrl pulumi.StringPtrInput // The password for the `importUrl`. The value of this field is used to construct a valid `importUrl` and is only related to the provider. This field cannot be imported using `pulumi import`. See the examples section for how to properly use it. ImportUrlPassword pulumi.StringPtrInput @@ -1102,7 +1233,9 @@ type ProjectArgs struct { InitializeWithReadme pulumi.BoolPtrInput // Set the issues access level. Valid values are `disabled`, `private`, `enabled`. IssuesAccessLevel pulumi.StringPtrInput - // Enable issue tracking for the project. + // Enable issue tracking for the project. Use `issuesAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `issuesAccessLevel` instead. To be removed in 19.0. IssuesEnabled pulumi.BoolPtrInput // Sets the template for new issues in the project. IssuesTemplate pulumi.StringPtrInput @@ -1110,25 +1243,41 @@ type ProjectArgs struct { KeepLatestArtifact pulumi.BoolPtrInput // Enable LFS for the project. LfsEnabled pulumi.BoolPtrInput + // The maximum file size in megabytes for individual job artifacts. + MaxArtifactsSize pulumi.IntPtrInput // Template used to create merge commit message in merge requests. MergeCommitTemplate pulumi.StringPtrInput // Set the merge method. Valid values are `merge`, `rebaseMerge`, `ff`. MergeMethod pulumi.StringPtrInput // Enable or disable merge pipelines. MergePipelinesEnabled pulumi.BoolPtrInput + // Set the regex pattern that merge request titles must match. Use `mergeRequestTitleRegexDescription` to provide a hint to the user. + MergeRequestTitleRegex pulumi.StringPtrInput + // Set the description shown to users when a merge request title does not match `mergeRequestTitleRegex`. + MergeRequestTitleRegexDescription pulumi.StringPtrInput // Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`. MergeRequestsAccessLevel pulumi.StringPtrInput - // Enable merge requests for the project. + // Enable merge requests for the project. Use `mergeRequestsAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `mergeRequestsAccessLevel` instead. To be removed in 19.0. MergeRequestsEnabled pulumi.BoolPtrInput // Sets the template for new merge requests in the project. MergeRequestsTemplate pulumi.StringPtrInput // Enable or disable merge trains. Requires `mergePipelinesEnabled` to be set to `true` to take effect. MergeTrainsEnabled pulumi.BoolPtrInput - // Enable project pull mirror. + // Allows merge train merge requests to be merged without waiting for pipelines to finish. Requires `mergePipelinesEnabled` to be set to `true` to take effect. + MergeTrainsSkipTrainAllowed pulumi.BoolPtrInput + // Deprecated: to be removed in 19.0. Use `ProjectPullMirror` instead. Enable project pull mirror. + // + // Deprecated: To be removed in 19.0. Use `ProjectPullMirror` instead. Mirror pulumi.BoolPtrInput - // Enable overwrite diverged branches for a mirrored project. + // Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_overwrites_diverged_branches` instead. Enable overwrite diverged branches for a mirrored project. + // + // Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_overwrites_diverged_branches` instead. MirrorOverwritesDivergedBranches pulumi.BoolPtrInput - // Enable trigger builds on pushes for a mirrored project. + // Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_trigger_builds` instead. Enable trigger builds on pushes for a mirrored project. + // + // Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_trigger_builds` instead. MirrorTriggerBuilds pulumi.BoolPtrInput // Set visibility of machine learning model experiments. Valid values are `disabled`, `private`, `enabled`. ModelExperimentsAccessLevel pulumi.StringPtrInput @@ -1146,7 +1295,9 @@ type ProjectArgs struct { OnlyAllowMergeIfAllDiscussionsAreResolved pulumi.BoolPtrInput // Set to true if you want allow merges only if a pipeline succeeds. OnlyAllowMergeIfPipelineSucceeds pulumi.BoolPtrInput - // Enable only mirror protected branches for a mirrored project. + // Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.only_mirror_protected_branches` instead. Enable only mirror protected branches for a mirrored project. + // + // Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.only_mirror_protected_branches` instead. OnlyMirrorProtectedBranches pulumi.BoolPtrInput // Enable packages repository for the project. PackagesEnabled pulumi.BoolPtrInput @@ -1156,11 +1307,11 @@ type ProjectArgs struct { Path pulumi.StringPtrInput // Set to `true` to immediately permanently delete the project instead of scheduling a delete for Premium and Ultimate tiers. PermanentlyDeleteOnDestroy pulumi.BoolPtrInput - // Enable pipelines for the project. The `pipelinesEnabled` field is being sent as `jobsEnabled` in the GitLab API calls. + // Enable pipelines for the project. The `pipelinesEnabled` field is being sent as `jobsEnabled` in the GitLab API calls. Use `buildsAccessLevel` instead. To be removed in 19.0. // - // Deprecated: Deprecated in favor of `buildsAccessLevel` + // Deprecated: Use `buildsAccessLevel` instead. To be removed in 19.0. PipelinesEnabled pulumi.BoolPtrInput - // Whether Secret Push Detection is enabled. Requires GitLab Ultimate and at least GitLab 17.3. + // Whether Secret Push Detection is enabled. Requires GitLab Ultimate. PreReceiveSecretDetectionEnabled pulumi.BoolPtrInput // Set whether merge requests require an associated issue from Jira. Premium and Ultimate only. PreventMergeWithoutJiraIssue pulumi.BoolPtrInput @@ -1188,7 +1339,11 @@ type ProjectArgs struct { RequirementsAccessLevel pulumi.StringPtrInput // Automatically resolve merge request diffs discussions on lines changed with a push. ResolveOutdatedDiffDiscussions pulumi.BoolPtrInput - // Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. + // The default resource group process mode for the project. + ResourceGroupDefaultProcessMode pulumi.StringPtrInput + // Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. Use `ciPipelineVariablesMinimumOverrideRole` instead. To be removed in 19.0. + // + // Deprecated: Use `ciPipelineVariablesMinimumOverrideRole` instead. To be removed in 19.0. RestrictUserDefinedVariables pulumi.BoolPtrInput // Set the security and compliance access level. Valid values are `disabled`, `private`, `enabled`. SecurityAndComplianceAccessLevel pulumi.StringPtrInput @@ -1201,7 +1356,9 @@ type ProjectArgs struct { SkipWaitForDefaultBranchProtection pulumi.BoolPtrInput // Set the snippets access level. Valid values are `disabled`, `private`, `enabled`. SnippetsAccessLevel pulumi.StringPtrInput - // Enable snippets for the project. + // Enable snippets for the project. Use `snippetsAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `snippetsAccessLevel` instead. To be removed in 19.0. SnippetsEnabled pulumi.BoolPtrInput // Template used to create squash commit message in merge requests. SquashCommitTemplate pulumi.StringPtrInput @@ -1209,7 +1366,9 @@ type ProjectArgs struct { SquashOption pulumi.StringPtrInput // The commit message used to apply merge request suggestions. SuggestionCommitMessage pulumi.StringPtrInput - // The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead. + // The list of tags for a project; put array of tags, that should be finally assigned to a project. Use `topics` instead. To be removed in 19.0. + // + // Deprecated: Use `topics` instead. To be removed in 19.0. Tags pulumi.StringArrayInput // When used without use*custom*template, name of a built-in project template. When used with use*custom*template, name of a custom project template. This option is mutually exclusive with `templateProjectId`. TemplateName pulumi.StringPtrInput @@ -1218,13 +1377,15 @@ type ProjectArgs struct { // The list of topics for the project. Topics pulumi.StringArrayInput // Use either custom instance or group (with group*with*project*templates*id) project template (enterprise edition). - // > When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/15.7/ee/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token. + // > When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token. UseCustomTemplate pulumi.BoolPtrInput // Set to `public` to create a public project. Valid values are `private`, `internal`, `public`. VisibilityLevel pulumi.StringPtrInput // Set the wiki access level. Valid values are `disabled`, `private`, `enabled`. WikiAccessLevel pulumi.StringPtrInput - // Enable wiki for the project. + // Enable wiki for the project. Use `wikiAccessLevel` instead. To be removed in 19.0. + // + // Deprecated: Use `wikiAccessLevel` instead. To be removed in 19.0. WikiEnabled pulumi.BoolPtrInput } @@ -1330,10 +1491,9 @@ func (o ProjectOutput) AnalyticsAccessLevel() pulumi.StringOutput { return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.AnalyticsAccessLevel }).(pulumi.StringOutput) } -// Number of merge request approvals required for merging. Default is 0. -// This field **does not** work well in combination with the `ProjectApprovalRule` resource -// and is most likely gonna be deprecated in a future GitLab version (see [this upstream epic](https://gitlab.com/groups/gitlab-org/-/epics/7572)). -// In the meantime we recommend against using this attribute and use `ProjectApprovalRule` instead. +// Number of merge request approvals required for merging. Default is 0. This field **does not** work well in combination with the `ProjectApprovalRule` resource. We recommend you do not use this deprecated field and use `ProjectApprovalRule` instead. To be removed in 19.0. +// +// Deprecated: Use the resource `ProjectApprovalRule` instead. To be removed in 19.0. func (o ProjectOutput) ApprovalsBeforeMerge() pulumi.IntPtrOutput { return o.ApplyT(func(v *Project) pulumi.IntPtrOutput { return v.ApprovalsBeforeMerge }).(pulumi.IntPtrOutput) } @@ -1348,7 +1508,7 @@ func (o ProjectOutput) Archived() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Project) pulumi.BoolPtrOutput { return v.Archived }).(pulumi.BoolPtrOutput) } -// Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled. +// Auto-cancel pending pipelines. This isn't a boolean, but enabled/disabled. func (o ProjectOutput) AutoCancelPendingPipelines() pulumi.StringOutput { return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.AutoCancelPendingPipelines }).(pulumi.StringOutput) } @@ -1363,6 +1523,11 @@ func (o ProjectOutput) AutoDevopsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.AutoDevopsEnabled }).(pulumi.BoolOutput) } +// Enable automatic reviews by GitLab Duo on merge requests. Ultimate only. Automatic reviews only work with the GitLab Duo Enterprise add-on. +func (o ProjectOutput) AutoDuoCodeReviewEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.AutoDuoCodeReviewEnabled }).(pulumi.BoolOutput) +} + // Set whether auto-closing referenced issues on default branch. func (o ProjectOutput) AutocloseReferencedIssues() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.AutocloseReferencedIssues }).(pulumi.BoolOutput) @@ -1383,11 +1548,9 @@ func (o ProjectOutput) AvatarUrl() pulumi.StringOutput { return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.AvatarUrl }).(pulumi.StringOutput) } -// Test coverage parsing for the project. This is deprecated feature in GitLab 15.0. -// -// Deprecated: build_coverage_regex is removed in GitLab 15.0. -func (o ProjectOutput) BuildCoverageRegex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Project) pulumi.StringPtrOutput { return v.BuildCoverageRegex }).(pulumi.StringPtrOutput) +// Branches to fork (empty for all branches). +func (o ProjectOutput) Branches() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Project) pulumi.StringPtrOutput { return v.Branches }).(pulumi.StringPtrOutput) } // The Git strategy. Defaults to fetch. Valid values are `clone`, `fetch`. @@ -1425,6 +1588,11 @@ func (o ProjectOutput) CiForwardDeploymentEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.CiForwardDeploymentEnabled }).(pulumi.BoolOutput) } +// Allow job retries even if the deployment job is outdated. +func (o ProjectOutput) CiForwardDeploymentRollbackAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.CiForwardDeploymentRollbackAllowed }).(pulumi.BoolOutput) +} + // Fields included in the sub claim of the ID Token. Accepts an array starting with project*path. The array might also include ref*type and ref. Defaults to ["project*path", "ref*type", "ref"]. Introduced in GitLab 17.10. func (o ProjectOutput) CiIdTokenSubClaimComponents() pulumi.StringArrayOutput { return o.ApplyT(func(v *Project) pulumi.StringArrayOutput { return v.CiIdTokenSubClaimComponents }).(pulumi.StringArrayOutput) @@ -1435,6 +1603,11 @@ func (o ProjectOutput) CiPipelineVariablesMinimumOverrideRole() pulumi.StringOut return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.CiPipelineVariablesMinimumOverrideRole }).(pulumi.StringOutput) } +// Allow Git push requests to your project repository that are authenticated with a CI/CD job token. +func (o ProjectOutput) CiPushRepositoryForJobTokenAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.CiPushRepositoryForJobTokenAllowed }).(pulumi.BoolOutput) +} + // The role required to cancel a pipeline or job. Premium and Ultimate only. Valid values are `developer`, `maintainer`, `no one` func (o ProjectOutput) CiRestrictPipelineCancellationRole() pulumi.StringOutput { return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.CiRestrictPipelineCancellationRole }).(pulumi.StringOutput) @@ -1455,9 +1628,9 @@ func (o ProjectOutput) ContainerRegistryAccessLevel() pulumi.StringOutput { return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.ContainerRegistryAccessLevel }).(pulumi.StringOutput) } -// Enable container registry for the project. +// Enable container registry for the project. Use `containerRegistryAccessLevel` instead. To be removed in 19.0. // -// Deprecated: Use `containerRegistryAccessLevel` instead. +// Deprecated: Use `containerRegistryAccessLevel` instead. To be removed in 19.0. func (o ProjectOutput) ContainerRegistryEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.ContainerRegistryEnabled }).(pulumi.BoolOutput) } @@ -1522,9 +1695,9 @@ func (o ProjectOutput) HttpUrlToRepo() pulumi.StringOutput { return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.HttpUrlToRepo }).(pulumi.StringOutput) } -// Git URL to a repository to be imported. Together with `mirror = true` it will setup a Pull Mirror. This can also be used together with `forkedFromProjectId` to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in `importUrlUsername` and `importUrlPassword`. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using `pulumi import`. See the examples section for how to properly use it. -func (o ProjectOutput) ImportUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Project) pulumi.StringPtrOutput { return v.ImportUrl }).(pulumi.StringPtrOutput) +// Git URL to a repository to be imported. Use with creating a mirror is deprecated - use `ProjectPullMirror` instead. Together with `mirror = true` it will setup a Pull Mirror. This can also be used together with `forkedFromProjectId` to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in `importUrlUsername` and `importUrlPassword`. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using `pulumi import`. See the examples section for how to properly use it. +func (o ProjectOutput) ImportUrl() pulumi.StringOutput { + return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.ImportUrl }).(pulumi.StringOutput) } // The password for the `importUrl`. The value of this field is used to construct a valid `importUrl` and is only related to the provider. This field cannot be imported using `pulumi import`. See the examples section for how to properly use it. @@ -1552,7 +1725,9 @@ func (o ProjectOutput) IssuesAccessLevel() pulumi.StringOutput { return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.IssuesAccessLevel }).(pulumi.StringOutput) } -// Enable issue tracking for the project. +// Enable issue tracking for the project. Use `issuesAccessLevel` instead. To be removed in 19.0. +// +// Deprecated: Use `issuesAccessLevel` instead. To be removed in 19.0. func (o ProjectOutput) IssuesEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.IssuesEnabled }).(pulumi.BoolOutput) } @@ -1572,6 +1747,11 @@ func (o ProjectOutput) LfsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.LfsEnabled }).(pulumi.BoolOutput) } +// The maximum file size in megabytes for individual job artifacts. +func (o ProjectOutput) MaxArtifactsSize() pulumi.IntOutput { + return o.ApplyT(func(v *Project) pulumi.IntOutput { return v.MaxArtifactsSize }).(pulumi.IntOutput) +} + // Template used to create merge commit message in merge requests. func (o ProjectOutput) MergeCommitTemplate() pulumi.StringPtrOutput { return o.ApplyT(func(v *Project) pulumi.StringPtrOutput { return v.MergeCommitTemplate }).(pulumi.StringPtrOutput) @@ -1587,12 +1767,24 @@ func (o ProjectOutput) MergePipelinesEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.MergePipelinesEnabled }).(pulumi.BoolOutput) } +// Set the regex pattern that merge request titles must match. Use `mergeRequestTitleRegexDescription` to provide a hint to the user. +func (o ProjectOutput) MergeRequestTitleRegex() pulumi.StringOutput { + return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.MergeRequestTitleRegex }).(pulumi.StringOutput) +} + +// Set the description shown to users when a merge request title does not match `mergeRequestTitleRegex`. +func (o ProjectOutput) MergeRequestTitleRegexDescription() pulumi.StringOutput { + return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.MergeRequestTitleRegexDescription }).(pulumi.StringOutput) +} + // Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`. func (o ProjectOutput) MergeRequestsAccessLevel() pulumi.StringOutput { return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.MergeRequestsAccessLevel }).(pulumi.StringOutput) } -// Enable merge requests for the project. +// Enable merge requests for the project. Use `mergeRequestsAccessLevel` instead. To be removed in 19.0. +// +// Deprecated: Use `mergeRequestsAccessLevel` instead. To be removed in 19.0. func (o ProjectOutput) MergeRequestsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.MergeRequestsEnabled }).(pulumi.BoolOutput) } @@ -1607,17 +1799,28 @@ func (o ProjectOutput) MergeTrainsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.MergeTrainsEnabled }).(pulumi.BoolOutput) } -// Enable project pull mirror. -func (o ProjectOutput) Mirror() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *Project) pulumi.BoolPtrOutput { return v.Mirror }).(pulumi.BoolPtrOutput) +// Allows merge train merge requests to be merged without waiting for pipelines to finish. Requires `mergePipelinesEnabled` to be set to `true` to take effect. +func (o ProjectOutput) MergeTrainsSkipTrainAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.MergeTrainsSkipTrainAllowed }).(pulumi.BoolOutput) } -// Enable overwrite diverged branches for a mirrored project. +// Deprecated: to be removed in 19.0. Use `ProjectPullMirror` instead. Enable project pull mirror. +// +// Deprecated: To be removed in 19.0. Use `ProjectPullMirror` instead. +func (o ProjectOutput) Mirror() pulumi.BoolOutput { + return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.Mirror }).(pulumi.BoolOutput) +} + +// Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_overwrites_diverged_branches` instead. Enable overwrite diverged branches for a mirrored project. +// +// Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_overwrites_diverged_branches` instead. func (o ProjectOutput) MirrorOverwritesDivergedBranches() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.MirrorOverwritesDivergedBranches }).(pulumi.BoolOutput) } -// Enable trigger builds on pushes for a mirrored project. +// Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_trigger_builds` instead. Enable trigger builds on pushes for a mirrored project. +// +// Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.mirror_trigger_builds` instead. func (o ProjectOutput) MirrorTriggerBuilds() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.MirrorTriggerBuilds }).(pulumi.BoolOutput) } @@ -1662,7 +1865,9 @@ func (o ProjectOutput) OnlyAllowMergeIfPipelineSucceeds() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.OnlyAllowMergeIfPipelineSucceeds }).(pulumi.BoolOutput) } -// Enable only mirror protected branches for a mirrored project. +// Deprecated: to be removed in 19.0. Use `gitlab_project_pull_mirror.only_mirror_protected_branches` instead. Enable only mirror protected branches for a mirrored project. +// +// Deprecated: To be removed in 19.0. Use `gitlab_project_pull_mirror.only_mirror_protected_branches` instead. func (o ProjectOutput) OnlyMirrorProtectedBranches() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.OnlyMirrorProtectedBranches }).(pulumi.BoolOutput) } @@ -1692,14 +1897,14 @@ func (o ProjectOutput) PermanentlyDeleteOnDestroy() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Project) pulumi.BoolPtrOutput { return v.PermanentlyDeleteOnDestroy }).(pulumi.BoolPtrOutput) } -// Enable pipelines for the project. The `pipelinesEnabled` field is being sent as `jobsEnabled` in the GitLab API calls. +// Enable pipelines for the project. The `pipelinesEnabled` field is being sent as `jobsEnabled` in the GitLab API calls. Use `buildsAccessLevel` instead. To be removed in 19.0. // -// Deprecated: Deprecated in favor of `buildsAccessLevel` +// Deprecated: Use `buildsAccessLevel` instead. To be removed in 19.0. func (o ProjectOutput) PipelinesEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.PipelinesEnabled }).(pulumi.BoolOutput) } -// Whether Secret Push Detection is enabled. Requires GitLab Ultimate and at least GitLab 17.3. +// Whether Secret Push Detection is enabled. Requires GitLab Ultimate. func (o ProjectOutput) PreReceiveSecretDetectionEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.PreReceiveSecretDetectionEnabled }).(pulumi.BoolOutput) } @@ -1766,7 +1971,14 @@ func (o ProjectOutput) ResolveOutdatedDiffDiscussions() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Project) pulumi.BoolPtrOutput { return v.ResolveOutdatedDiffDiscussions }).(pulumi.BoolPtrOutput) } -// Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. +// The default resource group process mode for the project. +func (o ProjectOutput) ResourceGroupDefaultProcessMode() pulumi.StringOutput { + return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.ResourceGroupDefaultProcessMode }).(pulumi.StringOutput) +} + +// Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. Use `ciPipelineVariablesMinimumOverrideRole` instead. To be removed in 19.0. +// +// Deprecated: Use `ciPipelineVariablesMinimumOverrideRole` instead. To be removed in 19.0. func (o ProjectOutput) RestrictUserDefinedVariables() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.RestrictUserDefinedVariables }).(pulumi.BoolOutput) } @@ -1799,7 +2011,9 @@ func (o ProjectOutput) SnippetsAccessLevel() pulumi.StringOutput { return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.SnippetsAccessLevel }).(pulumi.StringOutput) } -// Enable snippets for the project. +// Enable snippets for the project. Use `snippetsAccessLevel` instead. To be removed in 19.0. +// +// Deprecated: Use `snippetsAccessLevel` instead. To be removed in 19.0. func (o ProjectOutput) SnippetsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.SnippetsEnabled }).(pulumi.BoolOutput) } @@ -1824,7 +2038,9 @@ func (o ProjectOutput) SuggestionCommitMessage() pulumi.StringPtrOutput { return o.ApplyT(func(v *Project) pulumi.StringPtrOutput { return v.SuggestionCommitMessage }).(pulumi.StringPtrOutput) } -// The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead. +// The list of tags for a project; put array of tags, that should be finally assigned to a project. Use `topics` instead. To be removed in 19.0. +// +// Deprecated: Use `topics` instead. To be removed in 19.0. func (o ProjectOutput) Tags() pulumi.StringArrayOutput { return o.ApplyT(func(v *Project) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) } @@ -1846,7 +2062,7 @@ func (o ProjectOutput) Topics() pulumi.StringArrayOutput { // Use either custom instance or group (with group*with*project*templates*id) project template (enterprise edition). // -// > When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/15.7/ee/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token. +// > When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token. func (o ProjectOutput) UseCustomTemplate() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Project) pulumi.BoolPtrOutput { return v.UseCustomTemplate }).(pulumi.BoolPtrOutput) } @@ -1866,7 +2082,9 @@ func (o ProjectOutput) WikiAccessLevel() pulumi.StringOutput { return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.WikiAccessLevel }).(pulumi.StringOutput) } -// Enable wiki for the project. +// Enable wiki for the project. Use `wikiAccessLevel` instead. To be removed in 19.0. +// +// Deprecated: Use `wikiAccessLevel` instead. To be removed in 19.0. func (o ProjectOutput) WikiEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.WikiEnabled }).(pulumi.BoolOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectAccessToken.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectAccessToken.go similarity index 90% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectAccessToken.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectAccessToken.go index a366373c6..39001ee87 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectAccessToken.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectAccessToken.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectAccessToken` resource allows to manage the lifecycle of a project access token. +// The `ProjectAccessToken` resource manages the lifecycle of a project access token. // -// > Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/operations/tracing/) +// > Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/development/tracing/) // // > Use `rotationConfiguration` to automatically rotate tokens instead of using `timestamp()` as timestamp will cause changes with every plan. `pulumi up` must still be run to rotate the token. // @@ -29,7 +29,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -64,26 +64,17 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_access_token`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectAccessToken`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_project_access_token.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// A GitLab Project Access Token can be imported using a key composed of `:`, e.g. +// A GitLab Project Access Token can be imported using a key composed of `:`, for example: // // ```sh // $ pulumi import gitlab:index/projectAccessToken:ProjectAccessToken example "12345:1" // ``` // +// Where `project` may be the product ID or path with namespace depending on what you have in your config. // NOTE: the `token` resource attribute is not available for imported resources as this information cannot be read from the GitLab API. type ProjectAccessToken struct { pulumi.CustomResourceState @@ -106,12 +97,14 @@ type ProjectAccessToken struct { Revoked pulumi.BoolOutput `pulumi:"revoked"` // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration ProjectAccessTokenRotationConfigurationPtrOutput `pulumi:"rotationConfiguration"` - // The scopes of the project access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` + // The scopes of the project access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability`, `selfRotate` Scopes pulumi.StringArrayOutput `pulumi:"scopes"` // The token of the project access token. **Note**: the token is not available for imported resources. Token pulumi.StringOutput `pulumi:"token"` // The userId associated to the token. UserId pulumi.IntOutput `pulumi:"userId"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolOutput `pulumi:"validatePastExpirationDate"` } // NewProjectAccessToken registers a new resource with the given unique name, arguments, and options. @@ -172,12 +165,14 @@ type projectAccessTokenState struct { Revoked *bool `pulumi:"revoked"` // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration *ProjectAccessTokenRotationConfiguration `pulumi:"rotationConfiguration"` - // The scopes of the project access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` + // The scopes of the project access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability`, `selfRotate` Scopes []string `pulumi:"scopes"` // The token of the project access token. **Note**: the token is not available for imported resources. Token *string `pulumi:"token"` // The userId associated to the token. UserId *int `pulumi:"userId"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate *bool `pulumi:"validatePastExpirationDate"` } type ProjectAccessTokenState struct { @@ -199,12 +194,14 @@ type ProjectAccessTokenState struct { Revoked pulumi.BoolPtrInput // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration ProjectAccessTokenRotationConfigurationPtrInput - // The scopes of the project access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` + // The scopes of the project access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability`, `selfRotate` Scopes pulumi.StringArrayInput // The token of the project access token. **Note**: the token is not available for imported resources. Token pulumi.StringPtrInput // The userId associated to the token. UserId pulumi.IntPtrInput + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolPtrInput } func (ProjectAccessTokenState) ElementType() reflect.Type { @@ -224,8 +221,10 @@ type projectAccessTokenArgs struct { Project string `pulumi:"project"` // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration *ProjectAccessTokenRotationConfiguration `pulumi:"rotationConfiguration"` - // The scopes of the project access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` + // The scopes of the project access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability`, `selfRotate` Scopes []string `pulumi:"scopes"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate *bool `pulumi:"validatePastExpirationDate"` } // The set of arguments for constructing a ProjectAccessToken resource. @@ -242,8 +241,10 @@ type ProjectAccessTokenArgs struct { Project pulumi.StringInput // The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. RotationConfiguration ProjectAccessTokenRotationConfigurationPtrInput - // The scopes of the project access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` + // The scopes of the project access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability`, `selfRotate` Scopes pulumi.StringArrayInput + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolPtrInput } func (ProjectAccessTokenArgs) ElementType() reflect.Type { @@ -380,7 +381,7 @@ func (o ProjectAccessTokenOutput) RotationConfiguration() ProjectAccessTokenRota }).(ProjectAccessTokenRotationConfigurationPtrOutput) } -// The scopes of the project access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability` +// The scopes of the project access token. valid values are: `api`, `readApi`, `readRegistry`, `writeRegistry`, `readRepository`, `writeRepository`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readObservability`, `writeObservability`, `selfRotate` func (o ProjectAccessTokenOutput) Scopes() pulumi.StringArrayOutput { return o.ApplyT(func(v *ProjectAccessToken) pulumi.StringArrayOutput { return v.Scopes }).(pulumi.StringArrayOutput) } @@ -395,6 +396,11 @@ func (o ProjectAccessTokenOutput) UserId() pulumi.IntOutput { return o.ApplyT(func(v *ProjectAccessToken) pulumi.IntOutput { return v.UserId }).(pulumi.IntOutput) } +// Wether to validate if the expiration date is in the future. +func (o ProjectAccessTokenOutput) ValidatePastExpirationDate() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectAccessToken) pulumi.BoolOutput { return v.ValidatePastExpirationDate }).(pulumi.BoolOutput) +} + type ProjectAccessTokenArrayOutput struct{ *pulumi.OutputState } func (ProjectAccessTokenArrayOutput) ElementType() reflect.Type { diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectApprovalRule.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectApprovalRule.go similarity index 92% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectApprovalRule.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectApprovalRule.go index 7a8ad3701..64d9dea84 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectApprovalRule.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectApprovalRule.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,33 +8,40 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// ## Example Usage +// The `ProjectApprovalRule` resource manages the lifecycle of a project-level approval rule. // -// ## Import +// > This resource requires a GitLab Enterprise instance. // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_approval_rule`. For example: +// > A project is limited to one "anyApprover" rule at a time, any attempt to create a second rule of type "anyApprover" will fail. As a result, if // -// terraform +// an "anyApprover" rule is already present on a project at creation time, and that rule requires 0 approvers, the rule will be automatically imported +// to prevent a common error with this resource. // -// import { +// > Since a project is limited to one "anyApprover" rule, attempting to add two "anyApprover" rules to the same project in terraform will result in // -// to = gitlab_project_approval_rule.example +// terraform identifying changes with every "plan" operation, and may result in an error during the "apply" operation. // -// id = "see CLI command below for ID" +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/merge_request_approvals/#approval-rules-for-projects) // -// } +// ## Example Usage // -// Import using the CLI is supported using the following syntax: +// ## Import // -// GitLab project approval rules can be imported using a key composed of `:`, e.g. +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectApprovalRule`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// GitLab project approval rules can be imported using a key composed of `:`, for example: // // ```sh // $ pulumi import gitlab:index/projectApprovalRule:ProjectApprovalRule example "12345:6" // ``` +// +// Where `project` may be the product ID or path with namespace depending on what you have in your config. type ProjectApprovalRule struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectBadge.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectBadge.go similarity index 93% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectBadge.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectBadge.go index d926db5d7..1b209b9f3 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectBadge.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectBadge.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectBadge` resource allows to manage the lifecycle of project badges. +// The `ProjectBadge` resource manages the lifecycle of project badges. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/user/project/badges/#project-badges) // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -83,21 +83,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_badge`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectBadge`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_project_badge.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab project badges can be imported using an id made up of `{project_id}:{badge_id}`, e.g. +// GitLab project badges can be imported using an id made up of `{project_id}:{badge_id}`, for example: // // ```sh // $ pulumi import gitlab:index/projectBadge:ProjectBadge foo 1:3 @@ -111,7 +101,7 @@ type ProjectBadge struct { LinkUrl pulumi.StringOutput `pulumi:"linkUrl"` // The name of the badge. Name pulumi.StringOutput `pulumi:"name"` - // The id of the project to add the badge to. + // The ID or URL-encoded path of the project to add the badge to. Project pulumi.StringOutput `pulumi:"project"` // The imageUrl argument rendered (in case of use of placeholders). RenderedImageUrl pulumi.StringOutput `pulumi:"renderedImageUrl"` @@ -164,7 +154,7 @@ type projectBadgeState struct { LinkUrl *string `pulumi:"linkUrl"` // The name of the badge. Name *string `pulumi:"name"` - // The id of the project to add the badge to. + // The ID or URL-encoded path of the project to add the badge to. Project *string `pulumi:"project"` // The imageUrl argument rendered (in case of use of placeholders). RenderedImageUrl *string `pulumi:"renderedImageUrl"` @@ -179,7 +169,7 @@ type ProjectBadgeState struct { LinkUrl pulumi.StringPtrInput // The name of the badge. Name pulumi.StringPtrInput - // The id of the project to add the badge to. + // The ID or URL-encoded path of the project to add the badge to. Project pulumi.StringPtrInput // The imageUrl argument rendered (in case of use of placeholders). RenderedImageUrl pulumi.StringPtrInput @@ -198,7 +188,7 @@ type projectBadgeArgs struct { LinkUrl string `pulumi:"linkUrl"` // The name of the badge. Name *string `pulumi:"name"` - // The id of the project to add the badge to. + // The ID or URL-encoded path of the project to add the badge to. Project string `pulumi:"project"` } @@ -210,7 +200,7 @@ type ProjectBadgeArgs struct { LinkUrl pulumi.StringInput // The name of the badge. Name pulumi.StringPtrInput - // The id of the project to add the badge to. + // The ID or URL-encoded path of the project to add the badge to. Project pulumi.StringInput } @@ -316,7 +306,7 @@ func (o ProjectBadgeOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *ProjectBadge) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// The id of the project to add the badge to. +// The ID or URL-encoded path of the project to add the badge to. func (o ProjectBadgeOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v *ProjectBadge) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectCicdCatalog.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectCicdCatalog.go new file mode 100644 index 000000000..6903d0638 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectCicdCatalog.go @@ -0,0 +1,298 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectCicdCatalog` resource allows users to manage the lifecycle of a CI/CD Catalog project. +// +// This resource controls whether a project is available as a CI/CD Catalog resource. +// +// > If `keepSettingsOnDestroy` is set to false, destroying the resource will revert the catalog status to the value that was present when the resource was first created. +// You will need to apply the resource with the new setting before destroying the resource. +// +// **Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/ee/api/graphql/reference/#mutationcatalogresourcescreate) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.NewProjectCicdCatalog(ctx, "example", &gitlab.ProjectCicdCatalogArgs{ +// Project: pulumi.String("namespace/project"), +// Enabled: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectCicdCatalog`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// Gitlab Project CICD Catalogs can be imported with their id, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectCicdCatalog:ProjectCicdCatalog example "1" +// ``` +type ProjectCicdCatalog struct { + pulumi.CustomResourceState + + // Whether the project should be enabled as a CI/CD Catalog resource. + Enabled pulumi.BoolOutput `pulumi:"enabled"` + // Set to true if the project CI/CD Catalog status should not be reset to its pre-terraform value on destroy. You will need to apply the resource with the new setting before destroying the resource. + KeepSettingsOnDestroy pulumi.BoolOutput `pulumi:"keepSettingsOnDestroy"` + // The ID or URL-encoded path of the project. + Project pulumi.StringOutput `pulumi:"project"` +} + +// NewProjectCicdCatalog registers a new resource with the given unique name, arguments, and options. +func NewProjectCicdCatalog(ctx *pulumi.Context, + name string, args *ProjectCicdCatalogArgs, opts ...pulumi.ResourceOption) (*ProjectCicdCatalog, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Enabled == nil { + return nil, errors.New("invalid value for required argument 'Enabled'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectCicdCatalog + err := ctx.RegisterResource("gitlab:index/projectCicdCatalog:ProjectCicdCatalog", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectCicdCatalog gets an existing ProjectCicdCatalog resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectCicdCatalog(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectCicdCatalogState, opts ...pulumi.ResourceOption) (*ProjectCicdCatalog, error) { + var resource ProjectCicdCatalog + err := ctx.ReadResource("gitlab:index/projectCicdCatalog:ProjectCicdCatalog", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectCicdCatalog resources. +type projectCicdCatalogState struct { + // Whether the project should be enabled as a CI/CD Catalog resource. + Enabled *bool `pulumi:"enabled"` + // Set to true if the project CI/CD Catalog status should not be reset to its pre-terraform value on destroy. You will need to apply the resource with the new setting before destroying the resource. + KeepSettingsOnDestroy *bool `pulumi:"keepSettingsOnDestroy"` + // The ID or URL-encoded path of the project. + Project *string `pulumi:"project"` +} + +type ProjectCicdCatalogState struct { + // Whether the project should be enabled as a CI/CD Catalog resource. + Enabled pulumi.BoolPtrInput + // Set to true if the project CI/CD Catalog status should not be reset to its pre-terraform value on destroy. You will need to apply the resource with the new setting before destroying the resource. + KeepSettingsOnDestroy pulumi.BoolPtrInput + // The ID or URL-encoded path of the project. + Project pulumi.StringPtrInput +} + +func (ProjectCicdCatalogState) ElementType() reflect.Type { + return reflect.TypeOf((*projectCicdCatalogState)(nil)).Elem() +} + +type projectCicdCatalogArgs struct { + // Whether the project should be enabled as a CI/CD Catalog resource. + Enabled bool `pulumi:"enabled"` + // Set to true if the project CI/CD Catalog status should not be reset to its pre-terraform value on destroy. You will need to apply the resource with the new setting before destroying the resource. + KeepSettingsOnDestroy *bool `pulumi:"keepSettingsOnDestroy"` + // The ID or URL-encoded path of the project. + Project string `pulumi:"project"` +} + +// The set of arguments for constructing a ProjectCicdCatalog resource. +type ProjectCicdCatalogArgs struct { + // Whether the project should be enabled as a CI/CD Catalog resource. + Enabled pulumi.BoolInput + // Set to true if the project CI/CD Catalog status should not be reset to its pre-terraform value on destroy. You will need to apply the resource with the new setting before destroying the resource. + KeepSettingsOnDestroy pulumi.BoolPtrInput + // The ID or URL-encoded path of the project. + Project pulumi.StringInput +} + +func (ProjectCicdCatalogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectCicdCatalogArgs)(nil)).Elem() +} + +type ProjectCicdCatalogInput interface { + pulumi.Input + + ToProjectCicdCatalogOutput() ProjectCicdCatalogOutput + ToProjectCicdCatalogOutputWithContext(ctx context.Context) ProjectCicdCatalogOutput +} + +func (*ProjectCicdCatalog) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectCicdCatalog)(nil)).Elem() +} + +func (i *ProjectCicdCatalog) ToProjectCicdCatalogOutput() ProjectCicdCatalogOutput { + return i.ToProjectCicdCatalogOutputWithContext(context.Background()) +} + +func (i *ProjectCicdCatalog) ToProjectCicdCatalogOutputWithContext(ctx context.Context) ProjectCicdCatalogOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectCicdCatalogOutput) +} + +// ProjectCicdCatalogArrayInput is an input type that accepts ProjectCicdCatalogArray and ProjectCicdCatalogArrayOutput values. +// You can construct a concrete instance of `ProjectCicdCatalogArrayInput` via: +// +// ProjectCicdCatalogArray{ ProjectCicdCatalogArgs{...} } +type ProjectCicdCatalogArrayInput interface { + pulumi.Input + + ToProjectCicdCatalogArrayOutput() ProjectCicdCatalogArrayOutput + ToProjectCicdCatalogArrayOutputWithContext(context.Context) ProjectCicdCatalogArrayOutput +} + +type ProjectCicdCatalogArray []ProjectCicdCatalogInput + +func (ProjectCicdCatalogArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectCicdCatalog)(nil)).Elem() +} + +func (i ProjectCicdCatalogArray) ToProjectCicdCatalogArrayOutput() ProjectCicdCatalogArrayOutput { + return i.ToProjectCicdCatalogArrayOutputWithContext(context.Background()) +} + +func (i ProjectCicdCatalogArray) ToProjectCicdCatalogArrayOutputWithContext(ctx context.Context) ProjectCicdCatalogArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectCicdCatalogArrayOutput) +} + +// ProjectCicdCatalogMapInput is an input type that accepts ProjectCicdCatalogMap and ProjectCicdCatalogMapOutput values. +// You can construct a concrete instance of `ProjectCicdCatalogMapInput` via: +// +// ProjectCicdCatalogMap{ "key": ProjectCicdCatalogArgs{...} } +type ProjectCicdCatalogMapInput interface { + pulumi.Input + + ToProjectCicdCatalogMapOutput() ProjectCicdCatalogMapOutput + ToProjectCicdCatalogMapOutputWithContext(context.Context) ProjectCicdCatalogMapOutput +} + +type ProjectCicdCatalogMap map[string]ProjectCicdCatalogInput + +func (ProjectCicdCatalogMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectCicdCatalog)(nil)).Elem() +} + +func (i ProjectCicdCatalogMap) ToProjectCicdCatalogMapOutput() ProjectCicdCatalogMapOutput { + return i.ToProjectCicdCatalogMapOutputWithContext(context.Background()) +} + +func (i ProjectCicdCatalogMap) ToProjectCicdCatalogMapOutputWithContext(ctx context.Context) ProjectCicdCatalogMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectCicdCatalogMapOutput) +} + +type ProjectCicdCatalogOutput struct{ *pulumi.OutputState } + +func (ProjectCicdCatalogOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectCicdCatalog)(nil)).Elem() +} + +func (o ProjectCicdCatalogOutput) ToProjectCicdCatalogOutput() ProjectCicdCatalogOutput { + return o +} + +func (o ProjectCicdCatalogOutput) ToProjectCicdCatalogOutputWithContext(ctx context.Context) ProjectCicdCatalogOutput { + return o +} + +// Whether the project should be enabled as a CI/CD Catalog resource. +func (o ProjectCicdCatalogOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectCicdCatalog) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput) +} + +// Set to true if the project CI/CD Catalog status should not be reset to its pre-terraform value on destroy. You will need to apply the resource with the new setting before destroying the resource. +func (o ProjectCicdCatalogOutput) KeepSettingsOnDestroy() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectCicdCatalog) pulumi.BoolOutput { return v.KeepSettingsOnDestroy }).(pulumi.BoolOutput) +} + +// The ID or URL-encoded path of the project. +func (o ProjectCicdCatalogOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectCicdCatalog) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +type ProjectCicdCatalogArrayOutput struct{ *pulumi.OutputState } + +func (ProjectCicdCatalogArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectCicdCatalog)(nil)).Elem() +} + +func (o ProjectCicdCatalogArrayOutput) ToProjectCicdCatalogArrayOutput() ProjectCicdCatalogArrayOutput { + return o +} + +func (o ProjectCicdCatalogArrayOutput) ToProjectCicdCatalogArrayOutputWithContext(ctx context.Context) ProjectCicdCatalogArrayOutput { + return o +} + +func (o ProjectCicdCatalogArrayOutput) Index(i pulumi.IntInput) ProjectCicdCatalogOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectCicdCatalog { + return vs[0].([]*ProjectCicdCatalog)[vs[1].(int)] + }).(ProjectCicdCatalogOutput) +} + +type ProjectCicdCatalogMapOutput struct{ *pulumi.OutputState } + +func (ProjectCicdCatalogMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectCicdCatalog)(nil)).Elem() +} + +func (o ProjectCicdCatalogMapOutput) ToProjectCicdCatalogMapOutput() ProjectCicdCatalogMapOutput { + return o +} + +func (o ProjectCicdCatalogMapOutput) ToProjectCicdCatalogMapOutputWithContext(ctx context.Context) ProjectCicdCatalogMapOutput { + return o +} + +func (o ProjectCicdCatalogMapOutput) MapIndex(k pulumi.StringInput) ProjectCicdCatalogOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectCicdCatalog { + return vs[0].(map[string]*ProjectCicdCatalog)[vs[1].(string)] + }).(ProjectCicdCatalogOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectCicdCatalogInput)(nil)).Elem(), &ProjectCicdCatalog{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectCicdCatalogArrayInput)(nil)).Elem(), ProjectCicdCatalogArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectCicdCatalogMapInput)(nil)).Elem(), ProjectCicdCatalogMap{}) + pulumi.RegisterOutputType(ProjectCicdCatalogOutput{}) + pulumi.RegisterOutputType(ProjectCicdCatalogArrayOutput{}) + pulumi.RegisterOutputType(ProjectCicdCatalogMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectCluster.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectCluster.go similarity index 96% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectCluster.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectCluster.go index 80e485ea1..f6d053492 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectCluster.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectCluster.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectCluster` resource allows to manage the lifecycle of a project cluster. +// The `ProjectCluster` resource manages the lifecycle of a project cluster. // -// > This is deprecated GitLab feature since 14.5 +// > This is deprecated, due for removal in GitLab 19.0. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_clusters/) // @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -62,21 +62,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_cluster`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectCluster`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_project_cluster.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab project clusters can be imported using an id made up of `projectid:clusterid`, e.g. +// GitLab project clusters can be imported using an id made up of `projectid:clusterid`, for example: // // ```sh // $ pulumi import gitlab:index/projectCluster:ProjectCluster bar 123:321 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectComplianceFrameworks.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectComplianceFrameworks.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectComplianceFrameworks.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectComplianceFrameworks.go index a8f2f4d05..d641d356a 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectComplianceFrameworks.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectComplianceFrameworks.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectComplianceFrameworks` resource allows to manage the lifecycle of compliance frameworks on a project. +// The `ProjectComplianceFrameworks` resource manages the lifecycle of compliance frameworks on a project. // // > This resource requires a GitLab Enterprise instance with a Premium license to set the compliance frameworks on a project. // @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -70,21 +70,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_compliance_frameworks`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectComplianceFrameworks`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_project_compliance_frameworks.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// Gitlab project compliance frameworks can be imported with a key composed of ``, e.g. +// Gitlab project compliance frameworks can be imported with a key composed of ``, for example: // // ```sh // $ pulumi import gitlab:index/projectComplianceFrameworks:ProjectComplianceFrameworks sample "42" diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectContainerRepositoryProtection.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectContainerRepositoryProtection.go new file mode 100644 index 000000000..3c637e67a --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectContainerRepositoryProtection.go @@ -0,0 +1,328 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectContainerRepositoryProtection` resource allows managing the lifecycle of a container repository protection rule. +// +// You can use a wildcard (*) to protect multiple container repositories with the same container protection rule. +// You can apply several protection rules to the same container repository. A container repository is protected if at least one protection rule matches. +// +// **Upstream API**: [GitLab API docs](https://docs.gitlab.com/api/container_repository_protection_rules/) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.NewProjectContainerRepositoryProtection(ctx, "this", &gitlab.ProjectContainerRepositoryProtectionArgs{ +// Project: pulumi.String("123"), +// RepositoryPathPattern: pulumi.String("my_namespace/project*"), +// MinimumAccessLevelForPush: pulumi.String("owner"), +// MinimumAccessLevelForDelete: pulumi.String("admin"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectContainerRepositoryProtection`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// GitLab project container repository protection rules can be imported using an id made up of `:`, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectContainerRepositoryProtection:ProjectContainerRepositoryProtection this 123:321 +// ``` +type ProjectContainerRepositoryProtection struct { + pulumi.CustomResourceState + + // Minimum GitLab access level required to delete container images in the container registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForPush` is not set. + MinimumAccessLevelForDelete pulumi.StringPtrOutput `pulumi:"minimumAccessLevelForDelete"` + // Minimum GitLab access level required to push container images to the container registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForDelete` is not set. + MinimumAccessLevelForPush pulumi.StringPtrOutput `pulumi:"minimumAccessLevelForPush"` + // ID or URL-encoded path of the project. + Project pulumi.StringOutput `pulumi:"project"` + // Unique ID of the protection rule. + ProtectionRuleId pulumi.IntOutput `pulumi:"protectionRuleId"` + // Container repository path pattern protected by the protection rule. Wildcard character * allowed. Repository path pattern should start with the project's full path + RepositoryPathPattern pulumi.StringOutput `pulumi:"repositoryPathPattern"` +} + +// NewProjectContainerRepositoryProtection registers a new resource with the given unique name, arguments, and options. +func NewProjectContainerRepositoryProtection(ctx *pulumi.Context, + name string, args *ProjectContainerRepositoryProtectionArgs, opts ...pulumi.ResourceOption) (*ProjectContainerRepositoryProtection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.RepositoryPathPattern == nil { + return nil, errors.New("invalid value for required argument 'RepositoryPathPattern'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectContainerRepositoryProtection + err := ctx.RegisterResource("gitlab:index/projectContainerRepositoryProtection:ProjectContainerRepositoryProtection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectContainerRepositoryProtection gets an existing ProjectContainerRepositoryProtection resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectContainerRepositoryProtection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectContainerRepositoryProtectionState, opts ...pulumi.ResourceOption) (*ProjectContainerRepositoryProtection, error) { + var resource ProjectContainerRepositoryProtection + err := ctx.ReadResource("gitlab:index/projectContainerRepositoryProtection:ProjectContainerRepositoryProtection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectContainerRepositoryProtection resources. +type projectContainerRepositoryProtectionState struct { + // Minimum GitLab access level required to delete container images in the container registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForPush` is not set. + MinimumAccessLevelForDelete *string `pulumi:"minimumAccessLevelForDelete"` + // Minimum GitLab access level required to push container images to the container registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForDelete` is not set. + MinimumAccessLevelForPush *string `pulumi:"minimumAccessLevelForPush"` + // ID or URL-encoded path of the project. + Project *string `pulumi:"project"` + // Unique ID of the protection rule. + ProtectionRuleId *int `pulumi:"protectionRuleId"` + // Container repository path pattern protected by the protection rule. Wildcard character * allowed. Repository path pattern should start with the project's full path + RepositoryPathPattern *string `pulumi:"repositoryPathPattern"` +} + +type ProjectContainerRepositoryProtectionState struct { + // Minimum GitLab access level required to delete container images in the container registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForPush` is not set. + MinimumAccessLevelForDelete pulumi.StringPtrInput + // Minimum GitLab access level required to push container images to the container registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForDelete` is not set. + MinimumAccessLevelForPush pulumi.StringPtrInput + // ID or URL-encoded path of the project. + Project pulumi.StringPtrInput + // Unique ID of the protection rule. + ProtectionRuleId pulumi.IntPtrInput + // Container repository path pattern protected by the protection rule. Wildcard character * allowed. Repository path pattern should start with the project's full path + RepositoryPathPattern pulumi.StringPtrInput +} + +func (ProjectContainerRepositoryProtectionState) ElementType() reflect.Type { + return reflect.TypeOf((*projectContainerRepositoryProtectionState)(nil)).Elem() +} + +type projectContainerRepositoryProtectionArgs struct { + // Minimum GitLab access level required to delete container images in the container registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForPush` is not set. + MinimumAccessLevelForDelete *string `pulumi:"minimumAccessLevelForDelete"` + // Minimum GitLab access level required to push container images to the container registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForDelete` is not set. + MinimumAccessLevelForPush *string `pulumi:"minimumAccessLevelForPush"` + // ID or URL-encoded path of the project. + Project string `pulumi:"project"` + // Container repository path pattern protected by the protection rule. Wildcard character * allowed. Repository path pattern should start with the project's full path + RepositoryPathPattern string `pulumi:"repositoryPathPattern"` +} + +// The set of arguments for constructing a ProjectContainerRepositoryProtection resource. +type ProjectContainerRepositoryProtectionArgs struct { + // Minimum GitLab access level required to delete container images in the container registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForPush` is not set. + MinimumAccessLevelForDelete pulumi.StringPtrInput + // Minimum GitLab access level required to push container images to the container registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForDelete` is not set. + MinimumAccessLevelForPush pulumi.StringPtrInput + // ID or URL-encoded path of the project. + Project pulumi.StringInput + // Container repository path pattern protected by the protection rule. Wildcard character * allowed. Repository path pattern should start with the project's full path + RepositoryPathPattern pulumi.StringInput +} + +func (ProjectContainerRepositoryProtectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectContainerRepositoryProtectionArgs)(nil)).Elem() +} + +type ProjectContainerRepositoryProtectionInput interface { + pulumi.Input + + ToProjectContainerRepositoryProtectionOutput() ProjectContainerRepositoryProtectionOutput + ToProjectContainerRepositoryProtectionOutputWithContext(ctx context.Context) ProjectContainerRepositoryProtectionOutput +} + +func (*ProjectContainerRepositoryProtection) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectContainerRepositoryProtection)(nil)).Elem() +} + +func (i *ProjectContainerRepositoryProtection) ToProjectContainerRepositoryProtectionOutput() ProjectContainerRepositoryProtectionOutput { + return i.ToProjectContainerRepositoryProtectionOutputWithContext(context.Background()) +} + +func (i *ProjectContainerRepositoryProtection) ToProjectContainerRepositoryProtectionOutputWithContext(ctx context.Context) ProjectContainerRepositoryProtectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectContainerRepositoryProtectionOutput) +} + +// ProjectContainerRepositoryProtectionArrayInput is an input type that accepts ProjectContainerRepositoryProtectionArray and ProjectContainerRepositoryProtectionArrayOutput values. +// You can construct a concrete instance of `ProjectContainerRepositoryProtectionArrayInput` via: +// +// ProjectContainerRepositoryProtectionArray{ ProjectContainerRepositoryProtectionArgs{...} } +type ProjectContainerRepositoryProtectionArrayInput interface { + pulumi.Input + + ToProjectContainerRepositoryProtectionArrayOutput() ProjectContainerRepositoryProtectionArrayOutput + ToProjectContainerRepositoryProtectionArrayOutputWithContext(context.Context) ProjectContainerRepositoryProtectionArrayOutput +} + +type ProjectContainerRepositoryProtectionArray []ProjectContainerRepositoryProtectionInput + +func (ProjectContainerRepositoryProtectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectContainerRepositoryProtection)(nil)).Elem() +} + +func (i ProjectContainerRepositoryProtectionArray) ToProjectContainerRepositoryProtectionArrayOutput() ProjectContainerRepositoryProtectionArrayOutput { + return i.ToProjectContainerRepositoryProtectionArrayOutputWithContext(context.Background()) +} + +func (i ProjectContainerRepositoryProtectionArray) ToProjectContainerRepositoryProtectionArrayOutputWithContext(ctx context.Context) ProjectContainerRepositoryProtectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectContainerRepositoryProtectionArrayOutput) +} + +// ProjectContainerRepositoryProtectionMapInput is an input type that accepts ProjectContainerRepositoryProtectionMap and ProjectContainerRepositoryProtectionMapOutput values. +// You can construct a concrete instance of `ProjectContainerRepositoryProtectionMapInput` via: +// +// ProjectContainerRepositoryProtectionMap{ "key": ProjectContainerRepositoryProtectionArgs{...} } +type ProjectContainerRepositoryProtectionMapInput interface { + pulumi.Input + + ToProjectContainerRepositoryProtectionMapOutput() ProjectContainerRepositoryProtectionMapOutput + ToProjectContainerRepositoryProtectionMapOutputWithContext(context.Context) ProjectContainerRepositoryProtectionMapOutput +} + +type ProjectContainerRepositoryProtectionMap map[string]ProjectContainerRepositoryProtectionInput + +func (ProjectContainerRepositoryProtectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectContainerRepositoryProtection)(nil)).Elem() +} + +func (i ProjectContainerRepositoryProtectionMap) ToProjectContainerRepositoryProtectionMapOutput() ProjectContainerRepositoryProtectionMapOutput { + return i.ToProjectContainerRepositoryProtectionMapOutputWithContext(context.Background()) +} + +func (i ProjectContainerRepositoryProtectionMap) ToProjectContainerRepositoryProtectionMapOutputWithContext(ctx context.Context) ProjectContainerRepositoryProtectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectContainerRepositoryProtectionMapOutput) +} + +type ProjectContainerRepositoryProtectionOutput struct{ *pulumi.OutputState } + +func (ProjectContainerRepositoryProtectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectContainerRepositoryProtection)(nil)).Elem() +} + +func (o ProjectContainerRepositoryProtectionOutput) ToProjectContainerRepositoryProtectionOutput() ProjectContainerRepositoryProtectionOutput { + return o +} + +func (o ProjectContainerRepositoryProtectionOutput) ToProjectContainerRepositoryProtectionOutputWithContext(ctx context.Context) ProjectContainerRepositoryProtectionOutput { + return o +} + +// Minimum GitLab access level required to delete container images in the container registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForPush` is not set. +func (o ProjectContainerRepositoryProtectionOutput) MinimumAccessLevelForDelete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectContainerRepositoryProtection) pulumi.StringPtrOutput { + return v.MinimumAccessLevelForDelete + }).(pulumi.StringPtrOutput) +} + +// Minimum GitLab access level required to push container images to the container registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForDelete` is not set. +func (o ProjectContainerRepositoryProtectionOutput) MinimumAccessLevelForPush() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectContainerRepositoryProtection) pulumi.StringPtrOutput { + return v.MinimumAccessLevelForPush + }).(pulumi.StringPtrOutput) +} + +// ID or URL-encoded path of the project. +func (o ProjectContainerRepositoryProtectionOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectContainerRepositoryProtection) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Unique ID of the protection rule. +func (o ProjectContainerRepositoryProtectionOutput) ProtectionRuleId() pulumi.IntOutput { + return o.ApplyT(func(v *ProjectContainerRepositoryProtection) pulumi.IntOutput { return v.ProtectionRuleId }).(pulumi.IntOutput) +} + +// Container repository path pattern protected by the protection rule. Wildcard character * allowed. Repository path pattern should start with the project's full path +func (o ProjectContainerRepositoryProtectionOutput) RepositoryPathPattern() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectContainerRepositoryProtection) pulumi.StringOutput { return v.RepositoryPathPattern }).(pulumi.StringOutput) +} + +type ProjectContainerRepositoryProtectionArrayOutput struct{ *pulumi.OutputState } + +func (ProjectContainerRepositoryProtectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectContainerRepositoryProtection)(nil)).Elem() +} + +func (o ProjectContainerRepositoryProtectionArrayOutput) ToProjectContainerRepositoryProtectionArrayOutput() ProjectContainerRepositoryProtectionArrayOutput { + return o +} + +func (o ProjectContainerRepositoryProtectionArrayOutput) ToProjectContainerRepositoryProtectionArrayOutputWithContext(ctx context.Context) ProjectContainerRepositoryProtectionArrayOutput { + return o +} + +func (o ProjectContainerRepositoryProtectionArrayOutput) Index(i pulumi.IntInput) ProjectContainerRepositoryProtectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectContainerRepositoryProtection { + return vs[0].([]*ProjectContainerRepositoryProtection)[vs[1].(int)] + }).(ProjectContainerRepositoryProtectionOutput) +} + +type ProjectContainerRepositoryProtectionMapOutput struct{ *pulumi.OutputState } + +func (ProjectContainerRepositoryProtectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectContainerRepositoryProtection)(nil)).Elem() +} + +func (o ProjectContainerRepositoryProtectionMapOutput) ToProjectContainerRepositoryProtectionMapOutput() ProjectContainerRepositoryProtectionMapOutput { + return o +} + +func (o ProjectContainerRepositoryProtectionMapOutput) ToProjectContainerRepositoryProtectionMapOutputWithContext(ctx context.Context) ProjectContainerRepositoryProtectionMapOutput { + return o +} + +func (o ProjectContainerRepositoryProtectionMapOutput) MapIndex(k pulumi.StringInput) ProjectContainerRepositoryProtectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectContainerRepositoryProtection { + return vs[0].(map[string]*ProjectContainerRepositoryProtection)[vs[1].(string)] + }).(ProjectContainerRepositoryProtectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectContainerRepositoryProtectionInput)(nil)).Elem(), &ProjectContainerRepositoryProtection{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectContainerRepositoryProtectionArrayInput)(nil)).Elem(), ProjectContainerRepositoryProtectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectContainerRepositoryProtectionMapInput)(nil)).Elem(), ProjectContainerRepositoryProtectionMap{}) + pulumi.RegisterOutputType(ProjectContainerRepositoryProtectionOutput{}) + pulumi.RegisterOutputType(ProjectContainerRepositoryProtectionArrayOutput{}) + pulumi.RegisterOutputType(ProjectContainerRepositoryProtectionMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectContainerTagProtection.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectContainerTagProtection.go new file mode 100644 index 000000000..fc35806d5 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectContainerTagProtection.go @@ -0,0 +1,365 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectContainerTagProtection` resource allows managing the lifecycle of a container tag protection rule. +// +// You can use a regular expression to protect multiple container tags with the same container protection rule. +// You have to **either set** (both options are mutually exclusive): +// +// - Only `immutable = true` which allows any user with `developer` role to create tags matching the regex but makes the object unchangeable once pushed ; +// - Both `minimumAccessLevelForPush` and `minimumAccessLevelForDelete` attributes to mark the container tag as mutable only with regards to the given access levels. +// +// **Upstream API**: [GitLab GraphQL API documentation](https://docs.gitlab.com/api/graphql/reference/#mutationcreatecontainerprotectiontagrule) +// +// **Protected tags**: [General documentation](https://docs.gitlab.com/user/packages/container_registry/protected_container_tags/) +// +// **Immutable tags**: [General documentation](https://docs.gitlab.com/user/packages/container_registry/immutable_container_tags/) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.NewProjectContainerTagProtection(ctx, "example", &gitlab.ProjectContainerTagProtectionArgs{ +// Project: pulumi.String("123"), +// TagNameRegex: pulumi.String("^v[0-9]+$"), +// Immutable: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectContainerTagProtection(ctx, "protected", &gitlab.ProjectContainerTagProtectionArgs{ +// Project: pulumi.String("123"), +// TagNameRegex: pulumi.String("^v[0-9]+\\-rc[0-9]+$"), +// MinimumAccessLevelForPush: pulumi.String("MAINTAINER"), +// MinimumAccessLevelForDelete: pulumi.String("OWNER"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectContainerTagProtection`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// GitLab project container tag protection rules can be imported using an id made up of `:`, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectContainerTagProtection:ProjectContainerTagProtection example 123:456 +// ``` +type ProjectContainerTagProtection struct { + pulumi.CustomResourceState + + // Whether the container tag is immutable. If set, the container tag cannot be deleted or overwritten. Conflicts with `minimumAccessLevelForPush` and `minimumAccessLevelForDelete`. + Immutable pulumi.BoolOutput `pulumi:"immutable"` + // Minimum GitLab access level required to delete protected container tags in the container registry. Marks the container tag as protected. Valid values are: `MAINTAINER`, `OWNER`, `ADMIN`. + MinimumAccessLevelForDelete pulumi.StringOutput `pulumi:"minimumAccessLevelForDelete"` + // Minimum GitLab access level required to push protected container tags to the container registry. Marks the container tag as protected. Valid values are: `MAINTAINER`, `OWNER`, `ADMIN`. + MinimumAccessLevelForPush pulumi.StringOutput `pulumi:"minimumAccessLevelForPush"` + // ID or URL-encoded path of the project. + Project pulumi.StringOutput `pulumi:"project"` + // Unique ID of the protection rule. + ProtectionRuleId pulumi.IntOutput `pulumi:"protectionRuleId"` + // Container tag path pattern protected by the protection rule. Wildcard character * allowed. Tag path pattern should start with the project's full path. + TagNameRegex pulumi.StringOutput `pulumi:"tagNameRegex"` + Timeouts ProjectContainerTagProtectionTimeoutsPtrOutput `pulumi:"timeouts"` +} + +// NewProjectContainerTagProtection registers a new resource with the given unique name, arguments, and options. +func NewProjectContainerTagProtection(ctx *pulumi.Context, + name string, args *ProjectContainerTagProtectionArgs, opts ...pulumi.ResourceOption) (*ProjectContainerTagProtection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.TagNameRegex == nil { + return nil, errors.New("invalid value for required argument 'TagNameRegex'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectContainerTagProtection + err := ctx.RegisterResource("gitlab:index/projectContainerTagProtection:ProjectContainerTagProtection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectContainerTagProtection gets an existing ProjectContainerTagProtection resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectContainerTagProtection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectContainerTagProtectionState, opts ...pulumi.ResourceOption) (*ProjectContainerTagProtection, error) { + var resource ProjectContainerTagProtection + err := ctx.ReadResource("gitlab:index/projectContainerTagProtection:ProjectContainerTagProtection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectContainerTagProtection resources. +type projectContainerTagProtectionState struct { + // Whether the container tag is immutable. If set, the container tag cannot be deleted or overwritten. Conflicts with `minimumAccessLevelForPush` and `minimumAccessLevelForDelete`. + Immutable *bool `pulumi:"immutable"` + // Minimum GitLab access level required to delete protected container tags in the container registry. Marks the container tag as protected. Valid values are: `MAINTAINER`, `OWNER`, `ADMIN`. + MinimumAccessLevelForDelete *string `pulumi:"minimumAccessLevelForDelete"` + // Minimum GitLab access level required to push protected container tags to the container registry. Marks the container tag as protected. Valid values are: `MAINTAINER`, `OWNER`, `ADMIN`. + MinimumAccessLevelForPush *string `pulumi:"minimumAccessLevelForPush"` + // ID or URL-encoded path of the project. + Project *string `pulumi:"project"` + // Unique ID of the protection rule. + ProtectionRuleId *int `pulumi:"protectionRuleId"` + // Container tag path pattern protected by the protection rule. Wildcard character * allowed. Tag path pattern should start with the project's full path. + TagNameRegex *string `pulumi:"tagNameRegex"` + Timeouts *ProjectContainerTagProtectionTimeouts `pulumi:"timeouts"` +} + +type ProjectContainerTagProtectionState struct { + // Whether the container tag is immutable. If set, the container tag cannot be deleted or overwritten. Conflicts with `minimumAccessLevelForPush` and `minimumAccessLevelForDelete`. + Immutable pulumi.BoolPtrInput + // Minimum GitLab access level required to delete protected container tags in the container registry. Marks the container tag as protected. Valid values are: `MAINTAINER`, `OWNER`, `ADMIN`. + MinimumAccessLevelForDelete pulumi.StringPtrInput + // Minimum GitLab access level required to push protected container tags to the container registry. Marks the container tag as protected. Valid values are: `MAINTAINER`, `OWNER`, `ADMIN`. + MinimumAccessLevelForPush pulumi.StringPtrInput + // ID or URL-encoded path of the project. + Project pulumi.StringPtrInput + // Unique ID of the protection rule. + ProtectionRuleId pulumi.IntPtrInput + // Container tag path pattern protected by the protection rule. Wildcard character * allowed. Tag path pattern should start with the project's full path. + TagNameRegex pulumi.StringPtrInput + Timeouts ProjectContainerTagProtectionTimeoutsPtrInput +} + +func (ProjectContainerTagProtectionState) ElementType() reflect.Type { + return reflect.TypeOf((*projectContainerTagProtectionState)(nil)).Elem() +} + +type projectContainerTagProtectionArgs struct { + // Whether the container tag is immutable. If set, the container tag cannot be deleted or overwritten. Conflicts with `minimumAccessLevelForPush` and `minimumAccessLevelForDelete`. + Immutable *bool `pulumi:"immutable"` + // Minimum GitLab access level required to delete protected container tags in the container registry. Marks the container tag as protected. Valid values are: `MAINTAINER`, `OWNER`, `ADMIN`. + MinimumAccessLevelForDelete *string `pulumi:"minimumAccessLevelForDelete"` + // Minimum GitLab access level required to push protected container tags to the container registry. Marks the container tag as protected. Valid values are: `MAINTAINER`, `OWNER`, `ADMIN`. + MinimumAccessLevelForPush *string `pulumi:"minimumAccessLevelForPush"` + // ID or URL-encoded path of the project. + Project string `pulumi:"project"` + // Container tag path pattern protected by the protection rule. Wildcard character * allowed. Tag path pattern should start with the project's full path. + TagNameRegex string `pulumi:"tagNameRegex"` + Timeouts *ProjectContainerTagProtectionTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a ProjectContainerTagProtection resource. +type ProjectContainerTagProtectionArgs struct { + // Whether the container tag is immutable. If set, the container tag cannot be deleted or overwritten. Conflicts with `minimumAccessLevelForPush` and `minimumAccessLevelForDelete`. + Immutable pulumi.BoolPtrInput + // Minimum GitLab access level required to delete protected container tags in the container registry. Marks the container tag as protected. Valid values are: `MAINTAINER`, `OWNER`, `ADMIN`. + MinimumAccessLevelForDelete pulumi.StringPtrInput + // Minimum GitLab access level required to push protected container tags to the container registry. Marks the container tag as protected. Valid values are: `MAINTAINER`, `OWNER`, `ADMIN`. + MinimumAccessLevelForPush pulumi.StringPtrInput + // ID or URL-encoded path of the project. + Project pulumi.StringInput + // Container tag path pattern protected by the protection rule. Wildcard character * allowed. Tag path pattern should start with the project's full path. + TagNameRegex pulumi.StringInput + Timeouts ProjectContainerTagProtectionTimeoutsPtrInput +} + +func (ProjectContainerTagProtectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectContainerTagProtectionArgs)(nil)).Elem() +} + +type ProjectContainerTagProtectionInput interface { + pulumi.Input + + ToProjectContainerTagProtectionOutput() ProjectContainerTagProtectionOutput + ToProjectContainerTagProtectionOutputWithContext(ctx context.Context) ProjectContainerTagProtectionOutput +} + +func (*ProjectContainerTagProtection) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectContainerTagProtection)(nil)).Elem() +} + +func (i *ProjectContainerTagProtection) ToProjectContainerTagProtectionOutput() ProjectContainerTagProtectionOutput { + return i.ToProjectContainerTagProtectionOutputWithContext(context.Background()) +} + +func (i *ProjectContainerTagProtection) ToProjectContainerTagProtectionOutputWithContext(ctx context.Context) ProjectContainerTagProtectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectContainerTagProtectionOutput) +} + +// ProjectContainerTagProtectionArrayInput is an input type that accepts ProjectContainerTagProtectionArray and ProjectContainerTagProtectionArrayOutput values. +// You can construct a concrete instance of `ProjectContainerTagProtectionArrayInput` via: +// +// ProjectContainerTagProtectionArray{ ProjectContainerTagProtectionArgs{...} } +type ProjectContainerTagProtectionArrayInput interface { + pulumi.Input + + ToProjectContainerTagProtectionArrayOutput() ProjectContainerTagProtectionArrayOutput + ToProjectContainerTagProtectionArrayOutputWithContext(context.Context) ProjectContainerTagProtectionArrayOutput +} + +type ProjectContainerTagProtectionArray []ProjectContainerTagProtectionInput + +func (ProjectContainerTagProtectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectContainerTagProtection)(nil)).Elem() +} + +func (i ProjectContainerTagProtectionArray) ToProjectContainerTagProtectionArrayOutput() ProjectContainerTagProtectionArrayOutput { + return i.ToProjectContainerTagProtectionArrayOutputWithContext(context.Background()) +} + +func (i ProjectContainerTagProtectionArray) ToProjectContainerTagProtectionArrayOutputWithContext(ctx context.Context) ProjectContainerTagProtectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectContainerTagProtectionArrayOutput) +} + +// ProjectContainerTagProtectionMapInput is an input type that accepts ProjectContainerTagProtectionMap and ProjectContainerTagProtectionMapOutput values. +// You can construct a concrete instance of `ProjectContainerTagProtectionMapInput` via: +// +// ProjectContainerTagProtectionMap{ "key": ProjectContainerTagProtectionArgs{...} } +type ProjectContainerTagProtectionMapInput interface { + pulumi.Input + + ToProjectContainerTagProtectionMapOutput() ProjectContainerTagProtectionMapOutput + ToProjectContainerTagProtectionMapOutputWithContext(context.Context) ProjectContainerTagProtectionMapOutput +} + +type ProjectContainerTagProtectionMap map[string]ProjectContainerTagProtectionInput + +func (ProjectContainerTagProtectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectContainerTagProtection)(nil)).Elem() +} + +func (i ProjectContainerTagProtectionMap) ToProjectContainerTagProtectionMapOutput() ProjectContainerTagProtectionMapOutput { + return i.ToProjectContainerTagProtectionMapOutputWithContext(context.Background()) +} + +func (i ProjectContainerTagProtectionMap) ToProjectContainerTagProtectionMapOutputWithContext(ctx context.Context) ProjectContainerTagProtectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectContainerTagProtectionMapOutput) +} + +type ProjectContainerTagProtectionOutput struct{ *pulumi.OutputState } + +func (ProjectContainerTagProtectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectContainerTagProtection)(nil)).Elem() +} + +func (o ProjectContainerTagProtectionOutput) ToProjectContainerTagProtectionOutput() ProjectContainerTagProtectionOutput { + return o +} + +func (o ProjectContainerTagProtectionOutput) ToProjectContainerTagProtectionOutputWithContext(ctx context.Context) ProjectContainerTagProtectionOutput { + return o +} + +// Whether the container tag is immutable. If set, the container tag cannot be deleted or overwritten. Conflicts with `minimumAccessLevelForPush` and `minimumAccessLevelForDelete`. +func (o ProjectContainerTagProtectionOutput) Immutable() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectContainerTagProtection) pulumi.BoolOutput { return v.Immutable }).(pulumi.BoolOutput) +} + +// Minimum GitLab access level required to delete protected container tags in the container registry. Marks the container tag as protected. Valid values are: `MAINTAINER`, `OWNER`, `ADMIN`. +func (o ProjectContainerTagProtectionOutput) MinimumAccessLevelForDelete() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectContainerTagProtection) pulumi.StringOutput { return v.MinimumAccessLevelForDelete }).(pulumi.StringOutput) +} + +// Minimum GitLab access level required to push protected container tags to the container registry. Marks the container tag as protected. Valid values are: `MAINTAINER`, `OWNER`, `ADMIN`. +func (o ProjectContainerTagProtectionOutput) MinimumAccessLevelForPush() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectContainerTagProtection) pulumi.StringOutput { return v.MinimumAccessLevelForPush }).(pulumi.StringOutput) +} + +// ID or URL-encoded path of the project. +func (o ProjectContainerTagProtectionOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectContainerTagProtection) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Unique ID of the protection rule. +func (o ProjectContainerTagProtectionOutput) ProtectionRuleId() pulumi.IntOutput { + return o.ApplyT(func(v *ProjectContainerTagProtection) pulumi.IntOutput { return v.ProtectionRuleId }).(pulumi.IntOutput) +} + +// Container tag path pattern protected by the protection rule. Wildcard character * allowed. Tag path pattern should start with the project's full path. +func (o ProjectContainerTagProtectionOutput) TagNameRegex() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectContainerTagProtection) pulumi.StringOutput { return v.TagNameRegex }).(pulumi.StringOutput) +} + +func (o ProjectContainerTagProtectionOutput) Timeouts() ProjectContainerTagProtectionTimeoutsPtrOutput { + return o.ApplyT(func(v *ProjectContainerTagProtection) ProjectContainerTagProtectionTimeoutsPtrOutput { + return v.Timeouts + }).(ProjectContainerTagProtectionTimeoutsPtrOutput) +} + +type ProjectContainerTagProtectionArrayOutput struct{ *pulumi.OutputState } + +func (ProjectContainerTagProtectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectContainerTagProtection)(nil)).Elem() +} + +func (o ProjectContainerTagProtectionArrayOutput) ToProjectContainerTagProtectionArrayOutput() ProjectContainerTagProtectionArrayOutput { + return o +} + +func (o ProjectContainerTagProtectionArrayOutput) ToProjectContainerTagProtectionArrayOutputWithContext(ctx context.Context) ProjectContainerTagProtectionArrayOutput { + return o +} + +func (o ProjectContainerTagProtectionArrayOutput) Index(i pulumi.IntInput) ProjectContainerTagProtectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectContainerTagProtection { + return vs[0].([]*ProjectContainerTagProtection)[vs[1].(int)] + }).(ProjectContainerTagProtectionOutput) +} + +type ProjectContainerTagProtectionMapOutput struct{ *pulumi.OutputState } + +func (ProjectContainerTagProtectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectContainerTagProtection)(nil)).Elem() +} + +func (o ProjectContainerTagProtectionMapOutput) ToProjectContainerTagProtectionMapOutput() ProjectContainerTagProtectionMapOutput { + return o +} + +func (o ProjectContainerTagProtectionMapOutput) ToProjectContainerTagProtectionMapOutputWithContext(ctx context.Context) ProjectContainerTagProtectionMapOutput { + return o +} + +func (o ProjectContainerTagProtectionMapOutput) MapIndex(k pulumi.StringInput) ProjectContainerTagProtectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectContainerTagProtection { + return vs[0].(map[string]*ProjectContainerTagProtection)[vs[1].(string)] + }).(ProjectContainerTagProtectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectContainerTagProtectionInput)(nil)).Elem(), &ProjectContainerTagProtection{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectContainerTagProtectionArrayInput)(nil)).Elem(), ProjectContainerTagProtectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectContainerTagProtectionMapInput)(nil)).Elem(), ProjectContainerTagProtectionMap{}) + pulumi.RegisterOutputType(ProjectContainerTagProtectionOutput{}) + pulumi.RegisterOutputType(ProjectContainerTagProtectionArrayOutput{}) + pulumi.RegisterOutputType(ProjectContainerTagProtectionMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectCustomAttribute.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectCustomAttribute.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectCustomAttribute.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectCustomAttribute.go index 086f472de..5a79fce79 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectCustomAttribute.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectCustomAttribute.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectCustomAttribute` resource allows to manage custom attributes for a project. +// The `ProjectCustomAttribute` resource manages custom attributes for a project. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/custom_attributes/) // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -46,21 +46,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_custom_attribute`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectCustomAttribute`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_project_custom_attribute.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import a project custom attribute using an id made up of `{project-id}:{key}`, e.g. +// You can import a project custom attribute using an id made up of `{project-id}:{key}`, for example: // // ```sh // $ pulumi import gitlab:index/projectCustomAttribute:ProjectCustomAttribute attr 42:location diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectDeployToken.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectDeployToken.go new file mode 100644 index 000000000..b14b038ce --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectDeployToken.go @@ -0,0 +1,404 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectDeployToken` resource allows you to manage the lifecycle of deploy tokens on a project. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/deploy_tokens/#project-deploy-tokens) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi-std/sdk/go/std" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// // Example Usage +// _, err := gitlab.NewProjectDeployToken(ctx, "example", &gitlab.ProjectDeployTokenArgs{ +// Project: pulumi.String("example/deploying"), +// Name: pulumi.String("Example project deploy token"), +// Username: pulumi.String("example-username"), +// ExpiresAt: pulumi.String("2020-03-14T00:00:00.000Z"), +// Scopes: pulumi.StringArray{ +// pulumi.String("read_repository"), +// pulumi.String("read_registry"), +// }, +// }) +// if err != nil { +// return err +// } +// invokeTimeadd, err := std.Timeadd(ctx, &std.TimeaddArgs{ +// Duration: std.Timestamp(ctx, &std.TimestampArgs{}, nil).Result, +// Timestamp: "24h", +// }, nil) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectDeployToken(ctx, "example-two", &gitlab.ProjectDeployTokenArgs{ +// Project: pulumi.String("12345678"), +// Name: pulumi.String("Example project deploy token expires in 24h"), +// ExpiresAt: pulumi.String(invokeTimeadd.Result), +// Scopes: pulumi.StringArray{ +// pulumi.String("read_repository"), +// pulumi.String("read_registry"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectDeployToken`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// GitLab project deploy tokens can be imported using an id made up of `{project_id}:{deploy_token_id}`. +// +// ```sh +// $ pulumi import gitlab:index/projectDeployToken:ProjectDeployToken project_token 1:4 +// ``` +// +// Note: the `token` resource attribute is not available for imported resources as this information cannot be read from the GitLab API. +type ProjectDeployToken struct { + pulumi.CustomResourceState + + // True if the token is expired. + Expired pulumi.BoolOutput `pulumi:"expired"` + // Time the token expires in RFC3339 format. Not set by default. + ExpiresAt pulumi.StringOutput `pulumi:"expiresAt"` + // A name to describe the deploy token with. + Name pulumi.StringOutput `pulumi:"name"` + // The Id or full path of the project. + Project pulumi.StringOutput `pulumi:"project"` + // True if the token is revoked. + Revoked pulumi.BoolOutput `pulumi:"revoked"` + // The scopes of the project deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` + Scopes pulumi.StringArrayOutput `pulumi:"scopes"` + // The secret token. This is only populated when creating a new deploy token. **Note**: The token is not available for imported resources. + Token pulumi.StringOutput `pulumi:"token"` + // A username for the deploy token. Default is `gitlab+deploy-token-{n}`. + Username pulumi.StringOutput `pulumi:"username"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolOutput `pulumi:"validatePastExpirationDate"` +} + +// NewProjectDeployToken registers a new resource with the given unique name, arguments, and options. +func NewProjectDeployToken(ctx *pulumi.Context, + name string, args *ProjectDeployTokenArgs, opts ...pulumi.ResourceOption) (*ProjectDeployToken, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.Scopes == nil { + return nil, errors.New("invalid value for required argument 'Scopes'") + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "token", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectDeployToken + err := ctx.RegisterResource("gitlab:index/projectDeployToken:ProjectDeployToken", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectDeployToken gets an existing ProjectDeployToken resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectDeployToken(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectDeployTokenState, opts ...pulumi.ResourceOption) (*ProjectDeployToken, error) { + var resource ProjectDeployToken + err := ctx.ReadResource("gitlab:index/projectDeployToken:ProjectDeployToken", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectDeployToken resources. +type projectDeployTokenState struct { + // True if the token is expired. + Expired *bool `pulumi:"expired"` + // Time the token expires in RFC3339 format. Not set by default. + ExpiresAt *string `pulumi:"expiresAt"` + // A name to describe the deploy token with. + Name *string `pulumi:"name"` + // The Id or full path of the project. + Project *string `pulumi:"project"` + // True if the token is revoked. + Revoked *bool `pulumi:"revoked"` + // The scopes of the project deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` + Scopes []string `pulumi:"scopes"` + // The secret token. This is only populated when creating a new deploy token. **Note**: The token is not available for imported resources. + Token *string `pulumi:"token"` + // A username for the deploy token. Default is `gitlab+deploy-token-{n}`. + Username *string `pulumi:"username"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate *bool `pulumi:"validatePastExpirationDate"` +} + +type ProjectDeployTokenState struct { + // True if the token is expired. + Expired pulumi.BoolPtrInput + // Time the token expires in RFC3339 format. Not set by default. + ExpiresAt pulumi.StringPtrInput + // A name to describe the deploy token with. + Name pulumi.StringPtrInput + // The Id or full path of the project. + Project pulumi.StringPtrInput + // True if the token is revoked. + Revoked pulumi.BoolPtrInput + // The scopes of the project deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` + Scopes pulumi.StringArrayInput + // The secret token. This is only populated when creating a new deploy token. **Note**: The token is not available for imported resources. + Token pulumi.StringPtrInput + // A username for the deploy token. Default is `gitlab+deploy-token-{n}`. + Username pulumi.StringPtrInput + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolPtrInput +} + +func (ProjectDeployTokenState) ElementType() reflect.Type { + return reflect.TypeOf((*projectDeployTokenState)(nil)).Elem() +} + +type projectDeployTokenArgs struct { + // Time the token expires in RFC3339 format. Not set by default. + ExpiresAt *string `pulumi:"expiresAt"` + // A name to describe the deploy token with. + Name *string `pulumi:"name"` + // The Id or full path of the project. + Project string `pulumi:"project"` + // The scopes of the project deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` + Scopes []string `pulumi:"scopes"` + // A username for the deploy token. Default is `gitlab+deploy-token-{n}`. + Username *string `pulumi:"username"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate *bool `pulumi:"validatePastExpirationDate"` +} + +// The set of arguments for constructing a ProjectDeployToken resource. +type ProjectDeployTokenArgs struct { + // Time the token expires in RFC3339 format. Not set by default. + ExpiresAt pulumi.StringPtrInput + // A name to describe the deploy token with. + Name pulumi.StringPtrInput + // The Id or full path of the project. + Project pulumi.StringInput + // The scopes of the project deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` + Scopes pulumi.StringArrayInput + // A username for the deploy token. Default is `gitlab+deploy-token-{n}`. + Username pulumi.StringPtrInput + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolPtrInput +} + +func (ProjectDeployTokenArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectDeployTokenArgs)(nil)).Elem() +} + +type ProjectDeployTokenInput interface { + pulumi.Input + + ToProjectDeployTokenOutput() ProjectDeployTokenOutput + ToProjectDeployTokenOutputWithContext(ctx context.Context) ProjectDeployTokenOutput +} + +func (*ProjectDeployToken) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectDeployToken)(nil)).Elem() +} + +func (i *ProjectDeployToken) ToProjectDeployTokenOutput() ProjectDeployTokenOutput { + return i.ToProjectDeployTokenOutputWithContext(context.Background()) +} + +func (i *ProjectDeployToken) ToProjectDeployTokenOutputWithContext(ctx context.Context) ProjectDeployTokenOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectDeployTokenOutput) +} + +// ProjectDeployTokenArrayInput is an input type that accepts ProjectDeployTokenArray and ProjectDeployTokenArrayOutput values. +// You can construct a concrete instance of `ProjectDeployTokenArrayInput` via: +// +// ProjectDeployTokenArray{ ProjectDeployTokenArgs{...} } +type ProjectDeployTokenArrayInput interface { + pulumi.Input + + ToProjectDeployTokenArrayOutput() ProjectDeployTokenArrayOutput + ToProjectDeployTokenArrayOutputWithContext(context.Context) ProjectDeployTokenArrayOutput +} + +type ProjectDeployTokenArray []ProjectDeployTokenInput + +func (ProjectDeployTokenArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectDeployToken)(nil)).Elem() +} + +func (i ProjectDeployTokenArray) ToProjectDeployTokenArrayOutput() ProjectDeployTokenArrayOutput { + return i.ToProjectDeployTokenArrayOutputWithContext(context.Background()) +} + +func (i ProjectDeployTokenArray) ToProjectDeployTokenArrayOutputWithContext(ctx context.Context) ProjectDeployTokenArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectDeployTokenArrayOutput) +} + +// ProjectDeployTokenMapInput is an input type that accepts ProjectDeployTokenMap and ProjectDeployTokenMapOutput values. +// You can construct a concrete instance of `ProjectDeployTokenMapInput` via: +// +// ProjectDeployTokenMap{ "key": ProjectDeployTokenArgs{...} } +type ProjectDeployTokenMapInput interface { + pulumi.Input + + ToProjectDeployTokenMapOutput() ProjectDeployTokenMapOutput + ToProjectDeployTokenMapOutputWithContext(context.Context) ProjectDeployTokenMapOutput +} + +type ProjectDeployTokenMap map[string]ProjectDeployTokenInput + +func (ProjectDeployTokenMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectDeployToken)(nil)).Elem() +} + +func (i ProjectDeployTokenMap) ToProjectDeployTokenMapOutput() ProjectDeployTokenMapOutput { + return i.ToProjectDeployTokenMapOutputWithContext(context.Background()) +} + +func (i ProjectDeployTokenMap) ToProjectDeployTokenMapOutputWithContext(ctx context.Context) ProjectDeployTokenMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectDeployTokenMapOutput) +} + +type ProjectDeployTokenOutput struct{ *pulumi.OutputState } + +func (ProjectDeployTokenOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectDeployToken)(nil)).Elem() +} + +func (o ProjectDeployTokenOutput) ToProjectDeployTokenOutput() ProjectDeployTokenOutput { + return o +} + +func (o ProjectDeployTokenOutput) ToProjectDeployTokenOutputWithContext(ctx context.Context) ProjectDeployTokenOutput { + return o +} + +// True if the token is expired. +func (o ProjectDeployTokenOutput) Expired() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectDeployToken) pulumi.BoolOutput { return v.Expired }).(pulumi.BoolOutput) +} + +// Time the token expires in RFC3339 format. Not set by default. +func (o ProjectDeployTokenOutput) ExpiresAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectDeployToken) pulumi.StringOutput { return v.ExpiresAt }).(pulumi.StringOutput) +} + +// A name to describe the deploy token with. +func (o ProjectDeployTokenOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectDeployToken) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The Id or full path of the project. +func (o ProjectDeployTokenOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectDeployToken) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// True if the token is revoked. +func (o ProjectDeployTokenOutput) Revoked() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectDeployToken) pulumi.BoolOutput { return v.Revoked }).(pulumi.BoolOutput) +} + +// The scopes of the project deploy token. Valid values are: `readRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `readPackageRegistry`, `writePackageRegistry` +func (o ProjectDeployTokenOutput) Scopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ProjectDeployToken) pulumi.StringArrayOutput { return v.Scopes }).(pulumi.StringArrayOutput) +} + +// The secret token. This is only populated when creating a new deploy token. **Note**: The token is not available for imported resources. +func (o ProjectDeployTokenOutput) Token() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectDeployToken) pulumi.StringOutput { return v.Token }).(pulumi.StringOutput) +} + +// A username for the deploy token. Default is `gitlab+deploy-token-{n}`. +func (o ProjectDeployTokenOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectDeployToken) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) +} + +// Wether to validate if the expiration date is in the future. +func (o ProjectDeployTokenOutput) ValidatePastExpirationDate() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectDeployToken) pulumi.BoolOutput { return v.ValidatePastExpirationDate }).(pulumi.BoolOutput) +} + +type ProjectDeployTokenArrayOutput struct{ *pulumi.OutputState } + +func (ProjectDeployTokenArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectDeployToken)(nil)).Elem() +} + +func (o ProjectDeployTokenArrayOutput) ToProjectDeployTokenArrayOutput() ProjectDeployTokenArrayOutput { + return o +} + +func (o ProjectDeployTokenArrayOutput) ToProjectDeployTokenArrayOutputWithContext(ctx context.Context) ProjectDeployTokenArrayOutput { + return o +} + +func (o ProjectDeployTokenArrayOutput) Index(i pulumi.IntInput) ProjectDeployTokenOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectDeployToken { + return vs[0].([]*ProjectDeployToken)[vs[1].(int)] + }).(ProjectDeployTokenOutput) +} + +type ProjectDeployTokenMapOutput struct{ *pulumi.OutputState } + +func (ProjectDeployTokenMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectDeployToken)(nil)).Elem() +} + +func (o ProjectDeployTokenMapOutput) ToProjectDeployTokenMapOutput() ProjectDeployTokenMapOutput { + return o +} + +func (o ProjectDeployTokenMapOutput) ToProjectDeployTokenMapOutputWithContext(ctx context.Context) ProjectDeployTokenMapOutput { + return o +} + +func (o ProjectDeployTokenMapOutput) MapIndex(k pulumi.StringInput) ProjectDeployTokenOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectDeployToken { + return vs[0].(map[string]*ProjectDeployToken)[vs[1].(string)] + }).(ProjectDeployTokenOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectDeployTokenInput)(nil)).Elem(), &ProjectDeployToken{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectDeployTokenArrayInput)(nil)).Elem(), ProjectDeployTokenArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectDeployTokenMapInput)(nil)).Elem(), ProjectDeployTokenMap{}) + pulumi.RegisterOutputType(ProjectDeployTokenOutput{}) + pulumi.RegisterOutputType(ProjectDeployTokenArrayOutput{}) + pulumi.RegisterOutputType(ProjectDeployTokenMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectEnvironment.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectEnvironment.go similarity index 91% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectEnvironment.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectEnvironment.go index 7c5669c7c..5ba0c6aff 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectEnvironment.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectEnvironment.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,10 +8,19 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// The `ProjectEnvironment` resource manages the lifecycle of an environment in a project. +// +// > During a terraform destroy this resource by default will not attempt to stop the environment first. +// An environment is required to be in a stopped state before a deletion of the environment can occur. +// Set the `stopBeforeDestroy` flag to attempt to automatically stop the environment before deletion. If the +// environment's `autoStopSetting` is set to `withAction`, the environment will be force-stopped. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/environments/) +// // ## Example Usage // // ```go @@ -19,7 +28,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -58,21 +67,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_environment`. For example: -// -// terraform -// -// import { -// -// to = gitlab_project_environment.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectEnvironment`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// GitLab project environments can be imported using an id made up of `projectId:environmenId`, e.g. +// GitLab project environments can be imported using an id made up of `projectId:environmenId`, for example: // // ```sh // $ pulumi import gitlab:index/projectEnvironment:ProjectEnvironment bar 123:321 @@ -91,11 +90,11 @@ type ProjectEnvironment struct { // The description of the environment. Description pulumi.StringOutput `pulumi:"description"` // Place to link to for this environment. - ExternalUrl pulumi.StringPtrOutput `pulumi:"externalUrl"` + ExternalUrl pulumi.StringOutput `pulumi:"externalUrl"` // The Flux resource path to associate with this environment. - FluxResourcePath pulumi.StringPtrOutput `pulumi:"fluxResourcePath"` + FluxResourcePath pulumi.StringOutput `pulumi:"fluxResourcePath"` // The Kubernetes namespace to associate with this environment. - KubernetesNamespace pulumi.StringPtrOutput `pulumi:"kubernetesNamespace"` + KubernetesNamespace pulumi.StringOutput `pulumi:"kubernetesNamespace"` // The name of the environment. Name pulumi.StringOutput `pulumi:"name"` // The ID or full path of the project to environment is created for. @@ -105,7 +104,7 @@ type ProjectEnvironment struct { // State the environment is in. Valid values are `available`, `stopped`. State pulumi.StringOutput `pulumi:"state"` // Determines whether the environment is attempted to be stopped before the environment is deleted. If `autoStopSetting` is set to `withAction`, this will perform a force stop. - StopBeforeDestroy pulumi.BoolPtrOutput `pulumi:"stopBeforeDestroy"` + StopBeforeDestroy pulumi.BoolOutput `pulumi:"stopBeforeDestroy"` // The tier of the new environment. Valid values are `production`, `staging`, `testing`, `development`, `other`. Tier pulumi.StringOutput `pulumi:"tier"` // The ISO8601 date/time that this environment was last updated at in UTC. @@ -374,18 +373,18 @@ func (o ProjectEnvironmentOutput) Description() pulumi.StringOutput { } // Place to link to for this environment. -func (o ProjectEnvironmentOutput) ExternalUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ProjectEnvironment) pulumi.StringPtrOutput { return v.ExternalUrl }).(pulumi.StringPtrOutput) +func (o ProjectEnvironmentOutput) ExternalUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectEnvironment) pulumi.StringOutput { return v.ExternalUrl }).(pulumi.StringOutput) } // The Flux resource path to associate with this environment. -func (o ProjectEnvironmentOutput) FluxResourcePath() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ProjectEnvironment) pulumi.StringPtrOutput { return v.FluxResourcePath }).(pulumi.StringPtrOutput) +func (o ProjectEnvironmentOutput) FluxResourcePath() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectEnvironment) pulumi.StringOutput { return v.FluxResourcePath }).(pulumi.StringOutput) } // The Kubernetes namespace to associate with this environment. -func (o ProjectEnvironmentOutput) KubernetesNamespace() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ProjectEnvironment) pulumi.StringPtrOutput { return v.KubernetesNamespace }).(pulumi.StringPtrOutput) +func (o ProjectEnvironmentOutput) KubernetesNamespace() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectEnvironment) pulumi.StringOutput { return v.KubernetesNamespace }).(pulumi.StringOutput) } // The name of the environment. @@ -409,8 +408,8 @@ func (o ProjectEnvironmentOutput) State() pulumi.StringOutput { } // Determines whether the environment is attempted to be stopped before the environment is deleted. If `autoStopSetting` is set to `withAction`, this will perform a force stop. -func (o ProjectEnvironmentOutput) StopBeforeDestroy() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ProjectEnvironment) pulumi.BoolPtrOutput { return v.StopBeforeDestroy }).(pulumi.BoolPtrOutput) +func (o ProjectEnvironmentOutput) StopBeforeDestroy() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectEnvironment) pulumi.BoolOutput { return v.StopBeforeDestroy }).(pulumi.BoolOutput) } // The tier of the new environment. Valid values are `production`, `staging`, `testing`, `development`, `other`. diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectExternalStatusCheck.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectExternalStatusCheck.go new file mode 100644 index 000000000..2a903c79b --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectExternalStatusCheck.go @@ -0,0 +1,359 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectExternalStatusCheck` resource allows you to manage the lifecycle of an external status check service on a project. +// +// > This resource requires a GitLab Enterprise instance with an Ultimate license. +// +// **Upstream API**: [GitLab API docs](https://docs.gitlab.com/api/status_checks/) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.NewProjectExternalStatusCheck(ctx, "foo", &gitlab.ProjectExternalStatusCheckArgs{ +// ProjectId: pulumi.Int(123), +// Name: pulumi.String("foo"), +// ExternalUrl: pulumi.String("https://example.gitlab.com"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectExternalStatusCheck(ctx, "bar", &gitlab.ProjectExternalStatusCheckArgs{ +// ProjectId: pulumi.Int(456), +// Name: pulumi.String("bar"), +// ExternalUrl: pulumi.String("https://example.gitlab.com"), +// SharedSecret: pulumi.String("secret"), +// ProtectedBranchIds: pulumi.IntArray{ +// pulumi.Int(6), +// pulumi.Int(28), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectExternalStatusCheck`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// GitLab project external status checks can be imported using an id made up of `:`, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectExternalStatusCheck:ProjectExternalStatusCheck foo "123:42" +// ``` +// +// NOTE: the `sharedSecret` resource attribute is not available for imported resources as this information cannot be read from the GitLab API. +type ProjectExternalStatusCheck struct { + pulumi.CustomResourceState + + // The URL of the external status check service. + ExternalUrl pulumi.StringOutput `pulumi:"externalUrl"` + // True if the external status check uses an HMAC secret. + Hmac pulumi.BoolOutput `pulumi:"hmac"` + // The display name of the external status check service. + Name pulumi.StringOutput `pulumi:"name"` + // The ID of the project. + ProjectId pulumi.IntOutput `pulumi:"projectId"` + // The list of IDs of protected branches to scope the rule by. + ProtectedBranchIds pulumi.IntArrayOutput `pulumi:"protectedBranchIds"` + // The HMAC secret for the external status check. If this is set, then removed from the config, the value will get set to empty in the state. + SharedSecret pulumi.StringPtrOutput `pulumi:"sharedSecret"` +} + +// NewProjectExternalStatusCheck registers a new resource with the given unique name, arguments, and options. +func NewProjectExternalStatusCheck(ctx *pulumi.Context, + name string, args *ProjectExternalStatusCheckArgs, opts ...pulumi.ResourceOption) (*ProjectExternalStatusCheck, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ExternalUrl == nil { + return nil, errors.New("invalid value for required argument 'ExternalUrl'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + if args.SharedSecret != nil { + args.SharedSecret = pulumi.ToSecret(args.SharedSecret).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "sharedSecret", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectExternalStatusCheck + err := ctx.RegisterResource("gitlab:index/projectExternalStatusCheck:ProjectExternalStatusCheck", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectExternalStatusCheck gets an existing ProjectExternalStatusCheck resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectExternalStatusCheck(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectExternalStatusCheckState, opts ...pulumi.ResourceOption) (*ProjectExternalStatusCheck, error) { + var resource ProjectExternalStatusCheck + err := ctx.ReadResource("gitlab:index/projectExternalStatusCheck:ProjectExternalStatusCheck", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectExternalStatusCheck resources. +type projectExternalStatusCheckState struct { + // The URL of the external status check service. + ExternalUrl *string `pulumi:"externalUrl"` + // True if the external status check uses an HMAC secret. + Hmac *bool `pulumi:"hmac"` + // The display name of the external status check service. + Name *string `pulumi:"name"` + // The ID of the project. + ProjectId *int `pulumi:"projectId"` + // The list of IDs of protected branches to scope the rule by. + ProtectedBranchIds []int `pulumi:"protectedBranchIds"` + // The HMAC secret for the external status check. If this is set, then removed from the config, the value will get set to empty in the state. + SharedSecret *string `pulumi:"sharedSecret"` +} + +type ProjectExternalStatusCheckState struct { + // The URL of the external status check service. + ExternalUrl pulumi.StringPtrInput + // True if the external status check uses an HMAC secret. + Hmac pulumi.BoolPtrInput + // The display name of the external status check service. + Name pulumi.StringPtrInput + // The ID of the project. + ProjectId pulumi.IntPtrInput + // The list of IDs of protected branches to scope the rule by. + ProtectedBranchIds pulumi.IntArrayInput + // The HMAC secret for the external status check. If this is set, then removed from the config, the value will get set to empty in the state. + SharedSecret pulumi.StringPtrInput +} + +func (ProjectExternalStatusCheckState) ElementType() reflect.Type { + return reflect.TypeOf((*projectExternalStatusCheckState)(nil)).Elem() +} + +type projectExternalStatusCheckArgs struct { + // The URL of the external status check service. + ExternalUrl string `pulumi:"externalUrl"` + // The display name of the external status check service. + Name *string `pulumi:"name"` + // The ID of the project. + ProjectId int `pulumi:"projectId"` + // The list of IDs of protected branches to scope the rule by. + ProtectedBranchIds []int `pulumi:"protectedBranchIds"` + // The HMAC secret for the external status check. If this is set, then removed from the config, the value will get set to empty in the state. + SharedSecret *string `pulumi:"sharedSecret"` +} + +// The set of arguments for constructing a ProjectExternalStatusCheck resource. +type ProjectExternalStatusCheckArgs struct { + // The URL of the external status check service. + ExternalUrl pulumi.StringInput + // The display name of the external status check service. + Name pulumi.StringPtrInput + // The ID of the project. + ProjectId pulumi.IntInput + // The list of IDs of protected branches to scope the rule by. + ProtectedBranchIds pulumi.IntArrayInput + // The HMAC secret for the external status check. If this is set, then removed from the config, the value will get set to empty in the state. + SharedSecret pulumi.StringPtrInput +} + +func (ProjectExternalStatusCheckArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectExternalStatusCheckArgs)(nil)).Elem() +} + +type ProjectExternalStatusCheckInput interface { + pulumi.Input + + ToProjectExternalStatusCheckOutput() ProjectExternalStatusCheckOutput + ToProjectExternalStatusCheckOutputWithContext(ctx context.Context) ProjectExternalStatusCheckOutput +} + +func (*ProjectExternalStatusCheck) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectExternalStatusCheck)(nil)).Elem() +} + +func (i *ProjectExternalStatusCheck) ToProjectExternalStatusCheckOutput() ProjectExternalStatusCheckOutput { + return i.ToProjectExternalStatusCheckOutputWithContext(context.Background()) +} + +func (i *ProjectExternalStatusCheck) ToProjectExternalStatusCheckOutputWithContext(ctx context.Context) ProjectExternalStatusCheckOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectExternalStatusCheckOutput) +} + +// ProjectExternalStatusCheckArrayInput is an input type that accepts ProjectExternalStatusCheckArray and ProjectExternalStatusCheckArrayOutput values. +// You can construct a concrete instance of `ProjectExternalStatusCheckArrayInput` via: +// +// ProjectExternalStatusCheckArray{ ProjectExternalStatusCheckArgs{...} } +type ProjectExternalStatusCheckArrayInput interface { + pulumi.Input + + ToProjectExternalStatusCheckArrayOutput() ProjectExternalStatusCheckArrayOutput + ToProjectExternalStatusCheckArrayOutputWithContext(context.Context) ProjectExternalStatusCheckArrayOutput +} + +type ProjectExternalStatusCheckArray []ProjectExternalStatusCheckInput + +func (ProjectExternalStatusCheckArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectExternalStatusCheck)(nil)).Elem() +} + +func (i ProjectExternalStatusCheckArray) ToProjectExternalStatusCheckArrayOutput() ProjectExternalStatusCheckArrayOutput { + return i.ToProjectExternalStatusCheckArrayOutputWithContext(context.Background()) +} + +func (i ProjectExternalStatusCheckArray) ToProjectExternalStatusCheckArrayOutputWithContext(ctx context.Context) ProjectExternalStatusCheckArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectExternalStatusCheckArrayOutput) +} + +// ProjectExternalStatusCheckMapInput is an input type that accepts ProjectExternalStatusCheckMap and ProjectExternalStatusCheckMapOutput values. +// You can construct a concrete instance of `ProjectExternalStatusCheckMapInput` via: +// +// ProjectExternalStatusCheckMap{ "key": ProjectExternalStatusCheckArgs{...} } +type ProjectExternalStatusCheckMapInput interface { + pulumi.Input + + ToProjectExternalStatusCheckMapOutput() ProjectExternalStatusCheckMapOutput + ToProjectExternalStatusCheckMapOutputWithContext(context.Context) ProjectExternalStatusCheckMapOutput +} + +type ProjectExternalStatusCheckMap map[string]ProjectExternalStatusCheckInput + +func (ProjectExternalStatusCheckMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectExternalStatusCheck)(nil)).Elem() +} + +func (i ProjectExternalStatusCheckMap) ToProjectExternalStatusCheckMapOutput() ProjectExternalStatusCheckMapOutput { + return i.ToProjectExternalStatusCheckMapOutputWithContext(context.Background()) +} + +func (i ProjectExternalStatusCheckMap) ToProjectExternalStatusCheckMapOutputWithContext(ctx context.Context) ProjectExternalStatusCheckMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectExternalStatusCheckMapOutput) +} + +type ProjectExternalStatusCheckOutput struct{ *pulumi.OutputState } + +func (ProjectExternalStatusCheckOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectExternalStatusCheck)(nil)).Elem() +} + +func (o ProjectExternalStatusCheckOutput) ToProjectExternalStatusCheckOutput() ProjectExternalStatusCheckOutput { + return o +} + +func (o ProjectExternalStatusCheckOutput) ToProjectExternalStatusCheckOutputWithContext(ctx context.Context) ProjectExternalStatusCheckOutput { + return o +} + +// The URL of the external status check service. +func (o ProjectExternalStatusCheckOutput) ExternalUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectExternalStatusCheck) pulumi.StringOutput { return v.ExternalUrl }).(pulumi.StringOutput) +} + +// True if the external status check uses an HMAC secret. +func (o ProjectExternalStatusCheckOutput) Hmac() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectExternalStatusCheck) pulumi.BoolOutput { return v.Hmac }).(pulumi.BoolOutput) +} + +// The display name of the external status check service. +func (o ProjectExternalStatusCheckOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectExternalStatusCheck) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The ID of the project. +func (o ProjectExternalStatusCheckOutput) ProjectId() pulumi.IntOutput { + return o.ApplyT(func(v *ProjectExternalStatusCheck) pulumi.IntOutput { return v.ProjectId }).(pulumi.IntOutput) +} + +// The list of IDs of protected branches to scope the rule by. +func (o ProjectExternalStatusCheckOutput) ProtectedBranchIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ProjectExternalStatusCheck) pulumi.IntArrayOutput { return v.ProtectedBranchIds }).(pulumi.IntArrayOutput) +} + +// The HMAC secret for the external status check. If this is set, then removed from the config, the value will get set to empty in the state. +func (o ProjectExternalStatusCheckOutput) SharedSecret() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectExternalStatusCheck) pulumi.StringPtrOutput { return v.SharedSecret }).(pulumi.StringPtrOutput) +} + +type ProjectExternalStatusCheckArrayOutput struct{ *pulumi.OutputState } + +func (ProjectExternalStatusCheckArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectExternalStatusCheck)(nil)).Elem() +} + +func (o ProjectExternalStatusCheckArrayOutput) ToProjectExternalStatusCheckArrayOutput() ProjectExternalStatusCheckArrayOutput { + return o +} + +func (o ProjectExternalStatusCheckArrayOutput) ToProjectExternalStatusCheckArrayOutputWithContext(ctx context.Context) ProjectExternalStatusCheckArrayOutput { + return o +} + +func (o ProjectExternalStatusCheckArrayOutput) Index(i pulumi.IntInput) ProjectExternalStatusCheckOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectExternalStatusCheck { + return vs[0].([]*ProjectExternalStatusCheck)[vs[1].(int)] + }).(ProjectExternalStatusCheckOutput) +} + +type ProjectExternalStatusCheckMapOutput struct{ *pulumi.OutputState } + +func (ProjectExternalStatusCheckMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectExternalStatusCheck)(nil)).Elem() +} + +func (o ProjectExternalStatusCheckMapOutput) ToProjectExternalStatusCheckMapOutput() ProjectExternalStatusCheckMapOutput { + return o +} + +func (o ProjectExternalStatusCheckMapOutput) ToProjectExternalStatusCheckMapOutputWithContext(ctx context.Context) ProjectExternalStatusCheckMapOutput { + return o +} + +func (o ProjectExternalStatusCheckMapOutput) MapIndex(k pulumi.StringInput) ProjectExternalStatusCheckOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectExternalStatusCheck { + return vs[0].(map[string]*ProjectExternalStatusCheck)[vs[1].(string)] + }).(ProjectExternalStatusCheckOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectExternalStatusCheckInput)(nil)).Elem(), &ProjectExternalStatusCheck{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectExternalStatusCheckArrayInput)(nil)).Elem(), ProjectExternalStatusCheckArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectExternalStatusCheckMapInput)(nil)).Elem(), ProjectExternalStatusCheckMap{}) + pulumi.RegisterOutputType(ProjectExternalStatusCheckOutput{}) + pulumi.RegisterOutputType(ProjectExternalStatusCheckArrayOutput{}) + pulumi.RegisterOutputType(ProjectExternalStatusCheckMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectFreezePeriod.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectFreezePeriod.go similarity index 82% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectFreezePeriod.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectFreezePeriod.go index 89a635d20..9ab550ba5 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectFreezePeriod.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectFreezePeriod.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectFreezePeriod` resource allows to manage the lifecycle of a freeze period for a project. +// The `ProjectFreezePeriod` resource manages the lifecycle of a freeze period for a project. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/freeze_periods/) // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -47,21 +47,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_freeze_period`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectFreezePeriod`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_project_freeze_period.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab project freeze periods can be imported using an id made up of `project_id:freeze_period_id`, e.g. +// GitLab project freeze periods can be imported using an id made up of `project_id:freeze_period_id`, for example: // // ```sh // $ pulumi import gitlab:index/projectFreezePeriod:ProjectFreezePeriod schedule "12345:1337" @@ -70,12 +60,12 @@ type ProjectFreezePeriod struct { pulumi.CustomResourceState // The timezone. - CronTimezone pulumi.StringPtrOutput `pulumi:"cronTimezone"` - // End of the Freeze Period in cron format (e.g. `0 2 * * *`). + CronTimezone pulumi.StringOutput `pulumi:"cronTimezone"` + // End of the Freeze Period in cron format (for example, `0 2 * * *`). FreezeEnd pulumi.StringOutput `pulumi:"freezeEnd"` - // Start of the Freeze Period in cron format (e.g. `0 1 * * *`). + // Start of the Freeze Period in cron format (for example, `0 1 * * *`). FreezeStart pulumi.StringOutput `pulumi:"freezeStart"` - // The ID or URL-encoded path of the project to add the schedule to. + // The ID or path of the project to add the freeze period to. Project pulumi.StringOutput `pulumi:"project"` } @@ -120,22 +110,22 @@ func GetProjectFreezePeriod(ctx *pulumi.Context, type projectFreezePeriodState struct { // The timezone. CronTimezone *string `pulumi:"cronTimezone"` - // End of the Freeze Period in cron format (e.g. `0 2 * * *`). + // End of the Freeze Period in cron format (for example, `0 2 * * *`). FreezeEnd *string `pulumi:"freezeEnd"` - // Start of the Freeze Period in cron format (e.g. `0 1 * * *`). + // Start of the Freeze Period in cron format (for example, `0 1 * * *`). FreezeStart *string `pulumi:"freezeStart"` - // The ID or URL-encoded path of the project to add the schedule to. + // The ID or path of the project to add the freeze period to. Project *string `pulumi:"project"` } type ProjectFreezePeriodState struct { // The timezone. CronTimezone pulumi.StringPtrInput - // End of the Freeze Period in cron format (e.g. `0 2 * * *`). + // End of the Freeze Period in cron format (for example, `0 2 * * *`). FreezeEnd pulumi.StringPtrInput - // Start of the Freeze Period in cron format (e.g. `0 1 * * *`). + // Start of the Freeze Period in cron format (for example, `0 1 * * *`). FreezeStart pulumi.StringPtrInput - // The ID or URL-encoded path of the project to add the schedule to. + // The ID or path of the project to add the freeze period to. Project pulumi.StringPtrInput } @@ -146,11 +136,11 @@ func (ProjectFreezePeriodState) ElementType() reflect.Type { type projectFreezePeriodArgs struct { // The timezone. CronTimezone *string `pulumi:"cronTimezone"` - // End of the Freeze Period in cron format (e.g. `0 2 * * *`). + // End of the Freeze Period in cron format (for example, `0 2 * * *`). FreezeEnd string `pulumi:"freezeEnd"` - // Start of the Freeze Period in cron format (e.g. `0 1 * * *`). + // Start of the Freeze Period in cron format (for example, `0 1 * * *`). FreezeStart string `pulumi:"freezeStart"` - // The ID or URL-encoded path of the project to add the schedule to. + // The ID or path of the project to add the freeze period to. Project string `pulumi:"project"` } @@ -158,11 +148,11 @@ type projectFreezePeriodArgs struct { type ProjectFreezePeriodArgs struct { // The timezone. CronTimezone pulumi.StringPtrInput - // End of the Freeze Period in cron format (e.g. `0 2 * * *`). + // End of the Freeze Period in cron format (for example, `0 2 * * *`). FreezeEnd pulumi.StringInput - // Start of the Freeze Period in cron format (e.g. `0 1 * * *`). + // Start of the Freeze Period in cron format (for example, `0 1 * * *`). FreezeStart pulumi.StringInput - // The ID or URL-encoded path of the project to add the schedule to. + // The ID or path of the project to add the freeze period to. Project pulumi.StringInput } @@ -254,21 +244,21 @@ func (o ProjectFreezePeriodOutput) ToProjectFreezePeriodOutputWithContext(ctx co } // The timezone. -func (o ProjectFreezePeriodOutput) CronTimezone() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ProjectFreezePeriod) pulumi.StringPtrOutput { return v.CronTimezone }).(pulumi.StringPtrOutput) +func (o ProjectFreezePeriodOutput) CronTimezone() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectFreezePeriod) pulumi.StringOutput { return v.CronTimezone }).(pulumi.StringOutput) } -// End of the Freeze Period in cron format (e.g. `0 2 * * *`). +// End of the Freeze Period in cron format (for example, `0 2 * * *`). func (o ProjectFreezePeriodOutput) FreezeEnd() pulumi.StringOutput { return o.ApplyT(func(v *ProjectFreezePeriod) pulumi.StringOutput { return v.FreezeEnd }).(pulumi.StringOutput) } -// Start of the Freeze Period in cron format (e.g. `0 1 * * *`). +// Start of the Freeze Period in cron format (for example, `0 1 * * *`). func (o ProjectFreezePeriodOutput) FreezeStart() pulumi.StringOutput { return o.ApplyT(func(v *ProjectFreezePeriod) pulumi.StringOutput { return v.FreezeStart }).(pulumi.StringOutput) } -// The ID or URL-encoded path of the project to add the schedule to. +// The ID or path of the project to add the freeze period to. func (o ProjectFreezePeriodOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v *ProjectFreezePeriod) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectHook.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectHook.go similarity index 69% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectHook.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectHook.go index ac8336004..fa3645458 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectHook.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectHook.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,15 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectHook` resource allows to manage the lifecycle of a project hook. +// The `ProjectHook` resource manages the lifecycle of a project hook. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/projects/#hooks) +// > Note that `pushEvents` defaults to `true`. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_webhooks/) // // ## Example Usage // @@ -23,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -36,6 +38,7 @@ import ( // Name: pulumi.String("example"), // Description: pulumi.String("Example hook"), // MergeRequestsEvents: pulumi.Bool(true), +// PushEvents: pulumi.Bool(false), // }) // if err != nil { // return err @@ -68,77 +71,74 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_hook`. For example: -// -// terraform -// -// import { -// -// to = gitlab_project_hook.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectHook`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// A GitLab Project Hook can be imported using a key composed of `:`, e.g. +// A GitLab Project Hook can be imported using a key composed of `:`, for example: // // ```sh // $ pulumi import gitlab:index/projectHook:ProjectHook example "12345:1" // ``` // +// Where `project` may be the product ID or path with namespace depending on what you have in your config. // NOTE: the `token` resource attribute is not available for imported resources as this information cannot be read from the GitLab API. type ProjectHook struct { pulumi.CustomResourceState - // Invoke the hook for confidential issues events. + // Filter push events by branch. Valid values are: `wildcard`, `regex`, `allBranches`. + BranchFilterStrategy pulumi.StringOutput `pulumi:"branchFilterStrategy"` + // Invoke the hook for confidential issues events. Defaults to `false`. ConfidentialIssuesEvents pulumi.BoolOutput `pulumi:"confidentialIssuesEvents"` - // Invoke the hook for confidential note events. + // Invoke the hook for confidential note events. Defaults to `false`. ConfidentialNoteEvents pulumi.BoolOutput `pulumi:"confidentialNoteEvents"` - // Custom headers for the project webhook. + // Custom headers for the project webhook. Available from GitLab 17.1 onwards. CustomHeaders ProjectHookCustomHeaderArrayOutput `pulumi:"customHeaders"` // Custom webhook template. CustomWebhookTemplate pulumi.StringOutput `pulumi:"customWebhookTemplate"` - // Invoke the hook for deployment events. + // Invoke the hook for deployment events. Defaults to `false`. DeploymentEvents pulumi.BoolOutput `pulumi:"deploymentEvents"` // Description of the webhook. Description pulumi.StringOutput `pulumi:"description"` - // Enable SSL verification when invoking the hook. + // Invoke the hook for emoji events. Defaults to `false`. + EmojiEvents pulumi.BoolOutput `pulumi:"emojiEvents"` + // Enable SSL verification when invoking the hook. Defaults to `true`. EnableSslVerification pulumi.BoolOutput `pulumi:"enableSslVerification"` // The id of the project hook. HookId pulumi.IntOutput `pulumi:"hookId"` - // Invoke the hook for issues events. + // Invoke the hook for issues events. Defaults to `false`. IssuesEvents pulumi.BoolOutput `pulumi:"issuesEvents"` - // Invoke the hook for job events. + // Invoke the hook for job events. Defaults to `false`. JobEvents pulumi.BoolOutput `pulumi:"jobEvents"` - // Invoke the hook for merge requests events. + // Invoke the hook for merge requests events. Defaults to `false`. MergeRequestsEvents pulumi.BoolOutput `pulumi:"mergeRequestsEvents"` // Name of the project webhook. Name pulumi.StringOutput `pulumi:"name"` - // Invoke the hook for note events. + // Invoke the hook for note events. Defaults to `false`. NoteEvents pulumi.BoolOutput `pulumi:"noteEvents"` - // Invoke the hook for pipeline events. + // Invoke the hook for pipeline events. Defaults to `false`. PipelineEvents pulumi.BoolOutput `pulumi:"pipelineEvents"` // The name or id of the project to add the hook to. Project pulumi.StringOutput `pulumi:"project"` // The id of the project for the hook. ProjectId pulumi.IntOutput `pulumi:"projectId"` - // Invoke the hook for push events. + // Invoke the hook for push events. Defaults to `true`. PushEvents pulumi.BoolOutput `pulumi:"pushEvents"` // Invoke the hook for push events on matching branches only. PushEventsBranchFilter pulumi.StringOutput `pulumi:"pushEventsBranchFilter"` - // Invoke the hook for release events. + // Invoke the hook for release events. Defaults to `false`. ReleasesEvents pulumi.BoolOutput `pulumi:"releasesEvents"` - // Invoke the hook for project access token expiry events. + // Invoke the hook for project access token expiry events. Defaults to `false`. ResourceAccessTokenEvents pulumi.BoolOutput `pulumi:"resourceAccessTokenEvents"` - // Invoke the hook for tag push events. + // Invoke the hook for tag push events. Defaults to `false`. TagPushEvents pulumi.BoolOutput `pulumi:"tagPushEvents"` // A token to present when invoking the hook. The token is not available for imported resources. Token pulumi.StringOutput `pulumi:"token"` // The url of the hook to invoke. Forces re-creation to preserve `token`. Url pulumi.StringOutput `pulumi:"url"` - // Invoke the hook for wiki page events. + // Invoke the hook for vulnerability events. Defaults to `false`. + VulnerabilityEvents pulumi.BoolOutput `pulumi:"vulnerabilityEvents"` + // Invoke the hook for wiki page events. Defaults to `false`. WikiPageEvents pulumi.BoolOutput `pulumi:"wikiPageEvents"` } @@ -185,104 +185,116 @@ func GetProjectHook(ctx *pulumi.Context, // Input properties used for looking up and filtering ProjectHook resources. type projectHookState struct { - // Invoke the hook for confidential issues events. + // Filter push events by branch. Valid values are: `wildcard`, `regex`, `allBranches`. + BranchFilterStrategy *string `pulumi:"branchFilterStrategy"` + // Invoke the hook for confidential issues events. Defaults to `false`. ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` - // Invoke the hook for confidential note events. + // Invoke the hook for confidential note events. Defaults to `false`. ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` - // Custom headers for the project webhook. + // Custom headers for the project webhook. Available from GitLab 17.1 onwards. CustomHeaders []ProjectHookCustomHeader `pulumi:"customHeaders"` // Custom webhook template. CustomWebhookTemplate *string `pulumi:"customWebhookTemplate"` - // Invoke the hook for deployment events. + // Invoke the hook for deployment events. Defaults to `false`. DeploymentEvents *bool `pulumi:"deploymentEvents"` // Description of the webhook. Description *string `pulumi:"description"` - // Enable SSL verification when invoking the hook. + // Invoke the hook for emoji events. Defaults to `false`. + EmojiEvents *bool `pulumi:"emojiEvents"` + // Enable SSL verification when invoking the hook. Defaults to `true`. EnableSslVerification *bool `pulumi:"enableSslVerification"` // The id of the project hook. HookId *int `pulumi:"hookId"` - // Invoke the hook for issues events. + // Invoke the hook for issues events. Defaults to `false`. IssuesEvents *bool `pulumi:"issuesEvents"` - // Invoke the hook for job events. + // Invoke the hook for job events. Defaults to `false`. JobEvents *bool `pulumi:"jobEvents"` - // Invoke the hook for merge requests events. + // Invoke the hook for merge requests events. Defaults to `false`. MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` // Name of the project webhook. Name *string `pulumi:"name"` - // Invoke the hook for note events. + // Invoke the hook for note events. Defaults to `false`. NoteEvents *bool `pulumi:"noteEvents"` - // Invoke the hook for pipeline events. + // Invoke the hook for pipeline events. Defaults to `false`. PipelineEvents *bool `pulumi:"pipelineEvents"` // The name or id of the project to add the hook to. Project *string `pulumi:"project"` // The id of the project for the hook. ProjectId *int `pulumi:"projectId"` - // Invoke the hook for push events. + // Invoke the hook for push events. Defaults to `true`. PushEvents *bool `pulumi:"pushEvents"` // Invoke the hook for push events on matching branches only. PushEventsBranchFilter *string `pulumi:"pushEventsBranchFilter"` - // Invoke the hook for release events. + // Invoke the hook for release events. Defaults to `false`. ReleasesEvents *bool `pulumi:"releasesEvents"` - // Invoke the hook for project access token expiry events. + // Invoke the hook for project access token expiry events. Defaults to `false`. ResourceAccessTokenEvents *bool `pulumi:"resourceAccessTokenEvents"` - // Invoke the hook for tag push events. + // Invoke the hook for tag push events. Defaults to `false`. TagPushEvents *bool `pulumi:"tagPushEvents"` // A token to present when invoking the hook. The token is not available for imported resources. Token *string `pulumi:"token"` // The url of the hook to invoke. Forces re-creation to preserve `token`. Url *string `pulumi:"url"` - // Invoke the hook for wiki page events. + // Invoke the hook for vulnerability events. Defaults to `false`. + VulnerabilityEvents *bool `pulumi:"vulnerabilityEvents"` + // Invoke the hook for wiki page events. Defaults to `false`. WikiPageEvents *bool `pulumi:"wikiPageEvents"` } type ProjectHookState struct { - // Invoke the hook for confidential issues events. + // Filter push events by branch. Valid values are: `wildcard`, `regex`, `allBranches`. + BranchFilterStrategy pulumi.StringPtrInput + // Invoke the hook for confidential issues events. Defaults to `false`. ConfidentialIssuesEvents pulumi.BoolPtrInput - // Invoke the hook for confidential note events. + // Invoke the hook for confidential note events. Defaults to `false`. ConfidentialNoteEvents pulumi.BoolPtrInput - // Custom headers for the project webhook. + // Custom headers for the project webhook. Available from GitLab 17.1 onwards. CustomHeaders ProjectHookCustomHeaderArrayInput // Custom webhook template. CustomWebhookTemplate pulumi.StringPtrInput - // Invoke the hook for deployment events. + // Invoke the hook for deployment events. Defaults to `false`. DeploymentEvents pulumi.BoolPtrInput // Description of the webhook. Description pulumi.StringPtrInput - // Enable SSL verification when invoking the hook. + // Invoke the hook for emoji events. Defaults to `false`. + EmojiEvents pulumi.BoolPtrInput + // Enable SSL verification when invoking the hook. Defaults to `true`. EnableSslVerification pulumi.BoolPtrInput // The id of the project hook. HookId pulumi.IntPtrInput - // Invoke the hook for issues events. + // Invoke the hook for issues events. Defaults to `false`. IssuesEvents pulumi.BoolPtrInput - // Invoke the hook for job events. + // Invoke the hook for job events. Defaults to `false`. JobEvents pulumi.BoolPtrInput - // Invoke the hook for merge requests events. + // Invoke the hook for merge requests events. Defaults to `false`. MergeRequestsEvents pulumi.BoolPtrInput // Name of the project webhook. Name pulumi.StringPtrInput - // Invoke the hook for note events. + // Invoke the hook for note events. Defaults to `false`. NoteEvents pulumi.BoolPtrInput - // Invoke the hook for pipeline events. + // Invoke the hook for pipeline events. Defaults to `false`. PipelineEvents pulumi.BoolPtrInput // The name or id of the project to add the hook to. Project pulumi.StringPtrInput // The id of the project for the hook. ProjectId pulumi.IntPtrInput - // Invoke the hook for push events. + // Invoke the hook for push events. Defaults to `true`. PushEvents pulumi.BoolPtrInput // Invoke the hook for push events on matching branches only. PushEventsBranchFilter pulumi.StringPtrInput - // Invoke the hook for release events. + // Invoke the hook for release events. Defaults to `false`. ReleasesEvents pulumi.BoolPtrInput - // Invoke the hook for project access token expiry events. + // Invoke the hook for project access token expiry events. Defaults to `false`. ResourceAccessTokenEvents pulumi.BoolPtrInput - // Invoke the hook for tag push events. + // Invoke the hook for tag push events. Defaults to `false`. TagPushEvents pulumi.BoolPtrInput // A token to present when invoking the hook. The token is not available for imported resources. Token pulumi.StringPtrInput // The url of the hook to invoke. Forces re-creation to preserve `token`. Url pulumi.StringPtrInput - // Invoke the hook for wiki page events. + // Invoke the hook for vulnerability events. Defaults to `false`. + VulnerabilityEvents pulumi.BoolPtrInput + // Invoke the hook for wiki page events. Defaults to `false`. WikiPageEvents pulumi.BoolPtrInput } @@ -291,97 +303,109 @@ func (ProjectHookState) ElementType() reflect.Type { } type projectHookArgs struct { - // Invoke the hook for confidential issues events. + // Filter push events by branch. Valid values are: `wildcard`, `regex`, `allBranches`. + BranchFilterStrategy *string `pulumi:"branchFilterStrategy"` + // Invoke the hook for confidential issues events. Defaults to `false`. ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` - // Invoke the hook for confidential note events. + // Invoke the hook for confidential note events. Defaults to `false`. ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` - // Custom headers for the project webhook. + // Custom headers for the project webhook. Available from GitLab 17.1 onwards. CustomHeaders []ProjectHookCustomHeader `pulumi:"customHeaders"` // Custom webhook template. CustomWebhookTemplate *string `pulumi:"customWebhookTemplate"` - // Invoke the hook for deployment events. + // Invoke the hook for deployment events. Defaults to `false`. DeploymentEvents *bool `pulumi:"deploymentEvents"` // Description of the webhook. Description *string `pulumi:"description"` - // Enable SSL verification when invoking the hook. + // Invoke the hook for emoji events. Defaults to `false`. + EmojiEvents *bool `pulumi:"emojiEvents"` + // Enable SSL verification when invoking the hook. Defaults to `true`. EnableSslVerification *bool `pulumi:"enableSslVerification"` - // Invoke the hook for issues events. + // Invoke the hook for issues events. Defaults to `false`. IssuesEvents *bool `pulumi:"issuesEvents"` - // Invoke the hook for job events. + // Invoke the hook for job events. Defaults to `false`. JobEvents *bool `pulumi:"jobEvents"` - // Invoke the hook for merge requests events. + // Invoke the hook for merge requests events. Defaults to `false`. MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` // Name of the project webhook. Name *string `pulumi:"name"` - // Invoke the hook for note events. + // Invoke the hook for note events. Defaults to `false`. NoteEvents *bool `pulumi:"noteEvents"` - // Invoke the hook for pipeline events. + // Invoke the hook for pipeline events. Defaults to `false`. PipelineEvents *bool `pulumi:"pipelineEvents"` // The name or id of the project to add the hook to. Project string `pulumi:"project"` - // Invoke the hook for push events. + // Invoke the hook for push events. Defaults to `true`. PushEvents *bool `pulumi:"pushEvents"` // Invoke the hook for push events on matching branches only. PushEventsBranchFilter *string `pulumi:"pushEventsBranchFilter"` - // Invoke the hook for release events. + // Invoke the hook for release events. Defaults to `false`. ReleasesEvents *bool `pulumi:"releasesEvents"` - // Invoke the hook for project access token expiry events. + // Invoke the hook for project access token expiry events. Defaults to `false`. ResourceAccessTokenEvents *bool `pulumi:"resourceAccessTokenEvents"` - // Invoke the hook for tag push events. + // Invoke the hook for tag push events. Defaults to `false`. TagPushEvents *bool `pulumi:"tagPushEvents"` // A token to present when invoking the hook. The token is not available for imported resources. Token *string `pulumi:"token"` // The url of the hook to invoke. Forces re-creation to preserve `token`. Url string `pulumi:"url"` - // Invoke the hook for wiki page events. + // Invoke the hook for vulnerability events. Defaults to `false`. + VulnerabilityEvents *bool `pulumi:"vulnerabilityEvents"` + // Invoke the hook for wiki page events. Defaults to `false`. WikiPageEvents *bool `pulumi:"wikiPageEvents"` } // The set of arguments for constructing a ProjectHook resource. type ProjectHookArgs struct { - // Invoke the hook for confidential issues events. + // Filter push events by branch. Valid values are: `wildcard`, `regex`, `allBranches`. + BranchFilterStrategy pulumi.StringPtrInput + // Invoke the hook for confidential issues events. Defaults to `false`. ConfidentialIssuesEvents pulumi.BoolPtrInput - // Invoke the hook for confidential note events. + // Invoke the hook for confidential note events. Defaults to `false`. ConfidentialNoteEvents pulumi.BoolPtrInput - // Custom headers for the project webhook. + // Custom headers for the project webhook. Available from GitLab 17.1 onwards. CustomHeaders ProjectHookCustomHeaderArrayInput // Custom webhook template. CustomWebhookTemplate pulumi.StringPtrInput - // Invoke the hook for deployment events. + // Invoke the hook for deployment events. Defaults to `false`. DeploymentEvents pulumi.BoolPtrInput // Description of the webhook. Description pulumi.StringPtrInput - // Enable SSL verification when invoking the hook. + // Invoke the hook for emoji events. Defaults to `false`. + EmojiEvents pulumi.BoolPtrInput + // Enable SSL verification when invoking the hook. Defaults to `true`. EnableSslVerification pulumi.BoolPtrInput - // Invoke the hook for issues events. + // Invoke the hook for issues events. Defaults to `false`. IssuesEvents pulumi.BoolPtrInput - // Invoke the hook for job events. + // Invoke the hook for job events. Defaults to `false`. JobEvents pulumi.BoolPtrInput - // Invoke the hook for merge requests events. + // Invoke the hook for merge requests events. Defaults to `false`. MergeRequestsEvents pulumi.BoolPtrInput // Name of the project webhook. Name pulumi.StringPtrInput - // Invoke the hook for note events. + // Invoke the hook for note events. Defaults to `false`. NoteEvents pulumi.BoolPtrInput - // Invoke the hook for pipeline events. + // Invoke the hook for pipeline events. Defaults to `false`. PipelineEvents pulumi.BoolPtrInput // The name or id of the project to add the hook to. Project pulumi.StringInput - // Invoke the hook for push events. + // Invoke the hook for push events. Defaults to `true`. PushEvents pulumi.BoolPtrInput // Invoke the hook for push events on matching branches only. PushEventsBranchFilter pulumi.StringPtrInput - // Invoke the hook for release events. + // Invoke the hook for release events. Defaults to `false`. ReleasesEvents pulumi.BoolPtrInput - // Invoke the hook for project access token expiry events. + // Invoke the hook for project access token expiry events. Defaults to `false`. ResourceAccessTokenEvents pulumi.BoolPtrInput - // Invoke the hook for tag push events. + // Invoke the hook for tag push events. Defaults to `false`. TagPushEvents pulumi.BoolPtrInput // A token to present when invoking the hook. The token is not available for imported resources. Token pulumi.StringPtrInput // The url of the hook to invoke. Forces re-creation to preserve `token`. Url pulumi.StringInput - // Invoke the hook for wiki page events. + // Invoke the hook for vulnerability events. Defaults to `false`. + VulnerabilityEvents pulumi.BoolPtrInput + // Invoke the hook for wiki page events. Defaults to `false`. WikiPageEvents pulumi.BoolPtrInput } @@ -472,17 +496,22 @@ func (o ProjectHookOutput) ToProjectHookOutputWithContext(ctx context.Context) P return o } -// Invoke the hook for confidential issues events. +// Filter push events by branch. Valid values are: `wildcard`, `regex`, `allBranches`. +func (o ProjectHookOutput) BranchFilterStrategy() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectHook) pulumi.StringOutput { return v.BranchFilterStrategy }).(pulumi.StringOutput) +} + +// Invoke the hook for confidential issues events. Defaults to `false`. func (o ProjectHookOutput) ConfidentialIssuesEvents() pulumi.BoolOutput { return o.ApplyT(func(v *ProjectHook) pulumi.BoolOutput { return v.ConfidentialIssuesEvents }).(pulumi.BoolOutput) } -// Invoke the hook for confidential note events. +// Invoke the hook for confidential note events. Defaults to `false`. func (o ProjectHookOutput) ConfidentialNoteEvents() pulumi.BoolOutput { return o.ApplyT(func(v *ProjectHook) pulumi.BoolOutput { return v.ConfidentialNoteEvents }).(pulumi.BoolOutput) } -// Custom headers for the project webhook. +// Custom headers for the project webhook. Available from GitLab 17.1 onwards. func (o ProjectHookOutput) CustomHeaders() ProjectHookCustomHeaderArrayOutput { return o.ApplyT(func(v *ProjectHook) ProjectHookCustomHeaderArrayOutput { return v.CustomHeaders }).(ProjectHookCustomHeaderArrayOutput) } @@ -492,7 +521,7 @@ func (o ProjectHookOutput) CustomWebhookTemplate() pulumi.StringOutput { return o.ApplyT(func(v *ProjectHook) pulumi.StringOutput { return v.CustomWebhookTemplate }).(pulumi.StringOutput) } -// Invoke the hook for deployment events. +// Invoke the hook for deployment events. Defaults to `false`. func (o ProjectHookOutput) DeploymentEvents() pulumi.BoolOutput { return o.ApplyT(func(v *ProjectHook) pulumi.BoolOutput { return v.DeploymentEvents }).(pulumi.BoolOutput) } @@ -502,7 +531,12 @@ func (o ProjectHookOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *ProjectHook) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } -// Enable SSL verification when invoking the hook. +// Invoke the hook for emoji events. Defaults to `false`. +func (o ProjectHookOutput) EmojiEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectHook) pulumi.BoolOutput { return v.EmojiEvents }).(pulumi.BoolOutput) +} + +// Enable SSL verification when invoking the hook. Defaults to `true`. func (o ProjectHookOutput) EnableSslVerification() pulumi.BoolOutput { return o.ApplyT(func(v *ProjectHook) pulumi.BoolOutput { return v.EnableSslVerification }).(pulumi.BoolOutput) } @@ -512,17 +546,17 @@ func (o ProjectHookOutput) HookId() pulumi.IntOutput { return o.ApplyT(func(v *ProjectHook) pulumi.IntOutput { return v.HookId }).(pulumi.IntOutput) } -// Invoke the hook for issues events. +// Invoke the hook for issues events. Defaults to `false`. func (o ProjectHookOutput) IssuesEvents() pulumi.BoolOutput { return o.ApplyT(func(v *ProjectHook) pulumi.BoolOutput { return v.IssuesEvents }).(pulumi.BoolOutput) } -// Invoke the hook for job events. +// Invoke the hook for job events. Defaults to `false`. func (o ProjectHookOutput) JobEvents() pulumi.BoolOutput { return o.ApplyT(func(v *ProjectHook) pulumi.BoolOutput { return v.JobEvents }).(pulumi.BoolOutput) } -// Invoke the hook for merge requests events. +// Invoke the hook for merge requests events. Defaults to `false`. func (o ProjectHookOutput) MergeRequestsEvents() pulumi.BoolOutput { return o.ApplyT(func(v *ProjectHook) pulumi.BoolOutput { return v.MergeRequestsEvents }).(pulumi.BoolOutput) } @@ -532,12 +566,12 @@ func (o ProjectHookOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *ProjectHook) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// Invoke the hook for note events. +// Invoke the hook for note events. Defaults to `false`. func (o ProjectHookOutput) NoteEvents() pulumi.BoolOutput { return o.ApplyT(func(v *ProjectHook) pulumi.BoolOutput { return v.NoteEvents }).(pulumi.BoolOutput) } -// Invoke the hook for pipeline events. +// Invoke the hook for pipeline events. Defaults to `false`. func (o ProjectHookOutput) PipelineEvents() pulumi.BoolOutput { return o.ApplyT(func(v *ProjectHook) pulumi.BoolOutput { return v.PipelineEvents }).(pulumi.BoolOutput) } @@ -552,7 +586,7 @@ func (o ProjectHookOutput) ProjectId() pulumi.IntOutput { return o.ApplyT(func(v *ProjectHook) pulumi.IntOutput { return v.ProjectId }).(pulumi.IntOutput) } -// Invoke the hook for push events. +// Invoke the hook for push events. Defaults to `true`. func (o ProjectHookOutput) PushEvents() pulumi.BoolOutput { return o.ApplyT(func(v *ProjectHook) pulumi.BoolOutput { return v.PushEvents }).(pulumi.BoolOutput) } @@ -562,17 +596,17 @@ func (o ProjectHookOutput) PushEventsBranchFilter() pulumi.StringOutput { return o.ApplyT(func(v *ProjectHook) pulumi.StringOutput { return v.PushEventsBranchFilter }).(pulumi.StringOutput) } -// Invoke the hook for release events. +// Invoke the hook for release events. Defaults to `false`. func (o ProjectHookOutput) ReleasesEvents() pulumi.BoolOutput { return o.ApplyT(func(v *ProjectHook) pulumi.BoolOutput { return v.ReleasesEvents }).(pulumi.BoolOutput) } -// Invoke the hook for project access token expiry events. +// Invoke the hook for project access token expiry events. Defaults to `false`. func (o ProjectHookOutput) ResourceAccessTokenEvents() pulumi.BoolOutput { return o.ApplyT(func(v *ProjectHook) pulumi.BoolOutput { return v.ResourceAccessTokenEvents }).(pulumi.BoolOutput) } -// Invoke the hook for tag push events. +// Invoke the hook for tag push events. Defaults to `false`. func (o ProjectHookOutput) TagPushEvents() pulumi.BoolOutput { return o.ApplyT(func(v *ProjectHook) pulumi.BoolOutput { return v.TagPushEvents }).(pulumi.BoolOutput) } @@ -587,7 +621,12 @@ func (o ProjectHookOutput) Url() pulumi.StringOutput { return o.ApplyT(func(v *ProjectHook) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) } -// Invoke the hook for wiki page events. +// Invoke the hook for vulnerability events. Defaults to `false`. +func (o ProjectHookOutput) VulnerabilityEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectHook) pulumi.BoolOutput { return v.VulnerabilityEvents }).(pulumi.BoolOutput) +} + +// Invoke the hook for wiki page events. Defaults to `false`. func (o ProjectHookOutput) WikiPageEvents() pulumi.BoolOutput { return o.ApplyT(func(v *ProjectHook) pulumi.BoolOutput { return v.WikiPageEvents }).(pulumi.BoolOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationCustomIssueTracker.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationCustomIssueTracker.go new file mode 100644 index 000000000..3779a69e0 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationCustomIssueTracker.go @@ -0,0 +1,349 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectIntegrationCustomIssueTracker` resource manages the lifecycle of a project integration with a Custom Issue Tracker. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#custom-issue-tracker) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("awesome_project"), +// Description: pulumi.String("My awesome project."), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectIntegrationCustomIssueTracker(ctx, "tracker", &gitlab.ProjectIntegrationCustomIssueTrackerArgs{ +// Project: awesomeProject.ID(), +// ProjectUrl: pulumi.String("https://customtracker.com/issues"), +// IssuesUrl: pulumi.String("https://customtracker.com/TEST-:id"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIntegrationCustomIssueTracker`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import a ProjectIntegrationCustomIssueTracker state using the project ID, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectIntegrationCustomIssueTracker:ProjectIntegrationCustomIssueTracker tracker 1 +// ``` +type ProjectIntegrationCustomIssueTracker struct { + pulumi.CustomResourceState + + // Whether the integration is active. + Active pulumi.BoolOutput `pulumi:"active"` + // The ISO8601 date/time that this integration was activated at in UTC. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The URL to view an issue in the external issue tracker. Must contain :id. + IssuesUrl pulumi.StringOutput `pulumi:"issuesUrl"` + // The ID or full path of the project for the custom issue tracker. + Project pulumi.StringOutput `pulumi:"project"` + // The URL to the project in the external issue tracker. + ProjectUrl pulumi.StringOutput `pulumi:"projectUrl"` + // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. + Slug pulumi.StringOutput `pulumi:"slug"` + // The ISO8601 date/time that this integration was last updated at in UTC. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewProjectIntegrationCustomIssueTracker registers a new resource with the given unique name, arguments, and options. +func NewProjectIntegrationCustomIssueTracker(ctx *pulumi.Context, + name string, args *ProjectIntegrationCustomIssueTrackerArgs, opts ...pulumi.ResourceOption) (*ProjectIntegrationCustomIssueTracker, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.IssuesUrl == nil { + return nil, errors.New("invalid value for required argument 'IssuesUrl'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.ProjectUrl == nil { + return nil, errors.New("invalid value for required argument 'ProjectUrl'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectIntegrationCustomIssueTracker + err := ctx.RegisterResource("gitlab:index/projectIntegrationCustomIssueTracker:ProjectIntegrationCustomIssueTracker", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectIntegrationCustomIssueTracker gets an existing ProjectIntegrationCustomIssueTracker resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectIntegrationCustomIssueTracker(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectIntegrationCustomIssueTrackerState, opts ...pulumi.ResourceOption) (*ProjectIntegrationCustomIssueTracker, error) { + var resource ProjectIntegrationCustomIssueTracker + err := ctx.ReadResource("gitlab:index/projectIntegrationCustomIssueTracker:ProjectIntegrationCustomIssueTracker", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectIntegrationCustomIssueTracker resources. +type projectIntegrationCustomIssueTrackerState struct { + // Whether the integration is active. + Active *bool `pulumi:"active"` + // The ISO8601 date/time that this integration was activated at in UTC. + CreatedAt *string `pulumi:"createdAt"` + // The URL to view an issue in the external issue tracker. Must contain :id. + IssuesUrl *string `pulumi:"issuesUrl"` + // The ID or full path of the project for the custom issue tracker. + Project *string `pulumi:"project"` + // The URL to the project in the external issue tracker. + ProjectUrl *string `pulumi:"projectUrl"` + // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. + Slug *string `pulumi:"slug"` + // The ISO8601 date/time that this integration was last updated at in UTC. + UpdatedAt *string `pulumi:"updatedAt"` +} + +type ProjectIntegrationCustomIssueTrackerState struct { + // Whether the integration is active. + Active pulumi.BoolPtrInput + // The ISO8601 date/time that this integration was activated at in UTC. + CreatedAt pulumi.StringPtrInput + // The URL to view an issue in the external issue tracker. Must contain :id. + IssuesUrl pulumi.StringPtrInput + // The ID or full path of the project for the custom issue tracker. + Project pulumi.StringPtrInput + // The URL to the project in the external issue tracker. + ProjectUrl pulumi.StringPtrInput + // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. + Slug pulumi.StringPtrInput + // The ISO8601 date/time that this integration was last updated at in UTC. + UpdatedAt pulumi.StringPtrInput +} + +func (ProjectIntegrationCustomIssueTrackerState) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationCustomIssueTrackerState)(nil)).Elem() +} + +type projectIntegrationCustomIssueTrackerArgs struct { + // The URL to view an issue in the external issue tracker. Must contain :id. + IssuesUrl string `pulumi:"issuesUrl"` + // The ID or full path of the project for the custom issue tracker. + Project string `pulumi:"project"` + // The URL to the project in the external issue tracker. + ProjectUrl string `pulumi:"projectUrl"` +} + +// The set of arguments for constructing a ProjectIntegrationCustomIssueTracker resource. +type ProjectIntegrationCustomIssueTrackerArgs struct { + // The URL to view an issue in the external issue tracker. Must contain :id. + IssuesUrl pulumi.StringInput + // The ID or full path of the project for the custom issue tracker. + Project pulumi.StringInput + // The URL to the project in the external issue tracker. + ProjectUrl pulumi.StringInput +} + +func (ProjectIntegrationCustomIssueTrackerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationCustomIssueTrackerArgs)(nil)).Elem() +} + +type ProjectIntegrationCustomIssueTrackerInput interface { + pulumi.Input + + ToProjectIntegrationCustomIssueTrackerOutput() ProjectIntegrationCustomIssueTrackerOutput + ToProjectIntegrationCustomIssueTrackerOutputWithContext(ctx context.Context) ProjectIntegrationCustomIssueTrackerOutput +} + +func (*ProjectIntegrationCustomIssueTracker) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationCustomIssueTracker)(nil)).Elem() +} + +func (i *ProjectIntegrationCustomIssueTracker) ToProjectIntegrationCustomIssueTrackerOutput() ProjectIntegrationCustomIssueTrackerOutput { + return i.ToProjectIntegrationCustomIssueTrackerOutputWithContext(context.Background()) +} + +func (i *ProjectIntegrationCustomIssueTracker) ToProjectIntegrationCustomIssueTrackerOutputWithContext(ctx context.Context) ProjectIntegrationCustomIssueTrackerOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationCustomIssueTrackerOutput) +} + +// ProjectIntegrationCustomIssueTrackerArrayInput is an input type that accepts ProjectIntegrationCustomIssueTrackerArray and ProjectIntegrationCustomIssueTrackerArrayOutput values. +// You can construct a concrete instance of `ProjectIntegrationCustomIssueTrackerArrayInput` via: +// +// ProjectIntegrationCustomIssueTrackerArray{ ProjectIntegrationCustomIssueTrackerArgs{...} } +type ProjectIntegrationCustomIssueTrackerArrayInput interface { + pulumi.Input + + ToProjectIntegrationCustomIssueTrackerArrayOutput() ProjectIntegrationCustomIssueTrackerArrayOutput + ToProjectIntegrationCustomIssueTrackerArrayOutputWithContext(context.Context) ProjectIntegrationCustomIssueTrackerArrayOutput +} + +type ProjectIntegrationCustomIssueTrackerArray []ProjectIntegrationCustomIssueTrackerInput + +func (ProjectIntegrationCustomIssueTrackerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationCustomIssueTracker)(nil)).Elem() +} + +func (i ProjectIntegrationCustomIssueTrackerArray) ToProjectIntegrationCustomIssueTrackerArrayOutput() ProjectIntegrationCustomIssueTrackerArrayOutput { + return i.ToProjectIntegrationCustomIssueTrackerArrayOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationCustomIssueTrackerArray) ToProjectIntegrationCustomIssueTrackerArrayOutputWithContext(ctx context.Context) ProjectIntegrationCustomIssueTrackerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationCustomIssueTrackerArrayOutput) +} + +// ProjectIntegrationCustomIssueTrackerMapInput is an input type that accepts ProjectIntegrationCustomIssueTrackerMap and ProjectIntegrationCustomIssueTrackerMapOutput values. +// You can construct a concrete instance of `ProjectIntegrationCustomIssueTrackerMapInput` via: +// +// ProjectIntegrationCustomIssueTrackerMap{ "key": ProjectIntegrationCustomIssueTrackerArgs{...} } +type ProjectIntegrationCustomIssueTrackerMapInput interface { + pulumi.Input + + ToProjectIntegrationCustomIssueTrackerMapOutput() ProjectIntegrationCustomIssueTrackerMapOutput + ToProjectIntegrationCustomIssueTrackerMapOutputWithContext(context.Context) ProjectIntegrationCustomIssueTrackerMapOutput +} + +type ProjectIntegrationCustomIssueTrackerMap map[string]ProjectIntegrationCustomIssueTrackerInput + +func (ProjectIntegrationCustomIssueTrackerMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationCustomIssueTracker)(nil)).Elem() +} + +func (i ProjectIntegrationCustomIssueTrackerMap) ToProjectIntegrationCustomIssueTrackerMapOutput() ProjectIntegrationCustomIssueTrackerMapOutput { + return i.ToProjectIntegrationCustomIssueTrackerMapOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationCustomIssueTrackerMap) ToProjectIntegrationCustomIssueTrackerMapOutputWithContext(ctx context.Context) ProjectIntegrationCustomIssueTrackerMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationCustomIssueTrackerMapOutput) +} + +type ProjectIntegrationCustomIssueTrackerOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationCustomIssueTrackerOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationCustomIssueTracker)(nil)).Elem() +} + +func (o ProjectIntegrationCustomIssueTrackerOutput) ToProjectIntegrationCustomIssueTrackerOutput() ProjectIntegrationCustomIssueTrackerOutput { + return o +} + +func (o ProjectIntegrationCustomIssueTrackerOutput) ToProjectIntegrationCustomIssueTrackerOutputWithContext(ctx context.Context) ProjectIntegrationCustomIssueTrackerOutput { + return o +} + +// Whether the integration is active. +func (o ProjectIntegrationCustomIssueTrackerOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationCustomIssueTracker) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) +} + +// The ISO8601 date/time that this integration was activated at in UTC. +func (o ProjectIntegrationCustomIssueTrackerOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationCustomIssueTracker) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL to view an issue in the external issue tracker. Must contain :id. +func (o ProjectIntegrationCustomIssueTrackerOutput) IssuesUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationCustomIssueTracker) pulumi.StringOutput { return v.IssuesUrl }).(pulumi.StringOutput) +} + +// The ID or full path of the project for the custom issue tracker. +func (o ProjectIntegrationCustomIssueTrackerOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationCustomIssueTracker) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// The URL to the project in the external issue tracker. +func (o ProjectIntegrationCustomIssueTrackerOutput) ProjectUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationCustomIssueTracker) pulumi.StringOutput { return v.ProjectUrl }).(pulumi.StringOutput) +} + +// The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. +func (o ProjectIntegrationCustomIssueTrackerOutput) Slug() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationCustomIssueTracker) pulumi.StringOutput { return v.Slug }).(pulumi.StringOutput) +} + +// The ISO8601 date/time that this integration was last updated at in UTC. +func (o ProjectIntegrationCustomIssueTrackerOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationCustomIssueTracker) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type ProjectIntegrationCustomIssueTrackerArrayOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationCustomIssueTrackerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationCustomIssueTracker)(nil)).Elem() +} + +func (o ProjectIntegrationCustomIssueTrackerArrayOutput) ToProjectIntegrationCustomIssueTrackerArrayOutput() ProjectIntegrationCustomIssueTrackerArrayOutput { + return o +} + +func (o ProjectIntegrationCustomIssueTrackerArrayOutput) ToProjectIntegrationCustomIssueTrackerArrayOutputWithContext(ctx context.Context) ProjectIntegrationCustomIssueTrackerArrayOutput { + return o +} + +func (o ProjectIntegrationCustomIssueTrackerArrayOutput) Index(i pulumi.IntInput) ProjectIntegrationCustomIssueTrackerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectIntegrationCustomIssueTracker { + return vs[0].([]*ProjectIntegrationCustomIssueTracker)[vs[1].(int)] + }).(ProjectIntegrationCustomIssueTrackerOutput) +} + +type ProjectIntegrationCustomIssueTrackerMapOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationCustomIssueTrackerMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationCustomIssueTracker)(nil)).Elem() +} + +func (o ProjectIntegrationCustomIssueTrackerMapOutput) ToProjectIntegrationCustomIssueTrackerMapOutput() ProjectIntegrationCustomIssueTrackerMapOutput { + return o +} + +func (o ProjectIntegrationCustomIssueTrackerMapOutput) ToProjectIntegrationCustomIssueTrackerMapOutputWithContext(ctx context.Context) ProjectIntegrationCustomIssueTrackerMapOutput { + return o +} + +func (o ProjectIntegrationCustomIssueTrackerMapOutput) MapIndex(k pulumi.StringInput) ProjectIntegrationCustomIssueTrackerOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectIntegrationCustomIssueTracker { + return vs[0].(map[string]*ProjectIntegrationCustomIssueTracker)[vs[1].(string)] + }).(ProjectIntegrationCustomIssueTrackerOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationCustomIssueTrackerInput)(nil)).Elem(), &ProjectIntegrationCustomIssueTracker{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationCustomIssueTrackerArrayInput)(nil)).Elem(), ProjectIntegrationCustomIssueTrackerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationCustomIssueTrackerMapInput)(nil)).Elem(), ProjectIntegrationCustomIssueTrackerMap{}) + pulumi.RegisterOutputType(ProjectIntegrationCustomIssueTrackerOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationCustomIssueTrackerArrayOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationCustomIssueTrackerMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationEmailsOnPush.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationEmailsOnPush.go new file mode 100644 index 000000000..10f245133 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationEmailsOnPush.go @@ -0,0 +1,421 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectIntegrationEmailsOnPush` resource manages the lifecycle of a project integration with the Emails on Push Service. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#emails-on-push) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("awesome_project"), +// Description: pulumi.String("My awesome project."), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectIntegrationEmailsOnPush(ctx, "emails", &gitlab.ProjectIntegrationEmailsOnPushArgs{ +// Project: awesomeProject.ID(), +// Recipients: pulumi.String("myrecipient@example.com myotherrecipient@example.com"), +// DisableDiffs: pulumi.Bool(false), +// SendFromCommitterEmail: pulumi.Bool(false), +// PushEvents: pulumi.Bool(true), +// TagPushEvents: pulumi.Bool(true), +// BranchesToBeNotified: pulumi.String("all"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIntegrationEmailsOnPush`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import a ProjectIntegrationEmailsOnPush state using the project ID, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectIntegrationEmailsOnPush:ProjectIntegrationEmailsOnPush emails 1 +// ``` +type ProjectIntegrationEmailsOnPush struct { + pulumi.CustomResourceState + + // Whether the integration is active. + Active pulumi.BoolOutput `pulumi:"active"` + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Notifications are always fired for tag pushes. + BranchesToBeNotified pulumi.StringOutput `pulumi:"branchesToBeNotified"` + // The ISO8601 date/time that this integration was activated at in UTC. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Disable code diffs. + DisableDiffs pulumi.BoolOutput `pulumi:"disableDiffs"` + // ID or full-path of the project you want to activate integration on. + Project pulumi.StringOutput `pulumi:"project"` + // Enable notifications for push events. + PushEvents pulumi.BoolOutput `pulumi:"pushEvents"` + // Emails separated by whitespace. + Recipients pulumi.StringOutput `pulumi:"recipients"` + // Send from committer. + SendFromCommitterEmail pulumi.BoolOutput `pulumi:"sendFromCommitterEmail"` + // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. + Slug pulumi.StringOutput `pulumi:"slug"` + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolOutput `pulumi:"tagPushEvents"` + // Title of the integration. + Title pulumi.StringOutput `pulumi:"title"` + // The ISO8601 date/time that this integration was last updated at in UTC. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewProjectIntegrationEmailsOnPush registers a new resource with the given unique name, arguments, and options. +func NewProjectIntegrationEmailsOnPush(ctx *pulumi.Context, + name string, args *ProjectIntegrationEmailsOnPushArgs, opts ...pulumi.ResourceOption) (*ProjectIntegrationEmailsOnPush, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.Recipients == nil { + return nil, errors.New("invalid value for required argument 'Recipients'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectIntegrationEmailsOnPush + err := ctx.RegisterResource("gitlab:index/projectIntegrationEmailsOnPush:ProjectIntegrationEmailsOnPush", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectIntegrationEmailsOnPush gets an existing ProjectIntegrationEmailsOnPush resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectIntegrationEmailsOnPush(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectIntegrationEmailsOnPushState, opts ...pulumi.ResourceOption) (*ProjectIntegrationEmailsOnPush, error) { + var resource ProjectIntegrationEmailsOnPush + err := ctx.ReadResource("gitlab:index/projectIntegrationEmailsOnPush:ProjectIntegrationEmailsOnPush", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectIntegrationEmailsOnPush resources. +type projectIntegrationEmailsOnPushState struct { + // Whether the integration is active. + Active *bool `pulumi:"active"` + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Notifications are always fired for tag pushes. + BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` + // The ISO8601 date/time that this integration was activated at in UTC. + CreatedAt *string `pulumi:"createdAt"` + // Disable code diffs. + DisableDiffs *bool `pulumi:"disableDiffs"` + // ID or full-path of the project you want to activate integration on. + Project *string `pulumi:"project"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // Emails separated by whitespace. + Recipients *string `pulumi:"recipients"` + // Send from committer. + SendFromCommitterEmail *bool `pulumi:"sendFromCommitterEmail"` + // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. + Slug *string `pulumi:"slug"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` + // Title of the integration. + Title *string `pulumi:"title"` + // The ISO8601 date/time that this integration was last updated at in UTC. + UpdatedAt *string `pulumi:"updatedAt"` +} + +type ProjectIntegrationEmailsOnPushState struct { + // Whether the integration is active. + Active pulumi.BoolPtrInput + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Notifications are always fired for tag pushes. + BranchesToBeNotified pulumi.StringPtrInput + // The ISO8601 date/time that this integration was activated at in UTC. + CreatedAt pulumi.StringPtrInput + // Disable code diffs. + DisableDiffs pulumi.BoolPtrInput + // ID or full-path of the project you want to activate integration on. + Project pulumi.StringPtrInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // Emails separated by whitespace. + Recipients pulumi.StringPtrInput + // Send from committer. + SendFromCommitterEmail pulumi.BoolPtrInput + // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. + Slug pulumi.StringPtrInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput + // Title of the integration. + Title pulumi.StringPtrInput + // The ISO8601 date/time that this integration was last updated at in UTC. + UpdatedAt pulumi.StringPtrInput +} + +func (ProjectIntegrationEmailsOnPushState) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationEmailsOnPushState)(nil)).Elem() +} + +type projectIntegrationEmailsOnPushArgs struct { + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Notifications are always fired for tag pushes. + BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` + // Disable code diffs. + DisableDiffs *bool `pulumi:"disableDiffs"` + // ID or full-path of the project you want to activate integration on. + Project string `pulumi:"project"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // Emails separated by whitespace. + Recipients string `pulumi:"recipients"` + // Send from committer. + SendFromCommitterEmail *bool `pulumi:"sendFromCommitterEmail"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` +} + +// The set of arguments for constructing a ProjectIntegrationEmailsOnPush resource. +type ProjectIntegrationEmailsOnPushArgs struct { + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Notifications are always fired for tag pushes. + BranchesToBeNotified pulumi.StringPtrInput + // Disable code diffs. + DisableDiffs pulumi.BoolPtrInput + // ID or full-path of the project you want to activate integration on. + Project pulumi.StringInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // Emails separated by whitespace. + Recipients pulumi.StringInput + // Send from committer. + SendFromCommitterEmail pulumi.BoolPtrInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput +} + +func (ProjectIntegrationEmailsOnPushArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationEmailsOnPushArgs)(nil)).Elem() +} + +type ProjectIntegrationEmailsOnPushInput interface { + pulumi.Input + + ToProjectIntegrationEmailsOnPushOutput() ProjectIntegrationEmailsOnPushOutput + ToProjectIntegrationEmailsOnPushOutputWithContext(ctx context.Context) ProjectIntegrationEmailsOnPushOutput +} + +func (*ProjectIntegrationEmailsOnPush) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationEmailsOnPush)(nil)).Elem() +} + +func (i *ProjectIntegrationEmailsOnPush) ToProjectIntegrationEmailsOnPushOutput() ProjectIntegrationEmailsOnPushOutput { + return i.ToProjectIntegrationEmailsOnPushOutputWithContext(context.Background()) +} + +func (i *ProjectIntegrationEmailsOnPush) ToProjectIntegrationEmailsOnPushOutputWithContext(ctx context.Context) ProjectIntegrationEmailsOnPushOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationEmailsOnPushOutput) +} + +// ProjectIntegrationEmailsOnPushArrayInput is an input type that accepts ProjectIntegrationEmailsOnPushArray and ProjectIntegrationEmailsOnPushArrayOutput values. +// You can construct a concrete instance of `ProjectIntegrationEmailsOnPushArrayInput` via: +// +// ProjectIntegrationEmailsOnPushArray{ ProjectIntegrationEmailsOnPushArgs{...} } +type ProjectIntegrationEmailsOnPushArrayInput interface { + pulumi.Input + + ToProjectIntegrationEmailsOnPushArrayOutput() ProjectIntegrationEmailsOnPushArrayOutput + ToProjectIntegrationEmailsOnPushArrayOutputWithContext(context.Context) ProjectIntegrationEmailsOnPushArrayOutput +} + +type ProjectIntegrationEmailsOnPushArray []ProjectIntegrationEmailsOnPushInput + +func (ProjectIntegrationEmailsOnPushArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationEmailsOnPush)(nil)).Elem() +} + +func (i ProjectIntegrationEmailsOnPushArray) ToProjectIntegrationEmailsOnPushArrayOutput() ProjectIntegrationEmailsOnPushArrayOutput { + return i.ToProjectIntegrationEmailsOnPushArrayOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationEmailsOnPushArray) ToProjectIntegrationEmailsOnPushArrayOutputWithContext(ctx context.Context) ProjectIntegrationEmailsOnPushArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationEmailsOnPushArrayOutput) +} + +// ProjectIntegrationEmailsOnPushMapInput is an input type that accepts ProjectIntegrationEmailsOnPushMap and ProjectIntegrationEmailsOnPushMapOutput values. +// You can construct a concrete instance of `ProjectIntegrationEmailsOnPushMapInput` via: +// +// ProjectIntegrationEmailsOnPushMap{ "key": ProjectIntegrationEmailsOnPushArgs{...} } +type ProjectIntegrationEmailsOnPushMapInput interface { + pulumi.Input + + ToProjectIntegrationEmailsOnPushMapOutput() ProjectIntegrationEmailsOnPushMapOutput + ToProjectIntegrationEmailsOnPushMapOutputWithContext(context.Context) ProjectIntegrationEmailsOnPushMapOutput +} + +type ProjectIntegrationEmailsOnPushMap map[string]ProjectIntegrationEmailsOnPushInput + +func (ProjectIntegrationEmailsOnPushMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationEmailsOnPush)(nil)).Elem() +} + +func (i ProjectIntegrationEmailsOnPushMap) ToProjectIntegrationEmailsOnPushMapOutput() ProjectIntegrationEmailsOnPushMapOutput { + return i.ToProjectIntegrationEmailsOnPushMapOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationEmailsOnPushMap) ToProjectIntegrationEmailsOnPushMapOutputWithContext(ctx context.Context) ProjectIntegrationEmailsOnPushMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationEmailsOnPushMapOutput) +} + +type ProjectIntegrationEmailsOnPushOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationEmailsOnPushOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationEmailsOnPush)(nil)).Elem() +} + +func (o ProjectIntegrationEmailsOnPushOutput) ToProjectIntegrationEmailsOnPushOutput() ProjectIntegrationEmailsOnPushOutput { + return o +} + +func (o ProjectIntegrationEmailsOnPushOutput) ToProjectIntegrationEmailsOnPushOutputWithContext(ctx context.Context) ProjectIntegrationEmailsOnPushOutput { + return o +} + +// Whether the integration is active. +func (o ProjectIntegrationEmailsOnPushOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationEmailsOnPush) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) +} + +// Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Notifications are always fired for tag pushes. +func (o ProjectIntegrationEmailsOnPushOutput) BranchesToBeNotified() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationEmailsOnPush) pulumi.StringOutput { return v.BranchesToBeNotified }).(pulumi.StringOutput) +} + +// The ISO8601 date/time that this integration was activated at in UTC. +func (o ProjectIntegrationEmailsOnPushOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationEmailsOnPush) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Disable code diffs. +func (o ProjectIntegrationEmailsOnPushOutput) DisableDiffs() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationEmailsOnPush) pulumi.BoolOutput { return v.DisableDiffs }).(pulumi.BoolOutput) +} + +// ID or full-path of the project you want to activate integration on. +func (o ProjectIntegrationEmailsOnPushOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationEmailsOnPush) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Enable notifications for push events. +func (o ProjectIntegrationEmailsOnPushOutput) PushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationEmailsOnPush) pulumi.BoolOutput { return v.PushEvents }).(pulumi.BoolOutput) +} + +// Emails separated by whitespace. +func (o ProjectIntegrationEmailsOnPushOutput) Recipients() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationEmailsOnPush) pulumi.StringOutput { return v.Recipients }).(pulumi.StringOutput) +} + +// Send from committer. +func (o ProjectIntegrationEmailsOnPushOutput) SendFromCommitterEmail() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationEmailsOnPush) pulumi.BoolOutput { return v.SendFromCommitterEmail }).(pulumi.BoolOutput) +} + +// The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. +func (o ProjectIntegrationEmailsOnPushOutput) Slug() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationEmailsOnPush) pulumi.StringOutput { return v.Slug }).(pulumi.StringOutput) +} + +// Enable notifications for tag push events. +func (o ProjectIntegrationEmailsOnPushOutput) TagPushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationEmailsOnPush) pulumi.BoolOutput { return v.TagPushEvents }).(pulumi.BoolOutput) +} + +// Title of the integration. +func (o ProjectIntegrationEmailsOnPushOutput) Title() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationEmailsOnPush) pulumi.StringOutput { return v.Title }).(pulumi.StringOutput) +} + +// The ISO8601 date/time that this integration was last updated at in UTC. +func (o ProjectIntegrationEmailsOnPushOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationEmailsOnPush) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type ProjectIntegrationEmailsOnPushArrayOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationEmailsOnPushArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationEmailsOnPush)(nil)).Elem() +} + +func (o ProjectIntegrationEmailsOnPushArrayOutput) ToProjectIntegrationEmailsOnPushArrayOutput() ProjectIntegrationEmailsOnPushArrayOutput { + return o +} + +func (o ProjectIntegrationEmailsOnPushArrayOutput) ToProjectIntegrationEmailsOnPushArrayOutputWithContext(ctx context.Context) ProjectIntegrationEmailsOnPushArrayOutput { + return o +} + +func (o ProjectIntegrationEmailsOnPushArrayOutput) Index(i pulumi.IntInput) ProjectIntegrationEmailsOnPushOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectIntegrationEmailsOnPush { + return vs[0].([]*ProjectIntegrationEmailsOnPush)[vs[1].(int)] + }).(ProjectIntegrationEmailsOnPushOutput) +} + +type ProjectIntegrationEmailsOnPushMapOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationEmailsOnPushMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationEmailsOnPush)(nil)).Elem() +} + +func (o ProjectIntegrationEmailsOnPushMapOutput) ToProjectIntegrationEmailsOnPushMapOutput() ProjectIntegrationEmailsOnPushMapOutput { + return o +} + +func (o ProjectIntegrationEmailsOnPushMapOutput) ToProjectIntegrationEmailsOnPushMapOutputWithContext(ctx context.Context) ProjectIntegrationEmailsOnPushMapOutput { + return o +} + +func (o ProjectIntegrationEmailsOnPushMapOutput) MapIndex(k pulumi.StringInput) ProjectIntegrationEmailsOnPushOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectIntegrationEmailsOnPush { + return vs[0].(map[string]*ProjectIntegrationEmailsOnPush)[vs[1].(string)] + }).(ProjectIntegrationEmailsOnPushOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationEmailsOnPushInput)(nil)).Elem(), &ProjectIntegrationEmailsOnPush{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationEmailsOnPushArrayInput)(nil)).Elem(), ProjectIntegrationEmailsOnPushArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationEmailsOnPushMapInput)(nil)).Elem(), ProjectIntegrationEmailsOnPushMap{}) + pulumi.RegisterOutputType(ProjectIntegrationEmailsOnPushOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationEmailsOnPushArrayOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationEmailsOnPushMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationExternalWiki.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationExternalWiki.go new file mode 100644 index 000000000..f1fec5ae6 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationExternalWiki.go @@ -0,0 +1,341 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectIntegrationExternalWiki` resource manages the lifecycle of a project integration with the External Wiki Service. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#external-wiki) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("awesome_project"), +// Description: pulumi.String("My awesome project."), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectIntegrationExternalWiki(ctx, "wiki", &gitlab.ProjectIntegrationExternalWikiArgs{ +// Project: awesomeProject.ID(), +// ExternalWikiUrl: pulumi.String("https://MyAwesomeExternalWikiURL.com"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIntegrationExternalWiki`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import a ProjectIntegrationExternalWiki state using the project ID, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectIntegrationExternalWiki:ProjectIntegrationExternalWiki wiki 1 +// ``` +type ProjectIntegrationExternalWiki struct { + pulumi.CustomResourceState + + // Whether the integration is active. + Active pulumi.BoolOutput `pulumi:"active"` + // The ISO8601 date/time that this integration was activated at in UTC. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The URL of the external wiki. + ExternalWikiUrl pulumi.StringOutput `pulumi:"externalWikiUrl"` + // ID of the project you want to activate integration on. + Project pulumi.StringOutput `pulumi:"project"` + // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. + Slug pulumi.StringOutput `pulumi:"slug"` + // Title of the integration. + Title pulumi.StringOutput `pulumi:"title"` + // The ISO8601 date/time that this integration was last updated at in UTC. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewProjectIntegrationExternalWiki registers a new resource with the given unique name, arguments, and options. +func NewProjectIntegrationExternalWiki(ctx *pulumi.Context, + name string, args *ProjectIntegrationExternalWikiArgs, opts ...pulumi.ResourceOption) (*ProjectIntegrationExternalWiki, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ExternalWikiUrl == nil { + return nil, errors.New("invalid value for required argument 'ExternalWikiUrl'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectIntegrationExternalWiki + err := ctx.RegisterResource("gitlab:index/projectIntegrationExternalWiki:ProjectIntegrationExternalWiki", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectIntegrationExternalWiki gets an existing ProjectIntegrationExternalWiki resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectIntegrationExternalWiki(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectIntegrationExternalWikiState, opts ...pulumi.ResourceOption) (*ProjectIntegrationExternalWiki, error) { + var resource ProjectIntegrationExternalWiki + err := ctx.ReadResource("gitlab:index/projectIntegrationExternalWiki:ProjectIntegrationExternalWiki", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectIntegrationExternalWiki resources. +type projectIntegrationExternalWikiState struct { + // Whether the integration is active. + Active *bool `pulumi:"active"` + // The ISO8601 date/time that this integration was activated at in UTC. + CreatedAt *string `pulumi:"createdAt"` + // The URL of the external wiki. + ExternalWikiUrl *string `pulumi:"externalWikiUrl"` + // ID of the project you want to activate integration on. + Project *string `pulumi:"project"` + // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. + Slug *string `pulumi:"slug"` + // Title of the integration. + Title *string `pulumi:"title"` + // The ISO8601 date/time that this integration was last updated at in UTC. + UpdatedAt *string `pulumi:"updatedAt"` +} + +type ProjectIntegrationExternalWikiState struct { + // Whether the integration is active. + Active pulumi.BoolPtrInput + // The ISO8601 date/time that this integration was activated at in UTC. + CreatedAt pulumi.StringPtrInput + // The URL of the external wiki. + ExternalWikiUrl pulumi.StringPtrInput + // ID of the project you want to activate integration on. + Project pulumi.StringPtrInput + // The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. + Slug pulumi.StringPtrInput + // Title of the integration. + Title pulumi.StringPtrInput + // The ISO8601 date/time that this integration was last updated at in UTC. + UpdatedAt pulumi.StringPtrInput +} + +func (ProjectIntegrationExternalWikiState) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationExternalWikiState)(nil)).Elem() +} + +type projectIntegrationExternalWikiArgs struct { + // The URL of the external wiki. + ExternalWikiUrl string `pulumi:"externalWikiUrl"` + // ID of the project you want to activate integration on. + Project string `pulumi:"project"` +} + +// The set of arguments for constructing a ProjectIntegrationExternalWiki resource. +type ProjectIntegrationExternalWikiArgs struct { + // The URL of the external wiki. + ExternalWikiUrl pulumi.StringInput + // ID of the project you want to activate integration on. + Project pulumi.StringInput +} + +func (ProjectIntegrationExternalWikiArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationExternalWikiArgs)(nil)).Elem() +} + +type ProjectIntegrationExternalWikiInput interface { + pulumi.Input + + ToProjectIntegrationExternalWikiOutput() ProjectIntegrationExternalWikiOutput + ToProjectIntegrationExternalWikiOutputWithContext(ctx context.Context) ProjectIntegrationExternalWikiOutput +} + +func (*ProjectIntegrationExternalWiki) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationExternalWiki)(nil)).Elem() +} + +func (i *ProjectIntegrationExternalWiki) ToProjectIntegrationExternalWikiOutput() ProjectIntegrationExternalWikiOutput { + return i.ToProjectIntegrationExternalWikiOutputWithContext(context.Background()) +} + +func (i *ProjectIntegrationExternalWiki) ToProjectIntegrationExternalWikiOutputWithContext(ctx context.Context) ProjectIntegrationExternalWikiOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationExternalWikiOutput) +} + +// ProjectIntegrationExternalWikiArrayInput is an input type that accepts ProjectIntegrationExternalWikiArray and ProjectIntegrationExternalWikiArrayOutput values. +// You can construct a concrete instance of `ProjectIntegrationExternalWikiArrayInput` via: +// +// ProjectIntegrationExternalWikiArray{ ProjectIntegrationExternalWikiArgs{...} } +type ProjectIntegrationExternalWikiArrayInput interface { + pulumi.Input + + ToProjectIntegrationExternalWikiArrayOutput() ProjectIntegrationExternalWikiArrayOutput + ToProjectIntegrationExternalWikiArrayOutputWithContext(context.Context) ProjectIntegrationExternalWikiArrayOutput +} + +type ProjectIntegrationExternalWikiArray []ProjectIntegrationExternalWikiInput + +func (ProjectIntegrationExternalWikiArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationExternalWiki)(nil)).Elem() +} + +func (i ProjectIntegrationExternalWikiArray) ToProjectIntegrationExternalWikiArrayOutput() ProjectIntegrationExternalWikiArrayOutput { + return i.ToProjectIntegrationExternalWikiArrayOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationExternalWikiArray) ToProjectIntegrationExternalWikiArrayOutputWithContext(ctx context.Context) ProjectIntegrationExternalWikiArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationExternalWikiArrayOutput) +} + +// ProjectIntegrationExternalWikiMapInput is an input type that accepts ProjectIntegrationExternalWikiMap and ProjectIntegrationExternalWikiMapOutput values. +// You can construct a concrete instance of `ProjectIntegrationExternalWikiMapInput` via: +// +// ProjectIntegrationExternalWikiMap{ "key": ProjectIntegrationExternalWikiArgs{...} } +type ProjectIntegrationExternalWikiMapInput interface { + pulumi.Input + + ToProjectIntegrationExternalWikiMapOutput() ProjectIntegrationExternalWikiMapOutput + ToProjectIntegrationExternalWikiMapOutputWithContext(context.Context) ProjectIntegrationExternalWikiMapOutput +} + +type ProjectIntegrationExternalWikiMap map[string]ProjectIntegrationExternalWikiInput + +func (ProjectIntegrationExternalWikiMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationExternalWiki)(nil)).Elem() +} + +func (i ProjectIntegrationExternalWikiMap) ToProjectIntegrationExternalWikiMapOutput() ProjectIntegrationExternalWikiMapOutput { + return i.ToProjectIntegrationExternalWikiMapOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationExternalWikiMap) ToProjectIntegrationExternalWikiMapOutputWithContext(ctx context.Context) ProjectIntegrationExternalWikiMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationExternalWikiMapOutput) +} + +type ProjectIntegrationExternalWikiOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationExternalWikiOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationExternalWiki)(nil)).Elem() +} + +func (o ProjectIntegrationExternalWikiOutput) ToProjectIntegrationExternalWikiOutput() ProjectIntegrationExternalWikiOutput { + return o +} + +func (o ProjectIntegrationExternalWikiOutput) ToProjectIntegrationExternalWikiOutputWithContext(ctx context.Context) ProjectIntegrationExternalWikiOutput { + return o +} + +// Whether the integration is active. +func (o ProjectIntegrationExternalWikiOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationExternalWiki) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) +} + +// The ISO8601 date/time that this integration was activated at in UTC. +func (o ProjectIntegrationExternalWikiOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationExternalWiki) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL of the external wiki. +func (o ProjectIntegrationExternalWikiOutput) ExternalWikiUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationExternalWiki) pulumi.StringOutput { return v.ExternalWikiUrl }).(pulumi.StringOutput) +} + +// ID of the project you want to activate integration on. +func (o ProjectIntegrationExternalWikiOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationExternalWiki) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names. +func (o ProjectIntegrationExternalWikiOutput) Slug() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationExternalWiki) pulumi.StringOutput { return v.Slug }).(pulumi.StringOutput) +} + +// Title of the integration. +func (o ProjectIntegrationExternalWikiOutput) Title() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationExternalWiki) pulumi.StringOutput { return v.Title }).(pulumi.StringOutput) +} + +// The ISO8601 date/time that this integration was last updated at in UTC. +func (o ProjectIntegrationExternalWikiOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationExternalWiki) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type ProjectIntegrationExternalWikiArrayOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationExternalWikiArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationExternalWiki)(nil)).Elem() +} + +func (o ProjectIntegrationExternalWikiArrayOutput) ToProjectIntegrationExternalWikiArrayOutput() ProjectIntegrationExternalWikiArrayOutput { + return o +} + +func (o ProjectIntegrationExternalWikiArrayOutput) ToProjectIntegrationExternalWikiArrayOutputWithContext(ctx context.Context) ProjectIntegrationExternalWikiArrayOutput { + return o +} + +func (o ProjectIntegrationExternalWikiArrayOutput) Index(i pulumi.IntInput) ProjectIntegrationExternalWikiOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectIntegrationExternalWiki { + return vs[0].([]*ProjectIntegrationExternalWiki)[vs[1].(int)] + }).(ProjectIntegrationExternalWikiOutput) +} + +type ProjectIntegrationExternalWikiMapOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationExternalWikiMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationExternalWiki)(nil)).Elem() +} + +func (o ProjectIntegrationExternalWikiMapOutput) ToProjectIntegrationExternalWikiMapOutput() ProjectIntegrationExternalWikiMapOutput { + return o +} + +func (o ProjectIntegrationExternalWikiMapOutput) ToProjectIntegrationExternalWikiMapOutputWithContext(ctx context.Context) ProjectIntegrationExternalWikiMapOutput { + return o +} + +func (o ProjectIntegrationExternalWikiMapOutput) MapIndex(k pulumi.StringInput) ProjectIntegrationExternalWikiOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectIntegrationExternalWiki { + return vs[0].(map[string]*ProjectIntegrationExternalWiki)[vs[1].(string)] + }).(ProjectIntegrationExternalWikiOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationExternalWikiInput)(nil)).Elem(), &ProjectIntegrationExternalWiki{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationExternalWikiArrayInput)(nil)).Elem(), ProjectIntegrationExternalWikiArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationExternalWikiMapInput)(nil)).Elem(), ProjectIntegrationExternalWikiMap{}) + pulumi.RegisterOutputType(ProjectIntegrationExternalWikiOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationExternalWikiArrayOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationExternalWikiMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationGithub.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationGithub.go new file mode 100644 index 000000000..2d31c257d --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationGithub.go @@ -0,0 +1,373 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectIntegrationGithub` resource manages the lifecycle of a project integration with GitHub. +// +// > This resource requires a GitLab Enterprise instance. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#github) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("awesome_project"), +// Description: pulumi.String("My awesome project."), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectIntegrationGithub(ctx, "github", &gitlab.ProjectIntegrationGithubArgs{ +// Project: awesomeProject.ID(), +// Token: pulumi.String("REDACTED"), +// RepositoryUrl: pulumi.String("https://github.com/gitlabhq/terraform-provider-gitlab"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIntegrationGithub`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import a ProjectIntegrationGithub state using `terraform import `: +// +// ```sh +// $ pulumi import gitlab:index/projectIntegrationGithub:ProjectIntegrationGithub github 1 +// ``` +type ProjectIntegrationGithub struct { + pulumi.CustomResourceState + + // Whether the integration is active. + Active pulumi.BoolOutput `pulumi:"active"` + // The ISO8601 date/time that this integration was activated at in UTC. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // ID of the project you want to activate the integration on. + Project pulumi.StringOutput `pulumi:"project"` + // The URL of the GitHub repo to integrate with. For example, https://github.com/gitlabhq/terraform-provider-gitlab. + RepositoryUrl pulumi.StringOutput `pulumi:"repositoryUrl"` + // Append the instance name instead of the branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. + StaticContext pulumi.BoolOutput `pulumi:"staticContext"` + // Title of the integration. + Title pulumi.StringOutput `pulumi:"title"` + // A GitHub personal access token with at least the `repo:status` scope. + Token pulumi.StringOutput `pulumi:"token"` + // The ISO8601 date/time that this integration was last updated at in UTC. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewProjectIntegrationGithub registers a new resource with the given unique name, arguments, and options. +func NewProjectIntegrationGithub(ctx *pulumi.Context, + name string, args *ProjectIntegrationGithubArgs, opts ...pulumi.ResourceOption) (*ProjectIntegrationGithub, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.RepositoryUrl == nil { + return nil, errors.New("invalid value for required argument 'RepositoryUrl'") + } + if args.Token == nil { + return nil, errors.New("invalid value for required argument 'Token'") + } + if args.Token != nil { + args.Token = pulumi.ToSecret(args.Token).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "token", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectIntegrationGithub + err := ctx.RegisterResource("gitlab:index/projectIntegrationGithub:ProjectIntegrationGithub", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectIntegrationGithub gets an existing ProjectIntegrationGithub resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectIntegrationGithub(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectIntegrationGithubState, opts ...pulumi.ResourceOption) (*ProjectIntegrationGithub, error) { + var resource ProjectIntegrationGithub + err := ctx.ReadResource("gitlab:index/projectIntegrationGithub:ProjectIntegrationGithub", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectIntegrationGithub resources. +type projectIntegrationGithubState struct { + // Whether the integration is active. + Active *bool `pulumi:"active"` + // The ISO8601 date/time that this integration was activated at in UTC. + CreatedAt *string `pulumi:"createdAt"` + // ID of the project you want to activate the integration on. + Project *string `pulumi:"project"` + // The URL of the GitHub repo to integrate with. For example, https://github.com/gitlabhq/terraform-provider-gitlab. + RepositoryUrl *string `pulumi:"repositoryUrl"` + // Append the instance name instead of the branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. + StaticContext *bool `pulumi:"staticContext"` + // Title of the integration. + Title *string `pulumi:"title"` + // A GitHub personal access token with at least the `repo:status` scope. + Token *string `pulumi:"token"` + // The ISO8601 date/time that this integration was last updated at in UTC. + UpdatedAt *string `pulumi:"updatedAt"` +} + +type ProjectIntegrationGithubState struct { + // Whether the integration is active. + Active pulumi.BoolPtrInput + // The ISO8601 date/time that this integration was activated at in UTC. + CreatedAt pulumi.StringPtrInput + // ID of the project you want to activate the integration on. + Project pulumi.StringPtrInput + // The URL of the GitHub repo to integrate with. For example, https://github.com/gitlabhq/terraform-provider-gitlab. + RepositoryUrl pulumi.StringPtrInput + // Append the instance name instead of the branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. + StaticContext pulumi.BoolPtrInput + // Title of the integration. + Title pulumi.StringPtrInput + // A GitHub personal access token with at least the `repo:status` scope. + Token pulumi.StringPtrInput + // The ISO8601 date/time that this integration was last updated at in UTC. + UpdatedAt pulumi.StringPtrInput +} + +func (ProjectIntegrationGithubState) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationGithubState)(nil)).Elem() +} + +type projectIntegrationGithubArgs struct { + // ID of the project you want to activate the integration on. + Project string `pulumi:"project"` + // The URL of the GitHub repo to integrate with. For example, https://github.com/gitlabhq/terraform-provider-gitlab. + RepositoryUrl string `pulumi:"repositoryUrl"` + // Append the instance name instead of the branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. + StaticContext *bool `pulumi:"staticContext"` + // A GitHub personal access token with at least the `repo:status` scope. + Token string `pulumi:"token"` +} + +// The set of arguments for constructing a ProjectIntegrationGithub resource. +type ProjectIntegrationGithubArgs struct { + // ID of the project you want to activate the integration on. + Project pulumi.StringInput + // The URL of the GitHub repo to integrate with. For example, https://github.com/gitlabhq/terraform-provider-gitlab. + RepositoryUrl pulumi.StringInput + // Append the instance name instead of the branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. + StaticContext pulumi.BoolPtrInput + // A GitHub personal access token with at least the `repo:status` scope. + Token pulumi.StringInput +} + +func (ProjectIntegrationGithubArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationGithubArgs)(nil)).Elem() +} + +type ProjectIntegrationGithubInput interface { + pulumi.Input + + ToProjectIntegrationGithubOutput() ProjectIntegrationGithubOutput + ToProjectIntegrationGithubOutputWithContext(ctx context.Context) ProjectIntegrationGithubOutput +} + +func (*ProjectIntegrationGithub) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationGithub)(nil)).Elem() +} + +func (i *ProjectIntegrationGithub) ToProjectIntegrationGithubOutput() ProjectIntegrationGithubOutput { + return i.ToProjectIntegrationGithubOutputWithContext(context.Background()) +} + +func (i *ProjectIntegrationGithub) ToProjectIntegrationGithubOutputWithContext(ctx context.Context) ProjectIntegrationGithubOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationGithubOutput) +} + +// ProjectIntegrationGithubArrayInput is an input type that accepts ProjectIntegrationGithubArray and ProjectIntegrationGithubArrayOutput values. +// You can construct a concrete instance of `ProjectIntegrationGithubArrayInput` via: +// +// ProjectIntegrationGithubArray{ ProjectIntegrationGithubArgs{...} } +type ProjectIntegrationGithubArrayInput interface { + pulumi.Input + + ToProjectIntegrationGithubArrayOutput() ProjectIntegrationGithubArrayOutput + ToProjectIntegrationGithubArrayOutputWithContext(context.Context) ProjectIntegrationGithubArrayOutput +} + +type ProjectIntegrationGithubArray []ProjectIntegrationGithubInput + +func (ProjectIntegrationGithubArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationGithub)(nil)).Elem() +} + +func (i ProjectIntegrationGithubArray) ToProjectIntegrationGithubArrayOutput() ProjectIntegrationGithubArrayOutput { + return i.ToProjectIntegrationGithubArrayOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationGithubArray) ToProjectIntegrationGithubArrayOutputWithContext(ctx context.Context) ProjectIntegrationGithubArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationGithubArrayOutput) +} + +// ProjectIntegrationGithubMapInput is an input type that accepts ProjectIntegrationGithubMap and ProjectIntegrationGithubMapOutput values. +// You can construct a concrete instance of `ProjectIntegrationGithubMapInput` via: +// +// ProjectIntegrationGithubMap{ "key": ProjectIntegrationGithubArgs{...} } +type ProjectIntegrationGithubMapInput interface { + pulumi.Input + + ToProjectIntegrationGithubMapOutput() ProjectIntegrationGithubMapOutput + ToProjectIntegrationGithubMapOutputWithContext(context.Context) ProjectIntegrationGithubMapOutput +} + +type ProjectIntegrationGithubMap map[string]ProjectIntegrationGithubInput + +func (ProjectIntegrationGithubMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationGithub)(nil)).Elem() +} + +func (i ProjectIntegrationGithubMap) ToProjectIntegrationGithubMapOutput() ProjectIntegrationGithubMapOutput { + return i.ToProjectIntegrationGithubMapOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationGithubMap) ToProjectIntegrationGithubMapOutputWithContext(ctx context.Context) ProjectIntegrationGithubMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationGithubMapOutput) +} + +type ProjectIntegrationGithubOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationGithubOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationGithub)(nil)).Elem() +} + +func (o ProjectIntegrationGithubOutput) ToProjectIntegrationGithubOutput() ProjectIntegrationGithubOutput { + return o +} + +func (o ProjectIntegrationGithubOutput) ToProjectIntegrationGithubOutputWithContext(ctx context.Context) ProjectIntegrationGithubOutput { + return o +} + +// Whether the integration is active. +func (o ProjectIntegrationGithubOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationGithub) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) +} + +// The ISO8601 date/time that this integration was activated at in UTC. +func (o ProjectIntegrationGithubOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationGithub) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// ID of the project you want to activate the integration on. +func (o ProjectIntegrationGithubOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationGithub) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// The URL of the GitHub repo to integrate with. For example, https://github.com/gitlabhq/terraform-provider-gitlab. +func (o ProjectIntegrationGithubOutput) RepositoryUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationGithub) pulumi.StringOutput { return v.RepositoryUrl }).(pulumi.StringOutput) +} + +// Append the instance name instead of the branch to the status. Must enable to set a GitLab status check as *required* in GitHub. See [Static / dynamic status check names] to learn more. +func (o ProjectIntegrationGithubOutput) StaticContext() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationGithub) pulumi.BoolOutput { return v.StaticContext }).(pulumi.BoolOutput) +} + +// Title of the integration. +func (o ProjectIntegrationGithubOutput) Title() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationGithub) pulumi.StringOutput { return v.Title }).(pulumi.StringOutput) +} + +// A GitHub personal access token with at least the `repo:status` scope. +func (o ProjectIntegrationGithubOutput) Token() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationGithub) pulumi.StringOutput { return v.Token }).(pulumi.StringOutput) +} + +// The ISO8601 date/time that this integration was last updated at in UTC. +func (o ProjectIntegrationGithubOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationGithub) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type ProjectIntegrationGithubArrayOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationGithubArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationGithub)(nil)).Elem() +} + +func (o ProjectIntegrationGithubArrayOutput) ToProjectIntegrationGithubArrayOutput() ProjectIntegrationGithubArrayOutput { + return o +} + +func (o ProjectIntegrationGithubArrayOutput) ToProjectIntegrationGithubArrayOutputWithContext(ctx context.Context) ProjectIntegrationGithubArrayOutput { + return o +} + +func (o ProjectIntegrationGithubArrayOutput) Index(i pulumi.IntInput) ProjectIntegrationGithubOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectIntegrationGithub { + return vs[0].([]*ProjectIntegrationGithub)[vs[1].(int)] + }).(ProjectIntegrationGithubOutput) +} + +type ProjectIntegrationGithubMapOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationGithubMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationGithub)(nil)).Elem() +} + +func (o ProjectIntegrationGithubMapOutput) ToProjectIntegrationGithubMapOutput() ProjectIntegrationGithubMapOutput { + return o +} + +func (o ProjectIntegrationGithubMapOutput) ToProjectIntegrationGithubMapOutputWithContext(ctx context.Context) ProjectIntegrationGithubMapOutput { + return o +} + +func (o ProjectIntegrationGithubMapOutput) MapIndex(k pulumi.StringInput) ProjectIntegrationGithubOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectIntegrationGithub { + return vs[0].(map[string]*ProjectIntegrationGithub)[vs[1].(string)] + }).(ProjectIntegrationGithubOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationGithubInput)(nil)).Elem(), &ProjectIntegrationGithub{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationGithubArrayInput)(nil)).Elem(), ProjectIntegrationGithubArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationGithubMapInput)(nil)).Elem(), ProjectIntegrationGithubMap{}) + pulumi.RegisterOutputType(ProjectIntegrationGithubOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationGithubArrayOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationGithubMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationHarbor.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationHarbor.go new file mode 100644 index 000000000..dc94d7073 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationHarbor.go @@ -0,0 +1,374 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectIntegrationHarbor` resource manages the lifecycle of a project integration with Harbor. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#harbor) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("awesome_project"), +// Description: pulumi.String("My awesome project."), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectIntegrationHarbor(ctx, "harbor", &gitlab.ProjectIntegrationHarborArgs{ +// Project: awesomeProject.ID(), +// Url: pulumi.String("http://harbor.example.com"), +// ProjectName: pulumi.String("my_project_name"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIntegrationHarbor`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import a ProjectIntegrationHarbor state using `terraform import `: +// +// ```sh +// $ pulumi import gitlab:index/projectIntegrationHarbor:ProjectIntegrationHarbor harbor 1 +// ``` +type ProjectIntegrationHarbor struct { + pulumi.CustomResourceState + + // Whether the integration is active. + Active pulumi.BoolOutput `pulumi:"active"` + // Password for authentication with the Harbor server, if authentication is required by the server. + Password pulumi.StringOutput `pulumi:"password"` + // ID of the GitLab project you want to activate integration on. + Project pulumi.StringOutput `pulumi:"project"` + // The URL-friendly Harbor project name. This project needs to already exist in Harbor. Example: `myProjectName`. + ProjectName pulumi.StringOutput `pulumi:"projectName"` + // Harbor URL. Example: `http://harbor.example.com` + Url pulumi.StringOutput `pulumi:"url"` + // Indicates whether or not to inherit default settings. Defaults to false. + UseInheritedSettings pulumi.BoolOutput `pulumi:"useInheritedSettings"` + // Username for authentication with the Harbor server, if authentication is required by the server. + Username pulumi.StringOutput `pulumi:"username"` +} + +// NewProjectIntegrationHarbor registers a new resource with the given unique name, arguments, and options. +func NewProjectIntegrationHarbor(ctx *pulumi.Context, + name string, args *ProjectIntegrationHarborArgs, opts ...pulumi.ResourceOption) (*ProjectIntegrationHarbor, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Password == nil { + return nil, errors.New("invalid value for required argument 'Password'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.ProjectName == nil { + return nil, errors.New("invalid value for required argument 'ProjectName'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + if args.Username == nil { + return nil, errors.New("invalid value for required argument 'Username'") + } + if args.Password != nil { + args.Password = pulumi.ToSecret(args.Password).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "password", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectIntegrationHarbor + err := ctx.RegisterResource("gitlab:index/projectIntegrationHarbor:ProjectIntegrationHarbor", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectIntegrationHarbor gets an existing ProjectIntegrationHarbor resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectIntegrationHarbor(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectIntegrationHarborState, opts ...pulumi.ResourceOption) (*ProjectIntegrationHarbor, error) { + var resource ProjectIntegrationHarbor + err := ctx.ReadResource("gitlab:index/projectIntegrationHarbor:ProjectIntegrationHarbor", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectIntegrationHarbor resources. +type projectIntegrationHarborState struct { + // Whether the integration is active. + Active *bool `pulumi:"active"` + // Password for authentication with the Harbor server, if authentication is required by the server. + Password *string `pulumi:"password"` + // ID of the GitLab project you want to activate integration on. + Project *string `pulumi:"project"` + // The URL-friendly Harbor project name. This project needs to already exist in Harbor. Example: `myProjectName`. + ProjectName *string `pulumi:"projectName"` + // Harbor URL. Example: `http://harbor.example.com` + Url *string `pulumi:"url"` + // Indicates whether or not to inherit default settings. Defaults to false. + UseInheritedSettings *bool `pulumi:"useInheritedSettings"` + // Username for authentication with the Harbor server, if authentication is required by the server. + Username *string `pulumi:"username"` +} + +type ProjectIntegrationHarborState struct { + // Whether the integration is active. + Active pulumi.BoolPtrInput + // Password for authentication with the Harbor server, if authentication is required by the server. + Password pulumi.StringPtrInput + // ID of the GitLab project you want to activate integration on. + Project pulumi.StringPtrInput + // The URL-friendly Harbor project name. This project needs to already exist in Harbor. Example: `myProjectName`. + ProjectName pulumi.StringPtrInput + // Harbor URL. Example: `http://harbor.example.com` + Url pulumi.StringPtrInput + // Indicates whether or not to inherit default settings. Defaults to false. + UseInheritedSettings pulumi.BoolPtrInput + // Username for authentication with the Harbor server, if authentication is required by the server. + Username pulumi.StringPtrInput +} + +func (ProjectIntegrationHarborState) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationHarborState)(nil)).Elem() +} + +type projectIntegrationHarborArgs struct { + // Password for authentication with the Harbor server, if authentication is required by the server. + Password string `pulumi:"password"` + // ID of the GitLab project you want to activate integration on. + Project string `pulumi:"project"` + // The URL-friendly Harbor project name. This project needs to already exist in Harbor. Example: `myProjectName`. + ProjectName string `pulumi:"projectName"` + // Harbor URL. Example: `http://harbor.example.com` + Url string `pulumi:"url"` + // Indicates whether or not to inherit default settings. Defaults to false. + UseInheritedSettings *bool `pulumi:"useInheritedSettings"` + // Username for authentication with the Harbor server, if authentication is required by the server. + Username string `pulumi:"username"` +} + +// The set of arguments for constructing a ProjectIntegrationHarbor resource. +type ProjectIntegrationHarborArgs struct { + // Password for authentication with the Harbor server, if authentication is required by the server. + Password pulumi.StringInput + // ID of the GitLab project you want to activate integration on. + Project pulumi.StringInput + // The URL-friendly Harbor project name. This project needs to already exist in Harbor. Example: `myProjectName`. + ProjectName pulumi.StringInput + // Harbor URL. Example: `http://harbor.example.com` + Url pulumi.StringInput + // Indicates whether or not to inherit default settings. Defaults to false. + UseInheritedSettings pulumi.BoolPtrInput + // Username for authentication with the Harbor server, if authentication is required by the server. + Username pulumi.StringInput +} + +func (ProjectIntegrationHarborArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationHarborArgs)(nil)).Elem() +} + +type ProjectIntegrationHarborInput interface { + pulumi.Input + + ToProjectIntegrationHarborOutput() ProjectIntegrationHarborOutput + ToProjectIntegrationHarborOutputWithContext(ctx context.Context) ProjectIntegrationHarborOutput +} + +func (*ProjectIntegrationHarbor) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationHarbor)(nil)).Elem() +} + +func (i *ProjectIntegrationHarbor) ToProjectIntegrationHarborOutput() ProjectIntegrationHarborOutput { + return i.ToProjectIntegrationHarborOutputWithContext(context.Background()) +} + +func (i *ProjectIntegrationHarbor) ToProjectIntegrationHarborOutputWithContext(ctx context.Context) ProjectIntegrationHarborOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationHarborOutput) +} + +// ProjectIntegrationHarborArrayInput is an input type that accepts ProjectIntegrationHarborArray and ProjectIntegrationHarborArrayOutput values. +// You can construct a concrete instance of `ProjectIntegrationHarborArrayInput` via: +// +// ProjectIntegrationHarborArray{ ProjectIntegrationHarborArgs{...} } +type ProjectIntegrationHarborArrayInput interface { + pulumi.Input + + ToProjectIntegrationHarborArrayOutput() ProjectIntegrationHarborArrayOutput + ToProjectIntegrationHarborArrayOutputWithContext(context.Context) ProjectIntegrationHarborArrayOutput +} + +type ProjectIntegrationHarborArray []ProjectIntegrationHarborInput + +func (ProjectIntegrationHarborArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationHarbor)(nil)).Elem() +} + +func (i ProjectIntegrationHarborArray) ToProjectIntegrationHarborArrayOutput() ProjectIntegrationHarborArrayOutput { + return i.ToProjectIntegrationHarborArrayOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationHarborArray) ToProjectIntegrationHarborArrayOutputWithContext(ctx context.Context) ProjectIntegrationHarborArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationHarborArrayOutput) +} + +// ProjectIntegrationHarborMapInput is an input type that accepts ProjectIntegrationHarborMap and ProjectIntegrationHarborMapOutput values. +// You can construct a concrete instance of `ProjectIntegrationHarborMapInput` via: +// +// ProjectIntegrationHarborMap{ "key": ProjectIntegrationHarborArgs{...} } +type ProjectIntegrationHarborMapInput interface { + pulumi.Input + + ToProjectIntegrationHarborMapOutput() ProjectIntegrationHarborMapOutput + ToProjectIntegrationHarborMapOutputWithContext(context.Context) ProjectIntegrationHarborMapOutput +} + +type ProjectIntegrationHarborMap map[string]ProjectIntegrationHarborInput + +func (ProjectIntegrationHarborMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationHarbor)(nil)).Elem() +} + +func (i ProjectIntegrationHarborMap) ToProjectIntegrationHarborMapOutput() ProjectIntegrationHarborMapOutput { + return i.ToProjectIntegrationHarborMapOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationHarborMap) ToProjectIntegrationHarborMapOutputWithContext(ctx context.Context) ProjectIntegrationHarborMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationHarborMapOutput) +} + +type ProjectIntegrationHarborOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationHarborOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationHarbor)(nil)).Elem() +} + +func (o ProjectIntegrationHarborOutput) ToProjectIntegrationHarborOutput() ProjectIntegrationHarborOutput { + return o +} + +func (o ProjectIntegrationHarborOutput) ToProjectIntegrationHarborOutputWithContext(ctx context.Context) ProjectIntegrationHarborOutput { + return o +} + +// Whether the integration is active. +func (o ProjectIntegrationHarborOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationHarbor) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) +} + +// Password for authentication with the Harbor server, if authentication is required by the server. +func (o ProjectIntegrationHarborOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationHarbor) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput) +} + +// ID of the GitLab project you want to activate integration on. +func (o ProjectIntegrationHarborOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationHarbor) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// The URL-friendly Harbor project name. This project needs to already exist in Harbor. Example: `myProjectName`. +func (o ProjectIntegrationHarborOutput) ProjectName() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationHarbor) pulumi.StringOutput { return v.ProjectName }).(pulumi.StringOutput) +} + +// Harbor URL. Example: `http://harbor.example.com` +func (o ProjectIntegrationHarborOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationHarbor) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +// Indicates whether or not to inherit default settings. Defaults to false. +func (o ProjectIntegrationHarborOutput) UseInheritedSettings() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationHarbor) pulumi.BoolOutput { return v.UseInheritedSettings }).(pulumi.BoolOutput) +} + +// Username for authentication with the Harbor server, if authentication is required by the server. +func (o ProjectIntegrationHarborOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationHarbor) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) +} + +type ProjectIntegrationHarborArrayOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationHarborArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationHarbor)(nil)).Elem() +} + +func (o ProjectIntegrationHarborArrayOutput) ToProjectIntegrationHarborArrayOutput() ProjectIntegrationHarborArrayOutput { + return o +} + +func (o ProjectIntegrationHarborArrayOutput) ToProjectIntegrationHarborArrayOutputWithContext(ctx context.Context) ProjectIntegrationHarborArrayOutput { + return o +} + +func (o ProjectIntegrationHarborArrayOutput) Index(i pulumi.IntInput) ProjectIntegrationHarborOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectIntegrationHarbor { + return vs[0].([]*ProjectIntegrationHarbor)[vs[1].(int)] + }).(ProjectIntegrationHarborOutput) +} + +type ProjectIntegrationHarborMapOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationHarborMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationHarbor)(nil)).Elem() +} + +func (o ProjectIntegrationHarborMapOutput) ToProjectIntegrationHarborMapOutput() ProjectIntegrationHarborMapOutput { + return o +} + +func (o ProjectIntegrationHarborMapOutput) ToProjectIntegrationHarborMapOutputWithContext(ctx context.Context) ProjectIntegrationHarborMapOutput { + return o +} + +func (o ProjectIntegrationHarborMapOutput) MapIndex(k pulumi.StringInput) ProjectIntegrationHarborOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectIntegrationHarbor { + return vs[0].(map[string]*ProjectIntegrationHarbor)[vs[1].(string)] + }).(ProjectIntegrationHarborOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationHarborInput)(nil)).Elem(), &ProjectIntegrationHarbor{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationHarborArrayInput)(nil)).Elem(), ProjectIntegrationHarborArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationHarborMapInput)(nil)).Elem(), ProjectIntegrationHarborMap{}) + pulumi.RegisterOutputType(ProjectIntegrationHarborOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationHarborArrayOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationHarborMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationJenkins.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationJenkins.go new file mode 100644 index 000000000..9b2e50a26 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationJenkins.go @@ -0,0 +1,413 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectIntegrationJenkins` resource manages the lifecycle of a project integration with Jenkins. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#jenkins) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("awesome_project"), +// Description: pulumi.String("My awesome project."), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectIntegrationJenkins(ctx, "jenkins", &gitlab.ProjectIntegrationJenkinsArgs{ +// Project: awesomeProject.ID(), +// JenkinsUrl: pulumi.String("http://jenkins.example.com"), +// ProjectName: pulumi.String("my_project_name"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIntegrationJenkins`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import a ProjectIntegrationJenkins state using `terraform import `: +// +// ```sh +// $ pulumi import gitlab:index/projectIntegrationJenkins:ProjectIntegrationJenkins jenkins 1 +// ``` +type ProjectIntegrationJenkins struct { + pulumi.CustomResourceState + + // Whether the integration is active. + Active pulumi.BoolOutput `pulumi:"active"` + // Enable SSL verification. Defaults to `true` (enabled). + EnableSslVerification pulumi.BoolOutput `pulumi:"enableSslVerification"` + // Jenkins URL like `http://jenkins.example.com` + JenkinsUrl pulumi.StringOutput `pulumi:"jenkinsUrl"` + // Enable notifications for merge request events. + MergeRequestEvents pulumi.BoolOutput `pulumi:"mergeRequestEvents"` + // Password for authentication with the Jenkins server, if authentication is required by the server. + Password pulumi.StringPtrOutput `pulumi:"password"` + // ID of the project you want to activate integration on. + Project pulumi.StringOutput `pulumi:"project"` + // The URL-friendly project name. Example: `myProjectName`. + ProjectName pulumi.StringOutput `pulumi:"projectName"` + // Enable notifications for push events. + PushEvents pulumi.BoolOutput `pulumi:"pushEvents"` + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolOutput `pulumi:"tagPushEvents"` + // Username for authentication with the Jenkins server, if authentication is required by the server. + Username pulumi.StringPtrOutput `pulumi:"username"` +} + +// NewProjectIntegrationJenkins registers a new resource with the given unique name, arguments, and options. +func NewProjectIntegrationJenkins(ctx *pulumi.Context, + name string, args *ProjectIntegrationJenkinsArgs, opts ...pulumi.ResourceOption) (*ProjectIntegrationJenkins, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.JenkinsUrl == nil { + return nil, errors.New("invalid value for required argument 'JenkinsUrl'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.ProjectName == nil { + return nil, errors.New("invalid value for required argument 'ProjectName'") + } + if args.Password != nil { + args.Password = pulumi.ToSecret(args.Password).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "password", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectIntegrationJenkins + err := ctx.RegisterResource("gitlab:index/projectIntegrationJenkins:ProjectIntegrationJenkins", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectIntegrationJenkins gets an existing ProjectIntegrationJenkins resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectIntegrationJenkins(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectIntegrationJenkinsState, opts ...pulumi.ResourceOption) (*ProjectIntegrationJenkins, error) { + var resource ProjectIntegrationJenkins + err := ctx.ReadResource("gitlab:index/projectIntegrationJenkins:ProjectIntegrationJenkins", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectIntegrationJenkins resources. +type projectIntegrationJenkinsState struct { + // Whether the integration is active. + Active *bool `pulumi:"active"` + // Enable SSL verification. Defaults to `true` (enabled). + EnableSslVerification *bool `pulumi:"enableSslVerification"` + // Jenkins URL like `http://jenkins.example.com` + JenkinsUrl *string `pulumi:"jenkinsUrl"` + // Enable notifications for merge request events. + MergeRequestEvents *bool `pulumi:"mergeRequestEvents"` + // Password for authentication with the Jenkins server, if authentication is required by the server. + Password *string `pulumi:"password"` + // ID of the project you want to activate integration on. + Project *string `pulumi:"project"` + // The URL-friendly project name. Example: `myProjectName`. + ProjectName *string `pulumi:"projectName"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` + // Username for authentication with the Jenkins server, if authentication is required by the server. + Username *string `pulumi:"username"` +} + +type ProjectIntegrationJenkinsState struct { + // Whether the integration is active. + Active pulumi.BoolPtrInput + // Enable SSL verification. Defaults to `true` (enabled). + EnableSslVerification pulumi.BoolPtrInput + // Jenkins URL like `http://jenkins.example.com` + JenkinsUrl pulumi.StringPtrInput + // Enable notifications for merge request events. + MergeRequestEvents pulumi.BoolPtrInput + // Password for authentication with the Jenkins server, if authentication is required by the server. + Password pulumi.StringPtrInput + // ID of the project you want to activate integration on. + Project pulumi.StringPtrInput + // The URL-friendly project name. Example: `myProjectName`. + ProjectName pulumi.StringPtrInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput + // Username for authentication with the Jenkins server, if authentication is required by the server. + Username pulumi.StringPtrInput +} + +func (ProjectIntegrationJenkinsState) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationJenkinsState)(nil)).Elem() +} + +type projectIntegrationJenkinsArgs struct { + // Enable SSL verification. Defaults to `true` (enabled). + EnableSslVerification *bool `pulumi:"enableSslVerification"` + // Jenkins URL like `http://jenkins.example.com` + JenkinsUrl string `pulumi:"jenkinsUrl"` + // Enable notifications for merge request events. + MergeRequestEvents *bool `pulumi:"mergeRequestEvents"` + // Password for authentication with the Jenkins server, if authentication is required by the server. + Password *string `pulumi:"password"` + // ID of the project you want to activate integration on. + Project string `pulumi:"project"` + // The URL-friendly project name. Example: `myProjectName`. + ProjectName string `pulumi:"projectName"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` + // Username for authentication with the Jenkins server, if authentication is required by the server. + Username *string `pulumi:"username"` +} + +// The set of arguments for constructing a ProjectIntegrationJenkins resource. +type ProjectIntegrationJenkinsArgs struct { + // Enable SSL verification. Defaults to `true` (enabled). + EnableSslVerification pulumi.BoolPtrInput + // Jenkins URL like `http://jenkins.example.com` + JenkinsUrl pulumi.StringInput + // Enable notifications for merge request events. + MergeRequestEvents pulumi.BoolPtrInput + // Password for authentication with the Jenkins server, if authentication is required by the server. + Password pulumi.StringPtrInput + // ID of the project you want to activate integration on. + Project pulumi.StringInput + // The URL-friendly project name. Example: `myProjectName`. + ProjectName pulumi.StringInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput + // Username for authentication with the Jenkins server, if authentication is required by the server. + Username pulumi.StringPtrInput +} + +func (ProjectIntegrationJenkinsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationJenkinsArgs)(nil)).Elem() +} + +type ProjectIntegrationJenkinsInput interface { + pulumi.Input + + ToProjectIntegrationJenkinsOutput() ProjectIntegrationJenkinsOutput + ToProjectIntegrationJenkinsOutputWithContext(ctx context.Context) ProjectIntegrationJenkinsOutput +} + +func (*ProjectIntegrationJenkins) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationJenkins)(nil)).Elem() +} + +func (i *ProjectIntegrationJenkins) ToProjectIntegrationJenkinsOutput() ProjectIntegrationJenkinsOutput { + return i.ToProjectIntegrationJenkinsOutputWithContext(context.Background()) +} + +func (i *ProjectIntegrationJenkins) ToProjectIntegrationJenkinsOutputWithContext(ctx context.Context) ProjectIntegrationJenkinsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationJenkinsOutput) +} + +// ProjectIntegrationJenkinsArrayInput is an input type that accepts ProjectIntegrationJenkinsArray and ProjectIntegrationJenkinsArrayOutput values. +// You can construct a concrete instance of `ProjectIntegrationJenkinsArrayInput` via: +// +// ProjectIntegrationJenkinsArray{ ProjectIntegrationJenkinsArgs{...} } +type ProjectIntegrationJenkinsArrayInput interface { + pulumi.Input + + ToProjectIntegrationJenkinsArrayOutput() ProjectIntegrationJenkinsArrayOutput + ToProjectIntegrationJenkinsArrayOutputWithContext(context.Context) ProjectIntegrationJenkinsArrayOutput +} + +type ProjectIntegrationJenkinsArray []ProjectIntegrationJenkinsInput + +func (ProjectIntegrationJenkinsArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationJenkins)(nil)).Elem() +} + +func (i ProjectIntegrationJenkinsArray) ToProjectIntegrationJenkinsArrayOutput() ProjectIntegrationJenkinsArrayOutput { + return i.ToProjectIntegrationJenkinsArrayOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationJenkinsArray) ToProjectIntegrationJenkinsArrayOutputWithContext(ctx context.Context) ProjectIntegrationJenkinsArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationJenkinsArrayOutput) +} + +// ProjectIntegrationJenkinsMapInput is an input type that accepts ProjectIntegrationJenkinsMap and ProjectIntegrationJenkinsMapOutput values. +// You can construct a concrete instance of `ProjectIntegrationJenkinsMapInput` via: +// +// ProjectIntegrationJenkinsMap{ "key": ProjectIntegrationJenkinsArgs{...} } +type ProjectIntegrationJenkinsMapInput interface { + pulumi.Input + + ToProjectIntegrationJenkinsMapOutput() ProjectIntegrationJenkinsMapOutput + ToProjectIntegrationJenkinsMapOutputWithContext(context.Context) ProjectIntegrationJenkinsMapOutput +} + +type ProjectIntegrationJenkinsMap map[string]ProjectIntegrationJenkinsInput + +func (ProjectIntegrationJenkinsMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationJenkins)(nil)).Elem() +} + +func (i ProjectIntegrationJenkinsMap) ToProjectIntegrationJenkinsMapOutput() ProjectIntegrationJenkinsMapOutput { + return i.ToProjectIntegrationJenkinsMapOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationJenkinsMap) ToProjectIntegrationJenkinsMapOutputWithContext(ctx context.Context) ProjectIntegrationJenkinsMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationJenkinsMapOutput) +} + +type ProjectIntegrationJenkinsOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationJenkinsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationJenkins)(nil)).Elem() +} + +func (o ProjectIntegrationJenkinsOutput) ToProjectIntegrationJenkinsOutput() ProjectIntegrationJenkinsOutput { + return o +} + +func (o ProjectIntegrationJenkinsOutput) ToProjectIntegrationJenkinsOutputWithContext(ctx context.Context) ProjectIntegrationJenkinsOutput { + return o +} + +// Whether the integration is active. +func (o ProjectIntegrationJenkinsOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationJenkins) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) +} + +// Enable SSL verification. Defaults to `true` (enabled). +func (o ProjectIntegrationJenkinsOutput) EnableSslVerification() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationJenkins) pulumi.BoolOutput { return v.EnableSslVerification }).(pulumi.BoolOutput) +} + +// Jenkins URL like `http://jenkins.example.com` +func (o ProjectIntegrationJenkinsOutput) JenkinsUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationJenkins) pulumi.StringOutput { return v.JenkinsUrl }).(pulumi.StringOutput) +} + +// Enable notifications for merge request events. +func (o ProjectIntegrationJenkinsOutput) MergeRequestEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationJenkins) pulumi.BoolOutput { return v.MergeRequestEvents }).(pulumi.BoolOutput) +} + +// Password for authentication with the Jenkins server, if authentication is required by the server. +func (o ProjectIntegrationJenkinsOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectIntegrationJenkins) pulumi.StringPtrOutput { return v.Password }).(pulumi.StringPtrOutput) +} + +// ID of the project you want to activate integration on. +func (o ProjectIntegrationJenkinsOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationJenkins) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// The URL-friendly project name. Example: `myProjectName`. +func (o ProjectIntegrationJenkinsOutput) ProjectName() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationJenkins) pulumi.StringOutput { return v.ProjectName }).(pulumi.StringOutput) +} + +// Enable notifications for push events. +func (o ProjectIntegrationJenkinsOutput) PushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationJenkins) pulumi.BoolOutput { return v.PushEvents }).(pulumi.BoolOutput) +} + +// Enable notifications for tag push events. +func (o ProjectIntegrationJenkinsOutput) TagPushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationJenkins) pulumi.BoolOutput { return v.TagPushEvents }).(pulumi.BoolOutput) +} + +// Username for authentication with the Jenkins server, if authentication is required by the server. +func (o ProjectIntegrationJenkinsOutput) Username() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectIntegrationJenkins) pulumi.StringPtrOutput { return v.Username }).(pulumi.StringPtrOutput) +} + +type ProjectIntegrationJenkinsArrayOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationJenkinsArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationJenkins)(nil)).Elem() +} + +func (o ProjectIntegrationJenkinsArrayOutput) ToProjectIntegrationJenkinsArrayOutput() ProjectIntegrationJenkinsArrayOutput { + return o +} + +func (o ProjectIntegrationJenkinsArrayOutput) ToProjectIntegrationJenkinsArrayOutputWithContext(ctx context.Context) ProjectIntegrationJenkinsArrayOutput { + return o +} + +func (o ProjectIntegrationJenkinsArrayOutput) Index(i pulumi.IntInput) ProjectIntegrationJenkinsOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectIntegrationJenkins { + return vs[0].([]*ProjectIntegrationJenkins)[vs[1].(int)] + }).(ProjectIntegrationJenkinsOutput) +} + +type ProjectIntegrationJenkinsMapOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationJenkinsMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationJenkins)(nil)).Elem() +} + +func (o ProjectIntegrationJenkinsMapOutput) ToProjectIntegrationJenkinsMapOutput() ProjectIntegrationJenkinsMapOutput { + return o +} + +func (o ProjectIntegrationJenkinsMapOutput) ToProjectIntegrationJenkinsMapOutputWithContext(ctx context.Context) ProjectIntegrationJenkinsMapOutput { + return o +} + +func (o ProjectIntegrationJenkinsMapOutput) MapIndex(k pulumi.StringInput) ProjectIntegrationJenkinsOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectIntegrationJenkins { + return vs[0].(map[string]*ProjectIntegrationJenkins)[vs[1].(string)] + }).(ProjectIntegrationJenkinsOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationJenkinsInput)(nil)).Elem(), &ProjectIntegrationJenkins{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationJenkinsArrayInput)(nil)).Elem(), ProjectIntegrationJenkinsArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationJenkinsMapInput)(nil)).Elem(), ProjectIntegrationJenkinsMap{}) + pulumi.RegisterOutputType(ProjectIntegrationJenkinsOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationJenkinsArrayOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationJenkinsMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceJira.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationJira.go similarity index 53% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceJira.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationJira.go index f00bc6080..aaed87b34 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/serviceJira.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationJira.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ServiceJira` resource allows to manage the lifecycle of a project integration with Jira. -// -// > This resource is deprecated. use `IntegrationJira`instead! +// The `ProjectIntegrationJira` resource manages the lifecycle of a project integration with Jira. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#jira-issues) // @@ -25,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -40,7 +38,7 @@ import ( // if err != nil { // return err // } -// _, err = gitlab.NewServiceJira(ctx, "jira", &gitlab.ServiceJiraArgs{ +// _, err = gitlab.NewProjectIntegrationJira(ctx, "jira", &gitlab.ProjectIntegrationJiraArgs{ // Project: awesomeProject.ID(), // Url: pulumi.String("https://jira.example.com"), // Username: pulumi.String("user"), @@ -57,26 +55,16 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_service_jira`. For example: -// -// terraform -// -// import { -// -// to = gitlab_service_jira.example -// -// id = "see CLI command below for ID" +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIntegrationJira`. For example: // -// } +// Importing using the CLI is supported with the following syntax: // -// Import using the CLI is supported using the following syntax: -// -// You can import a gitlab_service_jira state using the project ID, e.g. +// You can import a ProjectIntegrationJira state using the project ID, for example: // // ```sh -// $ pulumi import gitlab:index/serviceJira:ServiceJira jira 1 +// $ pulumi import gitlab:index/projectIntegrationJira:ProjectIntegrationJira jira 1 // ``` -type ServiceJira struct { +type ProjectIntegrationJira struct { pulumi.CustomResourceState // Whether the integration is active. @@ -87,46 +75,43 @@ type ServiceJira struct { CommentOnEventEnabled pulumi.BoolOutput `pulumi:"commentOnEventEnabled"` // Enable notifications for commit events CommitEvents pulumi.BoolOutput `pulumi:"commitEvents"` - // Create time. + // The ISO8601 date/time that this integration was activated at in UTC. CreatedAt pulumi.StringOutput `pulumi:"createdAt"` // Enable viewing Jira issues in GitLab. - IssuesEnabled pulumi.BoolPtrOutput `pulumi:"issuesEnabled"` + IssuesEnabled pulumi.BoolOutput `pulumi:"issuesEnabled"` // The authentication method to be used with Jira. 0 means Basic Authentication. 1 means Jira personal access token. Defaults to 0. - JiraAuthType pulumi.IntPtrOutput `pulumi:"jiraAuthType"` + JiraAuthType pulumi.IntOutput `pulumi:"jiraAuthType"` // Prefix to match Jira issue keys. - JiraIssuePrefix pulumi.StringPtrOutput `pulumi:"jiraIssuePrefix"` + JiraIssuePrefix pulumi.StringOutput `pulumi:"jiraIssuePrefix"` // Regular expression to match Jira issue keys. - JiraIssueRegex pulumi.StringPtrOutput `pulumi:"jiraIssueRegex"` - JiraIssueTransitionAutomatic pulumi.BoolPtrOutput `pulumi:"jiraIssueTransitionAutomatic"` + JiraIssueRegex pulumi.StringOutput `pulumi:"jiraIssueRegex"` + // Enable automatic issue transitions. Takes precedence over jira*issue*transition_id if enabled. Defaults to false. This value cannot be imported, and will not perform drift detection if changed outside Terraform. + JiraIssueTransitionAutomatic pulumi.BoolPtrOutput `pulumi:"jiraIssueTransitionAutomatic"` // The ID of a transition that moves issues to a closed state. You can find this number under the JIRA workflow administration (Administration > Issues > Workflows) by selecting View under Operations of the desired workflow of your project. By default, this ID is set to 2. - JiraIssueTransitionId pulumi.StringPtrOutput `pulumi:"jiraIssueTransitionId"` + JiraIssueTransitionId pulumi.StringOutput `pulumi:"jiraIssueTransitionId"` // Enable notifications for merge request events MergeRequestsEvents pulumi.BoolOutput `pulumi:"mergeRequestsEvents"` // The Jira API token, password, or personal access token to be used with Jira. When your authentication method is basic (jira*auth*type is 0), use an API token for Jira Cloud or a password for Jira Data Center or Jira Server. When your authentication method is a Jira personal access token (jira*auth*type is 1), use the personal access token. Password pulumi.StringOutput `pulumi:"password"` // ID of the project you want to activate integration on. Project pulumi.StringOutput `pulumi:"project"` - // The short identifier for your JIRA project. Must be all uppercase. For example, `PROJ`. - // - // Deprecated: `projectKey` is deprecated. Use `projectKeys` instead. - ProjectKey pulumi.StringPtrOutput `pulumi:"projectKey"` // Keys of Jira projects. When issuesEnabled is true, this setting specifies which Jira projects to view issues from in GitLab. ProjectKeys pulumi.StringArrayOutput `pulumi:"projectKeys"` - // Title. + // Title of the integration. Title pulumi.StringOutput `pulumi:"title"` - // Update time. + // The ISO8601 date/time that this integration was last updated at in UTC. UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` // The URL to the JIRA project which is being linked to this GitLab project. For example, https://jira.example.com. Url pulumi.StringOutput `pulumi:"url"` // Indicates whether or not to inherit default settings. Defaults to false. - UseInheritedSettings pulumi.BoolPtrOutput `pulumi:"useInheritedSettings"` + UseInheritedSettings pulumi.BoolOutput `pulumi:"useInheritedSettings"` // The email or username to be used with Jira. For Jira Cloud use an email, for Jira Data Center and Jira Server use a username. Required when using Basic authentication (jira*auth*type is 0). - Username pulumi.StringPtrOutput `pulumi:"username"` + Username pulumi.StringOutput `pulumi:"username"` } -// NewServiceJira registers a new resource with the given unique name, arguments, and options. -func NewServiceJira(ctx *pulumi.Context, - name string, args *ServiceJiraArgs, opts ...pulumi.ResourceOption) (*ServiceJira, error) { +// NewProjectIntegrationJira registers a new resource with the given unique name, arguments, and options. +func NewProjectIntegrationJira(ctx *pulumi.Context, + name string, args *ProjectIntegrationJiraArgs, opts ...pulumi.ResourceOption) (*ProjectIntegrationJira, error) { if args == nil { return nil, errors.New("missing one or more required arguments") } @@ -148,28 +133,28 @@ func NewServiceJira(ctx *pulumi.Context, }) opts = append(opts, secrets) opts = internal.PkgResourceDefaultOpts(opts) - var resource ServiceJira - err := ctx.RegisterResource("gitlab:index/serviceJira:ServiceJira", name, args, &resource, opts...) + var resource ProjectIntegrationJira + err := ctx.RegisterResource("gitlab:index/projectIntegrationJira:ProjectIntegrationJira", name, args, &resource, opts...) if err != nil { return nil, err } return &resource, nil } -// GetServiceJira gets an existing ServiceJira resource's state with the given name, ID, and optional +// GetProjectIntegrationJira gets an existing ProjectIntegrationJira resource's state with the given name, ID, and optional // state properties that are used to uniquely qualify the lookup (nil if not required). -func GetServiceJira(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *ServiceJiraState, opts ...pulumi.ResourceOption) (*ServiceJira, error) { - var resource ServiceJira - err := ctx.ReadResource("gitlab:index/serviceJira:ServiceJira", name, id, state, &resource, opts...) +func GetProjectIntegrationJira(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectIntegrationJiraState, opts ...pulumi.ResourceOption) (*ProjectIntegrationJira, error) { + var resource ProjectIntegrationJira + err := ctx.ReadResource("gitlab:index/projectIntegrationJira:ProjectIntegrationJira", name, id, state, &resource, opts...) if err != nil { return nil, err } return &resource, nil } -// Input properties used for looking up and filtering ServiceJira resources. -type serviceJiraState struct { +// Input properties used for looking up and filtering ProjectIntegrationJira resources. +type projectIntegrationJiraState struct { // Whether the integration is active. Active *bool `pulumi:"active"` // The base URL to the Jira instance API. Web URL value is used if not set. For example, https://jira-api.example.com. @@ -178,7 +163,7 @@ type serviceJiraState struct { CommentOnEventEnabled *bool `pulumi:"commentOnEventEnabled"` // Enable notifications for commit events CommitEvents *bool `pulumi:"commitEvents"` - // Create time. + // The ISO8601 date/time that this integration was activated at in UTC. CreatedAt *string `pulumi:"createdAt"` // Enable viewing Jira issues in GitLab. IssuesEnabled *bool `pulumi:"issuesEnabled"` @@ -187,8 +172,9 @@ type serviceJiraState struct { // Prefix to match Jira issue keys. JiraIssuePrefix *string `pulumi:"jiraIssuePrefix"` // Regular expression to match Jira issue keys. - JiraIssueRegex *string `pulumi:"jiraIssueRegex"` - JiraIssueTransitionAutomatic *bool `pulumi:"jiraIssueTransitionAutomatic"` + JiraIssueRegex *string `pulumi:"jiraIssueRegex"` + // Enable automatic issue transitions. Takes precedence over jira*issue*transition_id if enabled. Defaults to false. This value cannot be imported, and will not perform drift detection if changed outside Terraform. + JiraIssueTransitionAutomatic *bool `pulumi:"jiraIssueTransitionAutomatic"` // The ID of a transition that moves issues to a closed state. You can find this number under the JIRA workflow administration (Administration > Issues > Workflows) by selecting View under Operations of the desired workflow of your project. By default, this ID is set to 2. JiraIssueTransitionId *string `pulumi:"jiraIssueTransitionId"` // Enable notifications for merge request events @@ -197,15 +183,11 @@ type serviceJiraState struct { Password *string `pulumi:"password"` // ID of the project you want to activate integration on. Project *string `pulumi:"project"` - // The short identifier for your JIRA project. Must be all uppercase. For example, `PROJ`. - // - // Deprecated: `projectKey` is deprecated. Use `projectKeys` instead. - ProjectKey *string `pulumi:"projectKey"` // Keys of Jira projects. When issuesEnabled is true, this setting specifies which Jira projects to view issues from in GitLab. ProjectKeys []string `pulumi:"projectKeys"` - // Title. + // Title of the integration. Title *string `pulumi:"title"` - // Update time. + // The ISO8601 date/time that this integration was last updated at in UTC. UpdatedAt *string `pulumi:"updatedAt"` // The URL to the JIRA project which is being linked to this GitLab project. For example, https://jira.example.com. Url *string `pulumi:"url"` @@ -215,7 +197,7 @@ type serviceJiraState struct { Username *string `pulumi:"username"` } -type ServiceJiraState struct { +type ProjectIntegrationJiraState struct { // Whether the integration is active. Active pulumi.BoolPtrInput // The base URL to the Jira instance API. Web URL value is used if not set. For example, https://jira-api.example.com. @@ -224,7 +206,7 @@ type ServiceJiraState struct { CommentOnEventEnabled pulumi.BoolPtrInput // Enable notifications for commit events CommitEvents pulumi.BoolPtrInput - // Create time. + // The ISO8601 date/time that this integration was activated at in UTC. CreatedAt pulumi.StringPtrInput // Enable viewing Jira issues in GitLab. IssuesEnabled pulumi.BoolPtrInput @@ -233,7 +215,8 @@ type ServiceJiraState struct { // Prefix to match Jira issue keys. JiraIssuePrefix pulumi.StringPtrInput // Regular expression to match Jira issue keys. - JiraIssueRegex pulumi.StringPtrInput + JiraIssueRegex pulumi.StringPtrInput + // Enable automatic issue transitions. Takes precedence over jira*issue*transition_id if enabled. Defaults to false. This value cannot be imported, and will not perform drift detection if changed outside Terraform. JiraIssueTransitionAutomatic pulumi.BoolPtrInput // The ID of a transition that moves issues to a closed state. You can find this number under the JIRA workflow administration (Administration > Issues > Workflows) by selecting View under Operations of the desired workflow of your project. By default, this ID is set to 2. JiraIssueTransitionId pulumi.StringPtrInput @@ -243,15 +226,11 @@ type ServiceJiraState struct { Password pulumi.StringPtrInput // ID of the project you want to activate integration on. Project pulumi.StringPtrInput - // The short identifier for your JIRA project. Must be all uppercase. For example, `PROJ`. - // - // Deprecated: `projectKey` is deprecated. Use `projectKeys` instead. - ProjectKey pulumi.StringPtrInput // Keys of Jira projects. When issuesEnabled is true, this setting specifies which Jira projects to view issues from in GitLab. ProjectKeys pulumi.StringArrayInput - // Title. + // Title of the integration. Title pulumi.StringPtrInput - // Update time. + // The ISO8601 date/time that this integration was last updated at in UTC. UpdatedAt pulumi.StringPtrInput // The URL to the JIRA project which is being linked to this GitLab project. For example, https://jira.example.com. Url pulumi.StringPtrInput @@ -261,11 +240,11 @@ type ServiceJiraState struct { Username pulumi.StringPtrInput } -func (ServiceJiraState) ElementType() reflect.Type { - return reflect.TypeOf((*serviceJiraState)(nil)).Elem() +func (ProjectIntegrationJiraState) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationJiraState)(nil)).Elem() } -type serviceJiraArgs struct { +type projectIntegrationJiraArgs struct { // The base URL to the Jira instance API. Web URL value is used if not set. For example, https://jira-api.example.com. ApiUrl *string `pulumi:"apiUrl"` // Enable comments inside Jira issues on each GitLab event (commit / merge request) @@ -279,8 +258,9 @@ type serviceJiraArgs struct { // Prefix to match Jira issue keys. JiraIssuePrefix *string `pulumi:"jiraIssuePrefix"` // Regular expression to match Jira issue keys. - JiraIssueRegex *string `pulumi:"jiraIssueRegex"` - JiraIssueTransitionAutomatic *bool `pulumi:"jiraIssueTransitionAutomatic"` + JiraIssueRegex *string `pulumi:"jiraIssueRegex"` + // Enable automatic issue transitions. Takes precedence over jira*issue*transition_id if enabled. Defaults to false. This value cannot be imported, and will not perform drift detection if changed outside Terraform. + JiraIssueTransitionAutomatic *bool `pulumi:"jiraIssueTransitionAutomatic"` // The ID of a transition that moves issues to a closed state. You can find this number under the JIRA workflow administration (Administration > Issues > Workflows) by selecting View under Operations of the desired workflow of your project. By default, this ID is set to 2. JiraIssueTransitionId *string `pulumi:"jiraIssueTransitionId"` // Enable notifications for merge request events @@ -289,10 +269,6 @@ type serviceJiraArgs struct { Password string `pulumi:"password"` // ID of the project you want to activate integration on. Project string `pulumi:"project"` - // The short identifier for your JIRA project. Must be all uppercase. For example, `PROJ`. - // - // Deprecated: `projectKey` is deprecated. Use `projectKeys` instead. - ProjectKey *string `pulumi:"projectKey"` // Keys of Jira projects. When issuesEnabled is true, this setting specifies which Jira projects to view issues from in GitLab. ProjectKeys []string `pulumi:"projectKeys"` // The URL to the JIRA project which is being linked to this GitLab project. For example, https://jira.example.com. @@ -303,8 +279,8 @@ type serviceJiraArgs struct { Username *string `pulumi:"username"` } -// The set of arguments for constructing a ServiceJira resource. -type ServiceJiraArgs struct { +// The set of arguments for constructing a ProjectIntegrationJira resource. +type ProjectIntegrationJiraArgs struct { // The base URL to the Jira instance API. Web URL value is used if not set. For example, https://jira-api.example.com. ApiUrl pulumi.StringPtrInput // Enable comments inside Jira issues on each GitLab event (commit / merge request) @@ -318,7 +294,8 @@ type ServiceJiraArgs struct { // Prefix to match Jira issue keys. JiraIssuePrefix pulumi.StringPtrInput // Regular expression to match Jira issue keys. - JiraIssueRegex pulumi.StringPtrInput + JiraIssueRegex pulumi.StringPtrInput + // Enable automatic issue transitions. Takes precedence over jira*issue*transition_id if enabled. Defaults to false. This value cannot be imported, and will not perform drift detection if changed outside Terraform. JiraIssueTransitionAutomatic pulumi.BoolPtrInput // The ID of a transition that moves issues to a closed state. You can find this number under the JIRA workflow administration (Administration > Issues > Workflows) by selecting View under Operations of the desired workflow of your project. By default, this ID is set to 2. JiraIssueTransitionId pulumi.StringPtrInput @@ -328,10 +305,6 @@ type ServiceJiraArgs struct { Password pulumi.StringInput // ID of the project you want to activate integration on. Project pulumi.StringInput - // The short identifier for your JIRA project. Must be all uppercase. For example, `PROJ`. - // - // Deprecated: `projectKey` is deprecated. Use `projectKeys` instead. - ProjectKey pulumi.StringPtrInput // Keys of Jira projects. When issuesEnabled is true, this setting specifies which Jira projects to view issues from in GitLab. ProjectKeys pulumi.StringArrayInput // The URL to the JIRA project which is being linked to this GitLab project. For example, https://jira.example.com. @@ -342,244 +315,238 @@ type ServiceJiraArgs struct { Username pulumi.StringPtrInput } -func (ServiceJiraArgs) ElementType() reflect.Type { - return reflect.TypeOf((*serviceJiraArgs)(nil)).Elem() +func (ProjectIntegrationJiraArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationJiraArgs)(nil)).Elem() } -type ServiceJiraInput interface { +type ProjectIntegrationJiraInput interface { pulumi.Input - ToServiceJiraOutput() ServiceJiraOutput - ToServiceJiraOutputWithContext(ctx context.Context) ServiceJiraOutput + ToProjectIntegrationJiraOutput() ProjectIntegrationJiraOutput + ToProjectIntegrationJiraOutputWithContext(ctx context.Context) ProjectIntegrationJiraOutput } -func (*ServiceJira) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceJira)(nil)).Elem() +func (*ProjectIntegrationJira) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationJira)(nil)).Elem() } -func (i *ServiceJira) ToServiceJiraOutput() ServiceJiraOutput { - return i.ToServiceJiraOutputWithContext(context.Background()) +func (i *ProjectIntegrationJira) ToProjectIntegrationJiraOutput() ProjectIntegrationJiraOutput { + return i.ToProjectIntegrationJiraOutputWithContext(context.Background()) } -func (i *ServiceJira) ToServiceJiraOutputWithContext(ctx context.Context) ServiceJiraOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceJiraOutput) +func (i *ProjectIntegrationJira) ToProjectIntegrationJiraOutputWithContext(ctx context.Context) ProjectIntegrationJiraOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationJiraOutput) } -// ServiceJiraArrayInput is an input type that accepts ServiceJiraArray and ServiceJiraArrayOutput values. -// You can construct a concrete instance of `ServiceJiraArrayInput` via: +// ProjectIntegrationJiraArrayInput is an input type that accepts ProjectIntegrationJiraArray and ProjectIntegrationJiraArrayOutput values. +// You can construct a concrete instance of `ProjectIntegrationJiraArrayInput` via: // -// ServiceJiraArray{ ServiceJiraArgs{...} } -type ServiceJiraArrayInput interface { +// ProjectIntegrationJiraArray{ ProjectIntegrationJiraArgs{...} } +type ProjectIntegrationJiraArrayInput interface { pulumi.Input - ToServiceJiraArrayOutput() ServiceJiraArrayOutput - ToServiceJiraArrayOutputWithContext(context.Context) ServiceJiraArrayOutput + ToProjectIntegrationJiraArrayOutput() ProjectIntegrationJiraArrayOutput + ToProjectIntegrationJiraArrayOutputWithContext(context.Context) ProjectIntegrationJiraArrayOutput } -type ServiceJiraArray []ServiceJiraInput +type ProjectIntegrationJiraArray []ProjectIntegrationJiraInput -func (ServiceJiraArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ServiceJira)(nil)).Elem() +func (ProjectIntegrationJiraArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationJira)(nil)).Elem() } -func (i ServiceJiraArray) ToServiceJiraArrayOutput() ServiceJiraArrayOutput { - return i.ToServiceJiraArrayOutputWithContext(context.Background()) +func (i ProjectIntegrationJiraArray) ToProjectIntegrationJiraArrayOutput() ProjectIntegrationJiraArrayOutput { + return i.ToProjectIntegrationJiraArrayOutputWithContext(context.Background()) } -func (i ServiceJiraArray) ToServiceJiraArrayOutputWithContext(ctx context.Context) ServiceJiraArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceJiraArrayOutput) +func (i ProjectIntegrationJiraArray) ToProjectIntegrationJiraArrayOutputWithContext(ctx context.Context) ProjectIntegrationJiraArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationJiraArrayOutput) } -// ServiceJiraMapInput is an input type that accepts ServiceJiraMap and ServiceJiraMapOutput values. -// You can construct a concrete instance of `ServiceJiraMapInput` via: +// ProjectIntegrationJiraMapInput is an input type that accepts ProjectIntegrationJiraMap and ProjectIntegrationJiraMapOutput values. +// You can construct a concrete instance of `ProjectIntegrationJiraMapInput` via: // -// ServiceJiraMap{ "key": ServiceJiraArgs{...} } -type ServiceJiraMapInput interface { +// ProjectIntegrationJiraMap{ "key": ProjectIntegrationJiraArgs{...} } +type ProjectIntegrationJiraMapInput interface { pulumi.Input - ToServiceJiraMapOutput() ServiceJiraMapOutput - ToServiceJiraMapOutputWithContext(context.Context) ServiceJiraMapOutput + ToProjectIntegrationJiraMapOutput() ProjectIntegrationJiraMapOutput + ToProjectIntegrationJiraMapOutputWithContext(context.Context) ProjectIntegrationJiraMapOutput } -type ServiceJiraMap map[string]ServiceJiraInput +type ProjectIntegrationJiraMap map[string]ProjectIntegrationJiraInput -func (ServiceJiraMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ServiceJira)(nil)).Elem() +func (ProjectIntegrationJiraMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationJira)(nil)).Elem() } -func (i ServiceJiraMap) ToServiceJiraMapOutput() ServiceJiraMapOutput { - return i.ToServiceJiraMapOutputWithContext(context.Background()) +func (i ProjectIntegrationJiraMap) ToProjectIntegrationJiraMapOutput() ProjectIntegrationJiraMapOutput { + return i.ToProjectIntegrationJiraMapOutputWithContext(context.Background()) } -func (i ServiceJiraMap) ToServiceJiraMapOutputWithContext(ctx context.Context) ServiceJiraMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceJiraMapOutput) +func (i ProjectIntegrationJiraMap) ToProjectIntegrationJiraMapOutputWithContext(ctx context.Context) ProjectIntegrationJiraMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationJiraMapOutput) } -type ServiceJiraOutput struct{ *pulumi.OutputState } +type ProjectIntegrationJiraOutput struct{ *pulumi.OutputState } -func (ServiceJiraOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceJira)(nil)).Elem() +func (ProjectIntegrationJiraOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationJira)(nil)).Elem() } -func (o ServiceJiraOutput) ToServiceJiraOutput() ServiceJiraOutput { +func (o ProjectIntegrationJiraOutput) ToProjectIntegrationJiraOutput() ProjectIntegrationJiraOutput { return o } -func (o ServiceJiraOutput) ToServiceJiraOutputWithContext(ctx context.Context) ServiceJiraOutput { +func (o ProjectIntegrationJiraOutput) ToProjectIntegrationJiraOutputWithContext(ctx context.Context) ProjectIntegrationJiraOutput { return o } // Whether the integration is active. -func (o ServiceJiraOutput) Active() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) +func (o ProjectIntegrationJiraOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) } // The base URL to the Jira instance API. Web URL value is used if not set. For example, https://jira-api.example.com. -func (o ServiceJiraOutput) ApiUrl() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.StringOutput { return v.ApiUrl }).(pulumi.StringOutput) +func (o ProjectIntegrationJiraOutput) ApiUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.StringOutput { return v.ApiUrl }).(pulumi.StringOutput) } // Enable comments inside Jira issues on each GitLab event (commit / merge request) -func (o ServiceJiraOutput) CommentOnEventEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.BoolOutput { return v.CommentOnEventEnabled }).(pulumi.BoolOutput) +func (o ProjectIntegrationJiraOutput) CommentOnEventEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.BoolOutput { return v.CommentOnEventEnabled }).(pulumi.BoolOutput) } // Enable notifications for commit events -func (o ServiceJiraOutput) CommitEvents() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.BoolOutput { return v.CommitEvents }).(pulumi.BoolOutput) +func (o ProjectIntegrationJiraOutput) CommitEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.BoolOutput { return v.CommitEvents }).(pulumi.BoolOutput) } -// Create time. -func (o ServiceJiraOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +// The ISO8601 date/time that this integration was activated at in UTC. +func (o ProjectIntegrationJiraOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) } // Enable viewing Jira issues in GitLab. -func (o ServiceJiraOutput) IssuesEnabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.BoolPtrOutput { return v.IssuesEnabled }).(pulumi.BoolPtrOutput) +func (o ProjectIntegrationJiraOutput) IssuesEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.BoolOutput { return v.IssuesEnabled }).(pulumi.BoolOutput) } // The authentication method to be used with Jira. 0 means Basic Authentication. 1 means Jira personal access token. Defaults to 0. -func (o ServiceJiraOutput) JiraAuthType() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.IntPtrOutput { return v.JiraAuthType }).(pulumi.IntPtrOutput) +func (o ProjectIntegrationJiraOutput) JiraAuthType() pulumi.IntOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.IntOutput { return v.JiraAuthType }).(pulumi.IntOutput) } // Prefix to match Jira issue keys. -func (o ServiceJiraOutput) JiraIssuePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.StringPtrOutput { return v.JiraIssuePrefix }).(pulumi.StringPtrOutput) +func (o ProjectIntegrationJiraOutput) JiraIssuePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.StringOutput { return v.JiraIssuePrefix }).(pulumi.StringOutput) } // Regular expression to match Jira issue keys. -func (o ServiceJiraOutput) JiraIssueRegex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.StringPtrOutput { return v.JiraIssueRegex }).(pulumi.StringPtrOutput) +func (o ProjectIntegrationJiraOutput) JiraIssueRegex() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.StringOutput { return v.JiraIssueRegex }).(pulumi.StringOutput) } -func (o ServiceJiraOutput) JiraIssueTransitionAutomatic() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.BoolPtrOutput { return v.JiraIssueTransitionAutomatic }).(pulumi.BoolPtrOutput) +// Enable automatic issue transitions. Takes precedence over jira*issue*transition_id if enabled. Defaults to false. This value cannot be imported, and will not perform drift detection if changed outside Terraform. +func (o ProjectIntegrationJiraOutput) JiraIssueTransitionAutomatic() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.BoolPtrOutput { return v.JiraIssueTransitionAutomatic }).(pulumi.BoolPtrOutput) } // The ID of a transition that moves issues to a closed state. You can find this number under the JIRA workflow administration (Administration > Issues > Workflows) by selecting View under Operations of the desired workflow of your project. By default, this ID is set to 2. -func (o ServiceJiraOutput) JiraIssueTransitionId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.StringPtrOutput { return v.JiraIssueTransitionId }).(pulumi.StringPtrOutput) +func (o ProjectIntegrationJiraOutput) JiraIssueTransitionId() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.StringOutput { return v.JiraIssueTransitionId }).(pulumi.StringOutput) } // Enable notifications for merge request events -func (o ServiceJiraOutput) MergeRequestsEvents() pulumi.BoolOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.BoolOutput { return v.MergeRequestsEvents }).(pulumi.BoolOutput) +func (o ProjectIntegrationJiraOutput) MergeRequestsEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.BoolOutput { return v.MergeRequestsEvents }).(pulumi.BoolOutput) } // The Jira API token, password, or personal access token to be used with Jira. When your authentication method is basic (jira*auth*type is 0), use an API token for Jira Cloud or a password for Jira Data Center or Jira Server. When your authentication method is a Jira personal access token (jira*auth*type is 1), use the personal access token. -func (o ServiceJiraOutput) Password() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput) +func (o ProjectIntegrationJiraOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput) } // ID of the project you want to activate integration on. -func (o ServiceJiraOutput) Project() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) -} - -// The short identifier for your JIRA project. Must be all uppercase. For example, `PROJ`. -// -// Deprecated: `projectKey` is deprecated. Use `projectKeys` instead. -func (o ServiceJiraOutput) ProjectKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.StringPtrOutput { return v.ProjectKey }).(pulumi.StringPtrOutput) +func (o ProjectIntegrationJiraOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) } // Keys of Jira projects. When issuesEnabled is true, this setting specifies which Jira projects to view issues from in GitLab. -func (o ServiceJiraOutput) ProjectKeys() pulumi.StringArrayOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.StringArrayOutput { return v.ProjectKeys }).(pulumi.StringArrayOutput) +func (o ProjectIntegrationJiraOutput) ProjectKeys() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.StringArrayOutput { return v.ProjectKeys }).(pulumi.StringArrayOutput) } -// Title. -func (o ServiceJiraOutput) Title() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.StringOutput { return v.Title }).(pulumi.StringOutput) +// Title of the integration. +func (o ProjectIntegrationJiraOutput) Title() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.StringOutput { return v.Title }).(pulumi.StringOutput) } -// Update time. -func (o ServiceJiraOutput) UpdatedAt() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +// The ISO8601 date/time that this integration was last updated at in UTC. +func (o ProjectIntegrationJiraOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) } // The URL to the JIRA project which is being linked to this GitLab project. For example, https://jira.example.com. -func (o ServiceJiraOutput) Url() pulumi.StringOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +func (o ProjectIntegrationJiraOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) } // Indicates whether or not to inherit default settings. Defaults to false. -func (o ServiceJiraOutput) UseInheritedSettings() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.BoolPtrOutput { return v.UseInheritedSettings }).(pulumi.BoolPtrOutput) +func (o ProjectIntegrationJiraOutput) UseInheritedSettings() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.BoolOutput { return v.UseInheritedSettings }).(pulumi.BoolOutput) } // The email or username to be used with Jira. For Jira Cloud use an email, for Jira Data Center and Jira Server use a username. Required when using Basic authentication (jira*auth*type is 0). -func (o ServiceJiraOutput) Username() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceJira) pulumi.StringPtrOutput { return v.Username }).(pulumi.StringPtrOutput) +func (o ProjectIntegrationJiraOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationJira) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) } -type ServiceJiraArrayOutput struct{ *pulumi.OutputState } +type ProjectIntegrationJiraArrayOutput struct{ *pulumi.OutputState } -func (ServiceJiraArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ServiceJira)(nil)).Elem() +func (ProjectIntegrationJiraArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationJira)(nil)).Elem() } -func (o ServiceJiraArrayOutput) ToServiceJiraArrayOutput() ServiceJiraArrayOutput { +func (o ProjectIntegrationJiraArrayOutput) ToProjectIntegrationJiraArrayOutput() ProjectIntegrationJiraArrayOutput { return o } -func (o ServiceJiraArrayOutput) ToServiceJiraArrayOutputWithContext(ctx context.Context) ServiceJiraArrayOutput { +func (o ProjectIntegrationJiraArrayOutput) ToProjectIntegrationJiraArrayOutputWithContext(ctx context.Context) ProjectIntegrationJiraArrayOutput { return o } -func (o ServiceJiraArrayOutput) Index(i pulumi.IntInput) ServiceJiraOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ServiceJira { - return vs[0].([]*ServiceJira)[vs[1].(int)] - }).(ServiceJiraOutput) +func (o ProjectIntegrationJiraArrayOutput) Index(i pulumi.IntInput) ProjectIntegrationJiraOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectIntegrationJira { + return vs[0].([]*ProjectIntegrationJira)[vs[1].(int)] + }).(ProjectIntegrationJiraOutput) } -type ServiceJiraMapOutput struct{ *pulumi.OutputState } +type ProjectIntegrationJiraMapOutput struct{ *pulumi.OutputState } -func (ServiceJiraMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ServiceJira)(nil)).Elem() +func (ProjectIntegrationJiraMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationJira)(nil)).Elem() } -func (o ServiceJiraMapOutput) ToServiceJiraMapOutput() ServiceJiraMapOutput { +func (o ProjectIntegrationJiraMapOutput) ToProjectIntegrationJiraMapOutput() ProjectIntegrationJiraMapOutput { return o } -func (o ServiceJiraMapOutput) ToServiceJiraMapOutputWithContext(ctx context.Context) ServiceJiraMapOutput { +func (o ProjectIntegrationJiraMapOutput) ToProjectIntegrationJiraMapOutputWithContext(ctx context.Context) ProjectIntegrationJiraMapOutput { return o } -func (o ServiceJiraMapOutput) MapIndex(k pulumi.StringInput) ServiceJiraOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ServiceJira { - return vs[0].(map[string]*ServiceJira)[vs[1].(string)] - }).(ServiceJiraOutput) +func (o ProjectIntegrationJiraMapOutput) MapIndex(k pulumi.StringInput) ProjectIntegrationJiraOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectIntegrationJira { + return vs[0].(map[string]*ProjectIntegrationJira)[vs[1].(string)] + }).(ProjectIntegrationJiraOutput) } func init() { - pulumi.RegisterInputType(reflect.TypeOf((*ServiceJiraInput)(nil)).Elem(), &ServiceJira{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceJiraArrayInput)(nil)).Elem(), ServiceJiraArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceJiraMapInput)(nil)).Elem(), ServiceJiraMap{}) - pulumi.RegisterOutputType(ServiceJiraOutput{}) - pulumi.RegisterOutputType(ServiceJiraArrayOutput{}) - pulumi.RegisterOutputType(ServiceJiraMapOutput{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationJiraInput)(nil)).Elem(), &ProjectIntegrationJira{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationJiraArrayInput)(nil)).Elem(), ProjectIntegrationJiraArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationJiraMapInput)(nil)).Elem(), ProjectIntegrationJiraMap{}) + pulumi.RegisterOutputType(ProjectIntegrationJiraOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationJiraArrayOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationJiraMapOutput{}) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationMatrix.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationMatrix.go new file mode 100644 index 000000000..2b061dc19 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationMatrix.go @@ -0,0 +1,508 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectIntegrationMatrix` resource manages the lifecycle of a project integration with Matrix. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#matrix-notifications) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("awesome_project"), +// Description: pulumi.String("My awesome project."), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectIntegrationMatrix(ctx, "matrix", &gitlab.ProjectIntegrationMatrixArgs{ +// Project: awesomeProject.ID(), +// Hostname: pulumi.String("https://matrix.org"), +// Token: pulumi.String("your-matrix-token"), +// Room: pulumi.String("!abcdefg:matrix.org"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIntegrationMatrix`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import a ProjectIntegrationMatrix state using the project ID, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectIntegrationMatrix:ProjectIntegrationMatrix matrix 1 +// ``` +type ProjectIntegrationMatrix struct { + pulumi.CustomResourceState + + // Branches to send notifications for. Valid options are: `all`, `default`, `protected`, `defaultAndProtected`. The default value is "default" + BranchesToBeNotified pulumi.StringOutput `pulumi:"branchesToBeNotified"` + // Enable notifications for confidential issue events. + ConfidentialIssuesEvents pulumi.BoolOutput `pulumi:"confidentialIssuesEvents"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolOutput `pulumi:"confidentialNoteEvents"` + // Custom hostname of the Matrix server. The default value is "https://matrix.org". + Hostname pulumi.StringOutput `pulumi:"hostname"` + // Enable notifications for issue events. + IssuesEvents pulumi.BoolOutput `pulumi:"issuesEvents"` + // Enable notifications for merge request events. + MergeRequestsEvents pulumi.BoolOutput `pulumi:"mergeRequestsEvents"` + // Enable notifications for note events. + NoteEvents pulumi.BoolOutput `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolOutput `pulumi:"notifyOnlyBrokenPipelines"` + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolOutput `pulumi:"pipelineEvents"` + // The ID or full path of the project to integrate with Matrix. + Project pulumi.StringOutput `pulumi:"project"` + // Enable notifications for push events. + PushEvents pulumi.BoolOutput `pulumi:"pushEvents"` + // Unique identifier for the target room (in the format `!qPKKM111FFKKsfoCVy:matrix.org`). + Room pulumi.StringOutput `pulumi:"room"` + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolOutput `pulumi:"tagPushEvents"` + // The Matrix access token (for example, syt-zyx57W2v1u123ew11). + Token pulumi.StringOutput `pulumi:"token"` + // Indicates whether to inherit the default settings. Defaults to `false`. + UseInheritedSettings pulumi.BoolOutput `pulumi:"useInheritedSettings"` + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolOutput `pulumi:"wikiPageEvents"` +} + +// NewProjectIntegrationMatrix registers a new resource with the given unique name, arguments, and options. +func NewProjectIntegrationMatrix(ctx *pulumi.Context, + name string, args *ProjectIntegrationMatrixArgs, opts ...pulumi.ResourceOption) (*ProjectIntegrationMatrix, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.Room == nil { + return nil, errors.New("invalid value for required argument 'Room'") + } + if args.Token == nil { + return nil, errors.New("invalid value for required argument 'Token'") + } + if args.Token != nil { + args.Token = pulumi.ToSecret(args.Token).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "token", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectIntegrationMatrix + err := ctx.RegisterResource("gitlab:index/projectIntegrationMatrix:ProjectIntegrationMatrix", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectIntegrationMatrix gets an existing ProjectIntegrationMatrix resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectIntegrationMatrix(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectIntegrationMatrixState, opts ...pulumi.ResourceOption) (*ProjectIntegrationMatrix, error) { + var resource ProjectIntegrationMatrix + err := ctx.ReadResource("gitlab:index/projectIntegrationMatrix:ProjectIntegrationMatrix", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectIntegrationMatrix resources. +type projectIntegrationMatrixState struct { + // Branches to send notifications for. Valid options are: `all`, `default`, `protected`, `defaultAndProtected`. The default value is "default" + BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` + // Enable notifications for confidential issue events. + ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` + // Custom hostname of the Matrix server. The default value is "https://matrix.org". + Hostname *string `pulumi:"hostname"` + // Enable notifications for issue events. + IssuesEvents *bool `pulumi:"issuesEvents"` + // Enable notifications for merge request events. + MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` + // Enable notifications for note events. + NoteEvents *bool `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` + // Enable notifications for pipeline events. + PipelineEvents *bool `pulumi:"pipelineEvents"` + // The ID or full path of the project to integrate with Matrix. + Project *string `pulumi:"project"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // Unique identifier for the target room (in the format `!qPKKM111FFKKsfoCVy:matrix.org`). + Room *string `pulumi:"room"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` + // The Matrix access token (for example, syt-zyx57W2v1u123ew11). + Token *string `pulumi:"token"` + // Indicates whether to inherit the default settings. Defaults to `false`. + UseInheritedSettings *bool `pulumi:"useInheritedSettings"` + // Enable notifications for wiki page events. + WikiPageEvents *bool `pulumi:"wikiPageEvents"` +} + +type ProjectIntegrationMatrixState struct { + // Branches to send notifications for. Valid options are: `all`, `default`, `protected`, `defaultAndProtected`. The default value is "default" + BranchesToBeNotified pulumi.StringPtrInput + // Enable notifications for confidential issue events. + ConfidentialIssuesEvents pulumi.BoolPtrInput + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolPtrInput + // Custom hostname of the Matrix server. The default value is "https://matrix.org". + Hostname pulumi.StringPtrInput + // Enable notifications for issue events. + IssuesEvents pulumi.BoolPtrInput + // Enable notifications for merge request events. + MergeRequestsEvents pulumi.BoolPtrInput + // Enable notifications for note events. + NoteEvents pulumi.BoolPtrInput + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolPtrInput + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolPtrInput + // The ID or full path of the project to integrate with Matrix. + Project pulumi.StringPtrInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // Unique identifier for the target room (in the format `!qPKKM111FFKKsfoCVy:matrix.org`). + Room pulumi.StringPtrInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput + // The Matrix access token (for example, syt-zyx57W2v1u123ew11). + Token pulumi.StringPtrInput + // Indicates whether to inherit the default settings. Defaults to `false`. + UseInheritedSettings pulumi.BoolPtrInput + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolPtrInput +} + +func (ProjectIntegrationMatrixState) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationMatrixState)(nil)).Elem() +} + +type projectIntegrationMatrixArgs struct { + // Branches to send notifications for. Valid options are: `all`, `default`, `protected`, `defaultAndProtected`. The default value is "default" + BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` + // Enable notifications for confidential issue events. + ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` + // Custom hostname of the Matrix server. The default value is "https://matrix.org". + Hostname *string `pulumi:"hostname"` + // Enable notifications for issue events. + IssuesEvents *bool `pulumi:"issuesEvents"` + // Enable notifications for merge request events. + MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` + // Enable notifications for note events. + NoteEvents *bool `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` + // Enable notifications for pipeline events. + PipelineEvents *bool `pulumi:"pipelineEvents"` + // The ID or full path of the project to integrate with Matrix. + Project string `pulumi:"project"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // Unique identifier for the target room (in the format `!qPKKM111FFKKsfoCVy:matrix.org`). + Room string `pulumi:"room"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` + // The Matrix access token (for example, syt-zyx57W2v1u123ew11). + Token string `pulumi:"token"` + // Indicates whether to inherit the default settings. Defaults to `false`. + UseInheritedSettings *bool `pulumi:"useInheritedSettings"` + // Enable notifications for wiki page events. + WikiPageEvents *bool `pulumi:"wikiPageEvents"` +} + +// The set of arguments for constructing a ProjectIntegrationMatrix resource. +type ProjectIntegrationMatrixArgs struct { + // Branches to send notifications for. Valid options are: `all`, `default`, `protected`, `defaultAndProtected`. The default value is "default" + BranchesToBeNotified pulumi.StringPtrInput + // Enable notifications for confidential issue events. + ConfidentialIssuesEvents pulumi.BoolPtrInput + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolPtrInput + // Custom hostname of the Matrix server. The default value is "https://matrix.org". + Hostname pulumi.StringPtrInput + // Enable notifications for issue events. + IssuesEvents pulumi.BoolPtrInput + // Enable notifications for merge request events. + MergeRequestsEvents pulumi.BoolPtrInput + // Enable notifications for note events. + NoteEvents pulumi.BoolPtrInput + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolPtrInput + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolPtrInput + // The ID or full path of the project to integrate with Matrix. + Project pulumi.StringInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // Unique identifier for the target room (in the format `!qPKKM111FFKKsfoCVy:matrix.org`). + Room pulumi.StringInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput + // The Matrix access token (for example, syt-zyx57W2v1u123ew11). + Token pulumi.StringInput + // Indicates whether to inherit the default settings. Defaults to `false`. + UseInheritedSettings pulumi.BoolPtrInput + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolPtrInput +} + +func (ProjectIntegrationMatrixArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationMatrixArgs)(nil)).Elem() +} + +type ProjectIntegrationMatrixInput interface { + pulumi.Input + + ToProjectIntegrationMatrixOutput() ProjectIntegrationMatrixOutput + ToProjectIntegrationMatrixOutputWithContext(ctx context.Context) ProjectIntegrationMatrixOutput +} + +func (*ProjectIntegrationMatrix) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationMatrix)(nil)).Elem() +} + +func (i *ProjectIntegrationMatrix) ToProjectIntegrationMatrixOutput() ProjectIntegrationMatrixOutput { + return i.ToProjectIntegrationMatrixOutputWithContext(context.Background()) +} + +func (i *ProjectIntegrationMatrix) ToProjectIntegrationMatrixOutputWithContext(ctx context.Context) ProjectIntegrationMatrixOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationMatrixOutput) +} + +// ProjectIntegrationMatrixArrayInput is an input type that accepts ProjectIntegrationMatrixArray and ProjectIntegrationMatrixArrayOutput values. +// You can construct a concrete instance of `ProjectIntegrationMatrixArrayInput` via: +// +// ProjectIntegrationMatrixArray{ ProjectIntegrationMatrixArgs{...} } +type ProjectIntegrationMatrixArrayInput interface { + pulumi.Input + + ToProjectIntegrationMatrixArrayOutput() ProjectIntegrationMatrixArrayOutput + ToProjectIntegrationMatrixArrayOutputWithContext(context.Context) ProjectIntegrationMatrixArrayOutput +} + +type ProjectIntegrationMatrixArray []ProjectIntegrationMatrixInput + +func (ProjectIntegrationMatrixArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationMatrix)(nil)).Elem() +} + +func (i ProjectIntegrationMatrixArray) ToProjectIntegrationMatrixArrayOutput() ProjectIntegrationMatrixArrayOutput { + return i.ToProjectIntegrationMatrixArrayOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationMatrixArray) ToProjectIntegrationMatrixArrayOutputWithContext(ctx context.Context) ProjectIntegrationMatrixArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationMatrixArrayOutput) +} + +// ProjectIntegrationMatrixMapInput is an input type that accepts ProjectIntegrationMatrixMap and ProjectIntegrationMatrixMapOutput values. +// You can construct a concrete instance of `ProjectIntegrationMatrixMapInput` via: +// +// ProjectIntegrationMatrixMap{ "key": ProjectIntegrationMatrixArgs{...} } +type ProjectIntegrationMatrixMapInput interface { + pulumi.Input + + ToProjectIntegrationMatrixMapOutput() ProjectIntegrationMatrixMapOutput + ToProjectIntegrationMatrixMapOutputWithContext(context.Context) ProjectIntegrationMatrixMapOutput +} + +type ProjectIntegrationMatrixMap map[string]ProjectIntegrationMatrixInput + +func (ProjectIntegrationMatrixMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationMatrix)(nil)).Elem() +} + +func (i ProjectIntegrationMatrixMap) ToProjectIntegrationMatrixMapOutput() ProjectIntegrationMatrixMapOutput { + return i.ToProjectIntegrationMatrixMapOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationMatrixMap) ToProjectIntegrationMatrixMapOutputWithContext(ctx context.Context) ProjectIntegrationMatrixMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationMatrixMapOutput) +} + +type ProjectIntegrationMatrixOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationMatrixOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationMatrix)(nil)).Elem() +} + +func (o ProjectIntegrationMatrixOutput) ToProjectIntegrationMatrixOutput() ProjectIntegrationMatrixOutput { + return o +} + +func (o ProjectIntegrationMatrixOutput) ToProjectIntegrationMatrixOutputWithContext(ctx context.Context) ProjectIntegrationMatrixOutput { + return o +} + +// Branches to send notifications for. Valid options are: `all`, `default`, `protected`, `defaultAndProtected`. The default value is "default" +func (o ProjectIntegrationMatrixOutput) BranchesToBeNotified() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMatrix) pulumi.StringOutput { return v.BranchesToBeNotified }).(pulumi.StringOutput) +} + +// Enable notifications for confidential issue events. +func (o ProjectIntegrationMatrixOutput) ConfidentialIssuesEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMatrix) pulumi.BoolOutput { return v.ConfidentialIssuesEvents }).(pulumi.BoolOutput) +} + +// Enable notifications for confidential note events. +func (o ProjectIntegrationMatrixOutput) ConfidentialNoteEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMatrix) pulumi.BoolOutput { return v.ConfidentialNoteEvents }).(pulumi.BoolOutput) +} + +// Custom hostname of the Matrix server. The default value is "https://matrix.org". +func (o ProjectIntegrationMatrixOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMatrix) pulumi.StringOutput { return v.Hostname }).(pulumi.StringOutput) +} + +// Enable notifications for issue events. +func (o ProjectIntegrationMatrixOutput) IssuesEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMatrix) pulumi.BoolOutput { return v.IssuesEvents }).(pulumi.BoolOutput) +} + +// Enable notifications for merge request events. +func (o ProjectIntegrationMatrixOutput) MergeRequestsEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMatrix) pulumi.BoolOutput { return v.MergeRequestsEvents }).(pulumi.BoolOutput) +} + +// Enable notifications for note events. +func (o ProjectIntegrationMatrixOutput) NoteEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMatrix) pulumi.BoolOutput { return v.NoteEvents }).(pulumi.BoolOutput) +} + +// Send notifications for broken pipelines. +func (o ProjectIntegrationMatrixOutput) NotifyOnlyBrokenPipelines() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMatrix) pulumi.BoolOutput { return v.NotifyOnlyBrokenPipelines }).(pulumi.BoolOutput) +} + +// Enable notifications for pipeline events. +func (o ProjectIntegrationMatrixOutput) PipelineEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMatrix) pulumi.BoolOutput { return v.PipelineEvents }).(pulumi.BoolOutput) +} + +// The ID or full path of the project to integrate with Matrix. +func (o ProjectIntegrationMatrixOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMatrix) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Enable notifications for push events. +func (o ProjectIntegrationMatrixOutput) PushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMatrix) pulumi.BoolOutput { return v.PushEvents }).(pulumi.BoolOutput) +} + +// Unique identifier for the target room (in the format `!qPKKM111FFKKsfoCVy:matrix.org`). +func (o ProjectIntegrationMatrixOutput) Room() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMatrix) pulumi.StringOutput { return v.Room }).(pulumi.StringOutput) +} + +// Enable notifications for tag push events. +func (o ProjectIntegrationMatrixOutput) TagPushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMatrix) pulumi.BoolOutput { return v.TagPushEvents }).(pulumi.BoolOutput) +} + +// The Matrix access token (for example, syt-zyx57W2v1u123ew11). +func (o ProjectIntegrationMatrixOutput) Token() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMatrix) pulumi.StringOutput { return v.Token }).(pulumi.StringOutput) +} + +// Indicates whether to inherit the default settings. Defaults to `false`. +func (o ProjectIntegrationMatrixOutput) UseInheritedSettings() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMatrix) pulumi.BoolOutput { return v.UseInheritedSettings }).(pulumi.BoolOutput) +} + +// Enable notifications for wiki page events. +func (o ProjectIntegrationMatrixOutput) WikiPageEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMatrix) pulumi.BoolOutput { return v.WikiPageEvents }).(pulumi.BoolOutput) +} + +type ProjectIntegrationMatrixArrayOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationMatrixArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationMatrix)(nil)).Elem() +} + +func (o ProjectIntegrationMatrixArrayOutput) ToProjectIntegrationMatrixArrayOutput() ProjectIntegrationMatrixArrayOutput { + return o +} + +func (o ProjectIntegrationMatrixArrayOutput) ToProjectIntegrationMatrixArrayOutputWithContext(ctx context.Context) ProjectIntegrationMatrixArrayOutput { + return o +} + +func (o ProjectIntegrationMatrixArrayOutput) Index(i pulumi.IntInput) ProjectIntegrationMatrixOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectIntegrationMatrix { + return vs[0].([]*ProjectIntegrationMatrix)[vs[1].(int)] + }).(ProjectIntegrationMatrixOutput) +} + +type ProjectIntegrationMatrixMapOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationMatrixMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationMatrix)(nil)).Elem() +} + +func (o ProjectIntegrationMatrixMapOutput) ToProjectIntegrationMatrixMapOutput() ProjectIntegrationMatrixMapOutput { + return o +} + +func (o ProjectIntegrationMatrixMapOutput) ToProjectIntegrationMatrixMapOutputWithContext(ctx context.Context) ProjectIntegrationMatrixMapOutput { + return o +} + +func (o ProjectIntegrationMatrixMapOutput) MapIndex(k pulumi.StringInput) ProjectIntegrationMatrixOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectIntegrationMatrix { + return vs[0].(map[string]*ProjectIntegrationMatrix)[vs[1].(string)] + }).(ProjectIntegrationMatrixOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationMatrixInput)(nil)).Elem(), &ProjectIntegrationMatrix{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationMatrixArrayInput)(nil)).Elem(), ProjectIntegrationMatrixArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationMatrixMapInput)(nil)).Elem(), ProjectIntegrationMatrixMap{}) + pulumi.RegisterOutputType(ProjectIntegrationMatrixOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationMatrixArrayOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationMatrixMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationMattermost.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationMattermost.go new file mode 100644 index 000000000..c5cceefe2 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationMattermost.go @@ -0,0 +1,611 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectIntegrationMattermost` resource manages the lifecycle of a project integration with Mattermost. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#mattermost-notifications) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("awesome_project"), +// Description: pulumi.String("My awesome project."), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectIntegrationMattermost(ctx, "mattermost", &gitlab.ProjectIntegrationMattermostArgs{ +// Project: awesomeProject.ID(), +// Webhook: pulumi.String("https://webhook.com"), +// Username: pulumi.String("myuser"), +// PushEvents: pulumi.Bool(true), +// PushChannel: pulumi.String("push_chan"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIntegrationMattermost`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import a gitlab_project_integration_mattermost.mattermost state using the project ID, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectIntegrationMattermost:ProjectIntegrationMattermost mattermost 1 +// ``` +type ProjectIntegrationMattermost struct { + pulumi.CustomResourceState + + // Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. + BranchesToBeNotified pulumi.StringOutput `pulumi:"branchesToBeNotified"` + // The name of the channel to receive confidential issue events notifications. + ConfidentialIssueChannel pulumi.StringOutput `pulumi:"confidentialIssueChannel"` + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents pulumi.BoolOutput `pulumi:"confidentialIssuesEvents"` + // The name of the channel to receive confidential note events notifications. + ConfidentialNoteChannel pulumi.StringOutput `pulumi:"confidentialNoteChannel"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolOutput `pulumi:"confidentialNoteEvents"` + // The name of the channel to receive issue events notifications. + IssueChannel pulumi.StringOutput `pulumi:"issueChannel"` + // Enable notifications for issues events. + IssuesEvents pulumi.BoolOutput `pulumi:"issuesEvents"` + // The name of the channel to receive merge request events notifications. + MergeRequestChannel pulumi.StringOutput `pulumi:"mergeRequestChannel"` + // Enable notifications for merge requests events. + MergeRequestsEvents pulumi.BoolOutput `pulumi:"mergeRequestsEvents"` + // The name of the channel to receive note events notifications. + NoteChannel pulumi.StringOutput `pulumi:"noteChannel"` + // Enable notifications for note events. + NoteEvents pulumi.BoolOutput `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolOutput `pulumi:"notifyOnlyBrokenPipelines"` + // The name of the channel to receive pipeline events notifications. + PipelineChannel pulumi.StringOutput `pulumi:"pipelineChannel"` + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolOutput `pulumi:"pipelineEvents"` + // ID of the project you want to activate integration on. + Project pulumi.StringOutput `pulumi:"project"` + // The name of the channel to receive push events notifications. + PushChannel pulumi.StringOutput `pulumi:"pushChannel"` + // Enable notifications for push events. + PushEvents pulumi.BoolOutput `pulumi:"pushEvents"` + // The name of the channel to receive tag push events notifications. + TagPushChannel pulumi.StringOutput `pulumi:"tagPushChannel"` + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolOutput `pulumi:"tagPushEvents"` + // Username to use. + Username pulumi.StringOutput `pulumi:"username"` + // Webhook URL (Example, https://mattermost.yourdomain.com/hooks/...). This value cannot be imported. + Webhook pulumi.StringOutput `pulumi:"webhook"` + // The name of the channel to receive wiki page events notifications. + WikiPageChannel pulumi.StringOutput `pulumi:"wikiPageChannel"` + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolOutput `pulumi:"wikiPageEvents"` +} + +// NewProjectIntegrationMattermost registers a new resource with the given unique name, arguments, and options. +func NewProjectIntegrationMattermost(ctx *pulumi.Context, + name string, args *ProjectIntegrationMattermostArgs, opts ...pulumi.ResourceOption) (*ProjectIntegrationMattermost, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.Webhook == nil { + return nil, errors.New("invalid value for required argument 'Webhook'") + } + if args.Webhook != nil { + args.Webhook = pulumi.ToSecret(args.Webhook).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "webhook", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectIntegrationMattermost + err := ctx.RegisterResource("gitlab:index/projectIntegrationMattermost:ProjectIntegrationMattermost", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectIntegrationMattermost gets an existing ProjectIntegrationMattermost resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectIntegrationMattermost(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectIntegrationMattermostState, opts ...pulumi.ResourceOption) (*ProjectIntegrationMattermost, error) { + var resource ProjectIntegrationMattermost + err := ctx.ReadResource("gitlab:index/projectIntegrationMattermost:ProjectIntegrationMattermost", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectIntegrationMattermost resources. +type projectIntegrationMattermostState struct { + // Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. + BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` + // The name of the channel to receive confidential issue events notifications. + ConfidentialIssueChannel *string `pulumi:"confidentialIssueChannel"` + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` + // The name of the channel to receive confidential note events notifications. + ConfidentialNoteChannel *string `pulumi:"confidentialNoteChannel"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` + // The name of the channel to receive issue events notifications. + IssueChannel *string `pulumi:"issueChannel"` + // Enable notifications for issues events. + IssuesEvents *bool `pulumi:"issuesEvents"` + // The name of the channel to receive merge request events notifications. + MergeRequestChannel *string `pulumi:"mergeRequestChannel"` + // Enable notifications for merge requests events. + MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` + // The name of the channel to receive note events notifications. + NoteChannel *string `pulumi:"noteChannel"` + // Enable notifications for note events. + NoteEvents *bool `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` + // The name of the channel to receive pipeline events notifications. + PipelineChannel *string `pulumi:"pipelineChannel"` + // Enable notifications for pipeline events. + PipelineEvents *bool `pulumi:"pipelineEvents"` + // ID of the project you want to activate integration on. + Project *string `pulumi:"project"` + // The name of the channel to receive push events notifications. + PushChannel *string `pulumi:"pushChannel"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // The name of the channel to receive tag push events notifications. + TagPushChannel *string `pulumi:"tagPushChannel"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` + // Username to use. + Username *string `pulumi:"username"` + // Webhook URL (Example, https://mattermost.yourdomain.com/hooks/...). This value cannot be imported. + Webhook *string `pulumi:"webhook"` + // The name of the channel to receive wiki page events notifications. + WikiPageChannel *string `pulumi:"wikiPageChannel"` + // Enable notifications for wiki page events. + WikiPageEvents *bool `pulumi:"wikiPageEvents"` +} + +type ProjectIntegrationMattermostState struct { + // Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. + BranchesToBeNotified pulumi.StringPtrInput + // The name of the channel to receive confidential issue events notifications. + ConfidentialIssueChannel pulumi.StringPtrInput + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents pulumi.BoolPtrInput + // The name of the channel to receive confidential note events notifications. + ConfidentialNoteChannel pulumi.StringPtrInput + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolPtrInput + // The name of the channel to receive issue events notifications. + IssueChannel pulumi.StringPtrInput + // Enable notifications for issues events. + IssuesEvents pulumi.BoolPtrInput + // The name of the channel to receive merge request events notifications. + MergeRequestChannel pulumi.StringPtrInput + // Enable notifications for merge requests events. + MergeRequestsEvents pulumi.BoolPtrInput + // The name of the channel to receive note events notifications. + NoteChannel pulumi.StringPtrInput + // Enable notifications for note events. + NoteEvents pulumi.BoolPtrInput + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolPtrInput + // The name of the channel to receive pipeline events notifications. + PipelineChannel pulumi.StringPtrInput + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolPtrInput + // ID of the project you want to activate integration on. + Project pulumi.StringPtrInput + // The name of the channel to receive push events notifications. + PushChannel pulumi.StringPtrInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // The name of the channel to receive tag push events notifications. + TagPushChannel pulumi.StringPtrInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput + // Username to use. + Username pulumi.StringPtrInput + // Webhook URL (Example, https://mattermost.yourdomain.com/hooks/...). This value cannot be imported. + Webhook pulumi.StringPtrInput + // The name of the channel to receive wiki page events notifications. + WikiPageChannel pulumi.StringPtrInput + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolPtrInput +} + +func (ProjectIntegrationMattermostState) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationMattermostState)(nil)).Elem() +} + +type projectIntegrationMattermostArgs struct { + // Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. + BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` + // The name of the channel to receive confidential issue events notifications. + ConfidentialIssueChannel *string `pulumi:"confidentialIssueChannel"` + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` + // The name of the channel to receive confidential note events notifications. + ConfidentialNoteChannel *string `pulumi:"confidentialNoteChannel"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` + // The name of the channel to receive issue events notifications. + IssueChannel *string `pulumi:"issueChannel"` + // Enable notifications for issues events. + IssuesEvents *bool `pulumi:"issuesEvents"` + // The name of the channel to receive merge request events notifications. + MergeRequestChannel *string `pulumi:"mergeRequestChannel"` + // Enable notifications for merge requests events. + MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` + // The name of the channel to receive note events notifications. + NoteChannel *string `pulumi:"noteChannel"` + // Enable notifications for note events. + NoteEvents *bool `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` + // The name of the channel to receive pipeline events notifications. + PipelineChannel *string `pulumi:"pipelineChannel"` + // Enable notifications for pipeline events. + PipelineEvents *bool `pulumi:"pipelineEvents"` + // ID of the project you want to activate integration on. + Project string `pulumi:"project"` + // The name of the channel to receive push events notifications. + PushChannel *string `pulumi:"pushChannel"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // The name of the channel to receive tag push events notifications. + TagPushChannel *string `pulumi:"tagPushChannel"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` + // Username to use. + Username *string `pulumi:"username"` + // Webhook URL (Example, https://mattermost.yourdomain.com/hooks/...). This value cannot be imported. + Webhook string `pulumi:"webhook"` + // The name of the channel to receive wiki page events notifications. + WikiPageChannel *string `pulumi:"wikiPageChannel"` + // Enable notifications for wiki page events. + WikiPageEvents *bool `pulumi:"wikiPageEvents"` +} + +// The set of arguments for constructing a ProjectIntegrationMattermost resource. +type ProjectIntegrationMattermostArgs struct { + // Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. + BranchesToBeNotified pulumi.StringPtrInput + // The name of the channel to receive confidential issue events notifications. + ConfidentialIssueChannel pulumi.StringPtrInput + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents pulumi.BoolPtrInput + // The name of the channel to receive confidential note events notifications. + ConfidentialNoteChannel pulumi.StringPtrInput + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolPtrInput + // The name of the channel to receive issue events notifications. + IssueChannel pulumi.StringPtrInput + // Enable notifications for issues events. + IssuesEvents pulumi.BoolPtrInput + // The name of the channel to receive merge request events notifications. + MergeRequestChannel pulumi.StringPtrInput + // Enable notifications for merge requests events. + MergeRequestsEvents pulumi.BoolPtrInput + // The name of the channel to receive note events notifications. + NoteChannel pulumi.StringPtrInput + // Enable notifications for note events. + NoteEvents pulumi.BoolPtrInput + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolPtrInput + // The name of the channel to receive pipeline events notifications. + PipelineChannel pulumi.StringPtrInput + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolPtrInput + // ID of the project you want to activate integration on. + Project pulumi.StringInput + // The name of the channel to receive push events notifications. + PushChannel pulumi.StringPtrInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // The name of the channel to receive tag push events notifications. + TagPushChannel pulumi.StringPtrInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput + // Username to use. + Username pulumi.StringPtrInput + // Webhook URL (Example, https://mattermost.yourdomain.com/hooks/...). This value cannot be imported. + Webhook pulumi.StringInput + // The name of the channel to receive wiki page events notifications. + WikiPageChannel pulumi.StringPtrInput + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolPtrInput +} + +func (ProjectIntegrationMattermostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationMattermostArgs)(nil)).Elem() +} + +type ProjectIntegrationMattermostInput interface { + pulumi.Input + + ToProjectIntegrationMattermostOutput() ProjectIntegrationMattermostOutput + ToProjectIntegrationMattermostOutputWithContext(ctx context.Context) ProjectIntegrationMattermostOutput +} + +func (*ProjectIntegrationMattermost) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationMattermost)(nil)).Elem() +} + +func (i *ProjectIntegrationMattermost) ToProjectIntegrationMattermostOutput() ProjectIntegrationMattermostOutput { + return i.ToProjectIntegrationMattermostOutputWithContext(context.Background()) +} + +func (i *ProjectIntegrationMattermost) ToProjectIntegrationMattermostOutputWithContext(ctx context.Context) ProjectIntegrationMattermostOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationMattermostOutput) +} + +// ProjectIntegrationMattermostArrayInput is an input type that accepts ProjectIntegrationMattermostArray and ProjectIntegrationMattermostArrayOutput values. +// You can construct a concrete instance of `ProjectIntegrationMattermostArrayInput` via: +// +// ProjectIntegrationMattermostArray{ ProjectIntegrationMattermostArgs{...} } +type ProjectIntegrationMattermostArrayInput interface { + pulumi.Input + + ToProjectIntegrationMattermostArrayOutput() ProjectIntegrationMattermostArrayOutput + ToProjectIntegrationMattermostArrayOutputWithContext(context.Context) ProjectIntegrationMattermostArrayOutput +} + +type ProjectIntegrationMattermostArray []ProjectIntegrationMattermostInput + +func (ProjectIntegrationMattermostArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationMattermost)(nil)).Elem() +} + +func (i ProjectIntegrationMattermostArray) ToProjectIntegrationMattermostArrayOutput() ProjectIntegrationMattermostArrayOutput { + return i.ToProjectIntegrationMattermostArrayOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationMattermostArray) ToProjectIntegrationMattermostArrayOutputWithContext(ctx context.Context) ProjectIntegrationMattermostArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationMattermostArrayOutput) +} + +// ProjectIntegrationMattermostMapInput is an input type that accepts ProjectIntegrationMattermostMap and ProjectIntegrationMattermostMapOutput values. +// You can construct a concrete instance of `ProjectIntegrationMattermostMapInput` via: +// +// ProjectIntegrationMattermostMap{ "key": ProjectIntegrationMattermostArgs{...} } +type ProjectIntegrationMattermostMapInput interface { + pulumi.Input + + ToProjectIntegrationMattermostMapOutput() ProjectIntegrationMattermostMapOutput + ToProjectIntegrationMattermostMapOutputWithContext(context.Context) ProjectIntegrationMattermostMapOutput +} + +type ProjectIntegrationMattermostMap map[string]ProjectIntegrationMattermostInput + +func (ProjectIntegrationMattermostMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationMattermost)(nil)).Elem() +} + +func (i ProjectIntegrationMattermostMap) ToProjectIntegrationMattermostMapOutput() ProjectIntegrationMattermostMapOutput { + return i.ToProjectIntegrationMattermostMapOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationMattermostMap) ToProjectIntegrationMattermostMapOutputWithContext(ctx context.Context) ProjectIntegrationMattermostMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationMattermostMapOutput) +} + +type ProjectIntegrationMattermostOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationMattermostOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationMattermost)(nil)).Elem() +} + +func (o ProjectIntegrationMattermostOutput) ToProjectIntegrationMattermostOutput() ProjectIntegrationMattermostOutput { + return o +} + +func (o ProjectIntegrationMattermostOutput) ToProjectIntegrationMattermostOutputWithContext(ctx context.Context) ProjectIntegrationMattermostOutput { + return o +} + +// Branches to send notifications for. Valid values are `all`, `default`, `protected`, `defaultAndProtected`. +func (o ProjectIntegrationMattermostOutput) BranchesToBeNotified() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.StringOutput { return v.BranchesToBeNotified }).(pulumi.StringOutput) +} + +// The name of the channel to receive confidential issue events notifications. +func (o ProjectIntegrationMattermostOutput) ConfidentialIssueChannel() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.StringOutput { return v.ConfidentialIssueChannel }).(pulumi.StringOutput) +} + +// Enable notifications for confidential issues events. +func (o ProjectIntegrationMattermostOutput) ConfidentialIssuesEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.BoolOutput { return v.ConfidentialIssuesEvents }).(pulumi.BoolOutput) +} + +// The name of the channel to receive confidential note events notifications. +func (o ProjectIntegrationMattermostOutput) ConfidentialNoteChannel() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.StringOutput { return v.ConfidentialNoteChannel }).(pulumi.StringOutput) +} + +// Enable notifications for confidential note events. +func (o ProjectIntegrationMattermostOutput) ConfidentialNoteEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.BoolOutput { return v.ConfidentialNoteEvents }).(pulumi.BoolOutput) +} + +// The name of the channel to receive issue events notifications. +func (o ProjectIntegrationMattermostOutput) IssueChannel() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.StringOutput { return v.IssueChannel }).(pulumi.StringOutput) +} + +// Enable notifications for issues events. +func (o ProjectIntegrationMattermostOutput) IssuesEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.BoolOutput { return v.IssuesEvents }).(pulumi.BoolOutput) +} + +// The name of the channel to receive merge request events notifications. +func (o ProjectIntegrationMattermostOutput) MergeRequestChannel() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.StringOutput { return v.MergeRequestChannel }).(pulumi.StringOutput) +} + +// Enable notifications for merge requests events. +func (o ProjectIntegrationMattermostOutput) MergeRequestsEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.BoolOutput { return v.MergeRequestsEvents }).(pulumi.BoolOutput) +} + +// The name of the channel to receive note events notifications. +func (o ProjectIntegrationMattermostOutput) NoteChannel() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.StringOutput { return v.NoteChannel }).(pulumi.StringOutput) +} + +// Enable notifications for note events. +func (o ProjectIntegrationMattermostOutput) NoteEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.BoolOutput { return v.NoteEvents }).(pulumi.BoolOutput) +} + +// Send notifications for broken pipelines. +func (o ProjectIntegrationMattermostOutput) NotifyOnlyBrokenPipelines() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.BoolOutput { return v.NotifyOnlyBrokenPipelines }).(pulumi.BoolOutput) +} + +// The name of the channel to receive pipeline events notifications. +func (o ProjectIntegrationMattermostOutput) PipelineChannel() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.StringOutput { return v.PipelineChannel }).(pulumi.StringOutput) +} + +// Enable notifications for pipeline events. +func (o ProjectIntegrationMattermostOutput) PipelineEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.BoolOutput { return v.PipelineEvents }).(pulumi.BoolOutput) +} + +// ID of the project you want to activate integration on. +func (o ProjectIntegrationMattermostOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// The name of the channel to receive push events notifications. +func (o ProjectIntegrationMattermostOutput) PushChannel() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.StringOutput { return v.PushChannel }).(pulumi.StringOutput) +} + +// Enable notifications for push events. +func (o ProjectIntegrationMattermostOutput) PushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.BoolOutput { return v.PushEvents }).(pulumi.BoolOutput) +} + +// The name of the channel to receive tag push events notifications. +func (o ProjectIntegrationMattermostOutput) TagPushChannel() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.StringOutput { return v.TagPushChannel }).(pulumi.StringOutput) +} + +// Enable notifications for tag push events. +func (o ProjectIntegrationMattermostOutput) TagPushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.BoolOutput { return v.TagPushEvents }).(pulumi.BoolOutput) +} + +// Username to use. +func (o ProjectIntegrationMattermostOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) +} + +// Webhook URL (Example, https://mattermost.yourdomain.com/hooks/...). This value cannot be imported. +func (o ProjectIntegrationMattermostOutput) Webhook() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.StringOutput { return v.Webhook }).(pulumi.StringOutput) +} + +// The name of the channel to receive wiki page events notifications. +func (o ProjectIntegrationMattermostOutput) WikiPageChannel() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.StringOutput { return v.WikiPageChannel }).(pulumi.StringOutput) +} + +// Enable notifications for wiki page events. +func (o ProjectIntegrationMattermostOutput) WikiPageEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMattermost) pulumi.BoolOutput { return v.WikiPageEvents }).(pulumi.BoolOutput) +} + +type ProjectIntegrationMattermostArrayOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationMattermostArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationMattermost)(nil)).Elem() +} + +func (o ProjectIntegrationMattermostArrayOutput) ToProjectIntegrationMattermostArrayOutput() ProjectIntegrationMattermostArrayOutput { + return o +} + +func (o ProjectIntegrationMattermostArrayOutput) ToProjectIntegrationMattermostArrayOutputWithContext(ctx context.Context) ProjectIntegrationMattermostArrayOutput { + return o +} + +func (o ProjectIntegrationMattermostArrayOutput) Index(i pulumi.IntInput) ProjectIntegrationMattermostOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectIntegrationMattermost { + return vs[0].([]*ProjectIntegrationMattermost)[vs[1].(int)] + }).(ProjectIntegrationMattermostOutput) +} + +type ProjectIntegrationMattermostMapOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationMattermostMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationMattermost)(nil)).Elem() +} + +func (o ProjectIntegrationMattermostMapOutput) ToProjectIntegrationMattermostMapOutput() ProjectIntegrationMattermostMapOutput { + return o +} + +func (o ProjectIntegrationMattermostMapOutput) ToProjectIntegrationMattermostMapOutputWithContext(ctx context.Context) ProjectIntegrationMattermostMapOutput { + return o +} + +func (o ProjectIntegrationMattermostMapOutput) MapIndex(k pulumi.StringInput) ProjectIntegrationMattermostOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectIntegrationMattermost { + return vs[0].(map[string]*ProjectIntegrationMattermost)[vs[1].(string)] + }).(ProjectIntegrationMattermostOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationMattermostInput)(nil)).Elem(), &ProjectIntegrationMattermost{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationMattermostArrayInput)(nil)).Elem(), ProjectIntegrationMattermostArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationMattermostMapInput)(nil)).Elem(), ProjectIntegrationMattermostMap{}) + pulumi.RegisterOutputType(ProjectIntegrationMattermostOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationMattermostArrayOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationMattermostMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationMicrosoftTeams.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationMicrosoftTeams.go new file mode 100644 index 000000000..e58a19bb8 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationMicrosoftTeams.go @@ -0,0 +1,492 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectIntegrationMicrosoftTeams` resource manages the lifecycle of a project integration with Microsoft Teams. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#microsoft-teams-notifications) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("awesome_project"), +// Description: pulumi.String("My awesome project."), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectIntegrationMicrosoftTeams(ctx, "teams", &gitlab.ProjectIntegrationMicrosoftTeamsArgs{ +// Project: awesomeProject.ID(), +// Webhook: pulumi.String("https://testurl.com/?token=XYZ"), +// PushEvents: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIntegrationMicrosoftTeams`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import a ProjectIntegrationMicrosoftTeams state using the project ID, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectIntegrationMicrosoftTeams:ProjectIntegrationMicrosoftTeams teams 1 +// ``` +type ProjectIntegrationMicrosoftTeams struct { + pulumi.CustomResourceState + + // Whether the integration is active. + Active pulumi.BoolOutput `pulumi:"active"` + // Branches to send notifications for. Valid values are: `all`, `default`, `protected`, `defaultAndProtected` + BranchesToBeNotified pulumi.StringOutput `pulumi:"branchesToBeNotified"` + // Enable notifications for confidential issue events. + ConfidentialIssuesEvents pulumi.BoolOutput `pulumi:"confidentialIssuesEvents"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolOutput `pulumi:"confidentialNoteEvents"` + // The ISO8601 date/time that this integration was activated at in UTC. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Enable notifications for issue events. + IssuesEvents pulumi.BoolOutput `pulumi:"issuesEvents"` + // Enable notifications for merge request events. + MergeRequestsEvents pulumi.BoolOutput `pulumi:"mergeRequestsEvents"` + // Enable notifications for note events. + NoteEvents pulumi.BoolOutput `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolOutput `pulumi:"notifyOnlyBrokenPipelines"` + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolOutput `pulumi:"pipelineEvents"` + // ID of the project you want to activate the integration on. + Project pulumi.StringOutput `pulumi:"project"` + // Enable notifications for push events. + PushEvents pulumi.BoolOutput `pulumi:"pushEvents"` + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolOutput `pulumi:"tagPushEvents"` + // The ISO8601 date/time that this integration was last updated at in UTC. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` + // The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. + Webhook pulumi.StringOutput `pulumi:"webhook"` + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolOutput `pulumi:"wikiPageEvents"` +} + +// NewProjectIntegrationMicrosoftTeams registers a new resource with the given unique name, arguments, and options. +func NewProjectIntegrationMicrosoftTeams(ctx *pulumi.Context, + name string, args *ProjectIntegrationMicrosoftTeamsArgs, opts ...pulumi.ResourceOption) (*ProjectIntegrationMicrosoftTeams, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.Webhook == nil { + return nil, errors.New("invalid value for required argument 'Webhook'") + } + if args.Webhook != nil { + args.Webhook = pulumi.ToSecret(args.Webhook).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "webhook", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectIntegrationMicrosoftTeams + err := ctx.RegisterResource("gitlab:index/projectIntegrationMicrosoftTeams:ProjectIntegrationMicrosoftTeams", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectIntegrationMicrosoftTeams gets an existing ProjectIntegrationMicrosoftTeams resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectIntegrationMicrosoftTeams(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectIntegrationMicrosoftTeamsState, opts ...pulumi.ResourceOption) (*ProjectIntegrationMicrosoftTeams, error) { + var resource ProjectIntegrationMicrosoftTeams + err := ctx.ReadResource("gitlab:index/projectIntegrationMicrosoftTeams:ProjectIntegrationMicrosoftTeams", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectIntegrationMicrosoftTeams resources. +type projectIntegrationMicrosoftTeamsState struct { + // Whether the integration is active. + Active *bool `pulumi:"active"` + // Branches to send notifications for. Valid values are: `all`, `default`, `protected`, `defaultAndProtected` + BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` + // Enable notifications for confidential issue events. + ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` + // The ISO8601 date/time that this integration was activated at in UTC. + CreatedAt *string `pulumi:"createdAt"` + // Enable notifications for issue events. + IssuesEvents *bool `pulumi:"issuesEvents"` + // Enable notifications for merge request events. + MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` + // Enable notifications for note events. + NoteEvents *bool `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` + // Enable notifications for pipeline events. + PipelineEvents *bool `pulumi:"pipelineEvents"` + // ID of the project you want to activate the integration on. + Project *string `pulumi:"project"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` + // The ISO8601 date/time that this integration was last updated at in UTC. + UpdatedAt *string `pulumi:"updatedAt"` + // The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. + Webhook *string `pulumi:"webhook"` + // Enable notifications for wiki page events. + WikiPageEvents *bool `pulumi:"wikiPageEvents"` +} + +type ProjectIntegrationMicrosoftTeamsState struct { + // Whether the integration is active. + Active pulumi.BoolPtrInput + // Branches to send notifications for. Valid values are: `all`, `default`, `protected`, `defaultAndProtected` + BranchesToBeNotified pulumi.StringPtrInput + // Enable notifications for confidential issue events. + ConfidentialIssuesEvents pulumi.BoolPtrInput + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolPtrInput + // The ISO8601 date/time that this integration was activated at in UTC. + CreatedAt pulumi.StringPtrInput + // Enable notifications for issue events. + IssuesEvents pulumi.BoolPtrInput + // Enable notifications for merge request events. + MergeRequestsEvents pulumi.BoolPtrInput + // Enable notifications for note events. + NoteEvents pulumi.BoolPtrInput + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolPtrInput + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolPtrInput + // ID of the project you want to activate the integration on. + Project pulumi.StringPtrInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput + // The ISO8601 date/time that this integration was last updated at in UTC. + UpdatedAt pulumi.StringPtrInput + // The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. + Webhook pulumi.StringPtrInput + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolPtrInput +} + +func (ProjectIntegrationMicrosoftTeamsState) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationMicrosoftTeamsState)(nil)).Elem() +} + +type projectIntegrationMicrosoftTeamsArgs struct { + // Branches to send notifications for. Valid values are: `all`, `default`, `protected`, `defaultAndProtected` + BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` + // Enable notifications for confidential issue events. + ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` + // Enable notifications for issue events. + IssuesEvents *bool `pulumi:"issuesEvents"` + // Enable notifications for merge request events. + MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` + // Enable notifications for note events. + NoteEvents *bool `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` + // Enable notifications for pipeline events. + PipelineEvents *bool `pulumi:"pipelineEvents"` + // ID of the project you want to activate the integration on. + Project string `pulumi:"project"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` + // The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. + Webhook string `pulumi:"webhook"` + // Enable notifications for wiki page events. + WikiPageEvents *bool `pulumi:"wikiPageEvents"` +} + +// The set of arguments for constructing a ProjectIntegrationMicrosoftTeams resource. +type ProjectIntegrationMicrosoftTeamsArgs struct { + // Branches to send notifications for. Valid values are: `all`, `default`, `protected`, `defaultAndProtected` + BranchesToBeNotified pulumi.StringPtrInput + // Enable notifications for confidential issue events. + ConfidentialIssuesEvents pulumi.BoolPtrInput + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolPtrInput + // Enable notifications for issue events. + IssuesEvents pulumi.BoolPtrInput + // Enable notifications for merge request events. + MergeRequestsEvents pulumi.BoolPtrInput + // Enable notifications for note events. + NoteEvents pulumi.BoolPtrInput + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolPtrInput + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolPtrInput + // ID of the project you want to activate the integration on. + Project pulumi.StringInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput + // The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. + Webhook pulumi.StringInput + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolPtrInput +} + +func (ProjectIntegrationMicrosoftTeamsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationMicrosoftTeamsArgs)(nil)).Elem() +} + +type ProjectIntegrationMicrosoftTeamsInput interface { + pulumi.Input + + ToProjectIntegrationMicrosoftTeamsOutput() ProjectIntegrationMicrosoftTeamsOutput + ToProjectIntegrationMicrosoftTeamsOutputWithContext(ctx context.Context) ProjectIntegrationMicrosoftTeamsOutput +} + +func (*ProjectIntegrationMicrosoftTeams) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationMicrosoftTeams)(nil)).Elem() +} + +func (i *ProjectIntegrationMicrosoftTeams) ToProjectIntegrationMicrosoftTeamsOutput() ProjectIntegrationMicrosoftTeamsOutput { + return i.ToProjectIntegrationMicrosoftTeamsOutputWithContext(context.Background()) +} + +func (i *ProjectIntegrationMicrosoftTeams) ToProjectIntegrationMicrosoftTeamsOutputWithContext(ctx context.Context) ProjectIntegrationMicrosoftTeamsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationMicrosoftTeamsOutput) +} + +// ProjectIntegrationMicrosoftTeamsArrayInput is an input type that accepts ProjectIntegrationMicrosoftTeamsArray and ProjectIntegrationMicrosoftTeamsArrayOutput values. +// You can construct a concrete instance of `ProjectIntegrationMicrosoftTeamsArrayInput` via: +// +// ProjectIntegrationMicrosoftTeamsArray{ ProjectIntegrationMicrosoftTeamsArgs{...} } +type ProjectIntegrationMicrosoftTeamsArrayInput interface { + pulumi.Input + + ToProjectIntegrationMicrosoftTeamsArrayOutput() ProjectIntegrationMicrosoftTeamsArrayOutput + ToProjectIntegrationMicrosoftTeamsArrayOutputWithContext(context.Context) ProjectIntegrationMicrosoftTeamsArrayOutput +} + +type ProjectIntegrationMicrosoftTeamsArray []ProjectIntegrationMicrosoftTeamsInput + +func (ProjectIntegrationMicrosoftTeamsArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationMicrosoftTeams)(nil)).Elem() +} + +func (i ProjectIntegrationMicrosoftTeamsArray) ToProjectIntegrationMicrosoftTeamsArrayOutput() ProjectIntegrationMicrosoftTeamsArrayOutput { + return i.ToProjectIntegrationMicrosoftTeamsArrayOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationMicrosoftTeamsArray) ToProjectIntegrationMicrosoftTeamsArrayOutputWithContext(ctx context.Context) ProjectIntegrationMicrosoftTeamsArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationMicrosoftTeamsArrayOutput) +} + +// ProjectIntegrationMicrosoftTeamsMapInput is an input type that accepts ProjectIntegrationMicrosoftTeamsMap and ProjectIntegrationMicrosoftTeamsMapOutput values. +// You can construct a concrete instance of `ProjectIntegrationMicrosoftTeamsMapInput` via: +// +// ProjectIntegrationMicrosoftTeamsMap{ "key": ProjectIntegrationMicrosoftTeamsArgs{...} } +type ProjectIntegrationMicrosoftTeamsMapInput interface { + pulumi.Input + + ToProjectIntegrationMicrosoftTeamsMapOutput() ProjectIntegrationMicrosoftTeamsMapOutput + ToProjectIntegrationMicrosoftTeamsMapOutputWithContext(context.Context) ProjectIntegrationMicrosoftTeamsMapOutput +} + +type ProjectIntegrationMicrosoftTeamsMap map[string]ProjectIntegrationMicrosoftTeamsInput + +func (ProjectIntegrationMicrosoftTeamsMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationMicrosoftTeams)(nil)).Elem() +} + +func (i ProjectIntegrationMicrosoftTeamsMap) ToProjectIntegrationMicrosoftTeamsMapOutput() ProjectIntegrationMicrosoftTeamsMapOutput { + return i.ToProjectIntegrationMicrosoftTeamsMapOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationMicrosoftTeamsMap) ToProjectIntegrationMicrosoftTeamsMapOutputWithContext(ctx context.Context) ProjectIntegrationMicrosoftTeamsMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationMicrosoftTeamsMapOutput) +} + +type ProjectIntegrationMicrosoftTeamsOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationMicrosoftTeamsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationMicrosoftTeams)(nil)).Elem() +} + +func (o ProjectIntegrationMicrosoftTeamsOutput) ToProjectIntegrationMicrosoftTeamsOutput() ProjectIntegrationMicrosoftTeamsOutput { + return o +} + +func (o ProjectIntegrationMicrosoftTeamsOutput) ToProjectIntegrationMicrosoftTeamsOutputWithContext(ctx context.Context) ProjectIntegrationMicrosoftTeamsOutput { + return o +} + +// Whether the integration is active. +func (o ProjectIntegrationMicrosoftTeamsOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMicrosoftTeams) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) +} + +// Branches to send notifications for. Valid values are: `all`, `default`, `protected`, `defaultAndProtected` +func (o ProjectIntegrationMicrosoftTeamsOutput) BranchesToBeNotified() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMicrosoftTeams) pulumi.StringOutput { return v.BranchesToBeNotified }).(pulumi.StringOutput) +} + +// Enable notifications for confidential issue events. +func (o ProjectIntegrationMicrosoftTeamsOutput) ConfidentialIssuesEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMicrosoftTeams) pulumi.BoolOutput { return v.ConfidentialIssuesEvents }).(pulumi.BoolOutput) +} + +// Enable notifications for confidential note events. +func (o ProjectIntegrationMicrosoftTeamsOutput) ConfidentialNoteEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMicrosoftTeams) pulumi.BoolOutput { return v.ConfidentialNoteEvents }).(pulumi.BoolOutput) +} + +// The ISO8601 date/time that this integration was activated at in UTC. +func (o ProjectIntegrationMicrosoftTeamsOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMicrosoftTeams) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Enable notifications for issue events. +func (o ProjectIntegrationMicrosoftTeamsOutput) IssuesEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMicrosoftTeams) pulumi.BoolOutput { return v.IssuesEvents }).(pulumi.BoolOutput) +} + +// Enable notifications for merge request events. +func (o ProjectIntegrationMicrosoftTeamsOutput) MergeRequestsEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMicrosoftTeams) pulumi.BoolOutput { return v.MergeRequestsEvents }).(pulumi.BoolOutput) +} + +// Enable notifications for note events. +func (o ProjectIntegrationMicrosoftTeamsOutput) NoteEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMicrosoftTeams) pulumi.BoolOutput { return v.NoteEvents }).(pulumi.BoolOutput) +} + +// Send notifications for broken pipelines. +func (o ProjectIntegrationMicrosoftTeamsOutput) NotifyOnlyBrokenPipelines() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMicrosoftTeams) pulumi.BoolOutput { return v.NotifyOnlyBrokenPipelines }).(pulumi.BoolOutput) +} + +// Enable notifications for pipeline events. +func (o ProjectIntegrationMicrosoftTeamsOutput) PipelineEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMicrosoftTeams) pulumi.BoolOutput { return v.PipelineEvents }).(pulumi.BoolOutput) +} + +// ID of the project you want to activate the integration on. +func (o ProjectIntegrationMicrosoftTeamsOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMicrosoftTeams) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Enable notifications for push events. +func (o ProjectIntegrationMicrosoftTeamsOutput) PushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMicrosoftTeams) pulumi.BoolOutput { return v.PushEvents }).(pulumi.BoolOutput) +} + +// Enable notifications for tag push events. +func (o ProjectIntegrationMicrosoftTeamsOutput) TagPushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMicrosoftTeams) pulumi.BoolOutput { return v.TagPushEvents }).(pulumi.BoolOutput) +} + +// The ISO8601 date/time that this integration was last updated at in UTC. +func (o ProjectIntegrationMicrosoftTeamsOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMicrosoftTeams) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +// The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported. +func (o ProjectIntegrationMicrosoftTeamsOutput) Webhook() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationMicrosoftTeams) pulumi.StringOutput { return v.Webhook }).(pulumi.StringOutput) +} + +// Enable notifications for wiki page events. +func (o ProjectIntegrationMicrosoftTeamsOutput) WikiPageEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationMicrosoftTeams) pulumi.BoolOutput { return v.WikiPageEvents }).(pulumi.BoolOutput) +} + +type ProjectIntegrationMicrosoftTeamsArrayOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationMicrosoftTeamsArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationMicrosoftTeams)(nil)).Elem() +} + +func (o ProjectIntegrationMicrosoftTeamsArrayOutput) ToProjectIntegrationMicrosoftTeamsArrayOutput() ProjectIntegrationMicrosoftTeamsArrayOutput { + return o +} + +func (o ProjectIntegrationMicrosoftTeamsArrayOutput) ToProjectIntegrationMicrosoftTeamsArrayOutputWithContext(ctx context.Context) ProjectIntegrationMicrosoftTeamsArrayOutput { + return o +} + +func (o ProjectIntegrationMicrosoftTeamsArrayOutput) Index(i pulumi.IntInput) ProjectIntegrationMicrosoftTeamsOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectIntegrationMicrosoftTeams { + return vs[0].([]*ProjectIntegrationMicrosoftTeams)[vs[1].(int)] + }).(ProjectIntegrationMicrosoftTeamsOutput) +} + +type ProjectIntegrationMicrosoftTeamsMapOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationMicrosoftTeamsMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationMicrosoftTeams)(nil)).Elem() +} + +func (o ProjectIntegrationMicrosoftTeamsMapOutput) ToProjectIntegrationMicrosoftTeamsMapOutput() ProjectIntegrationMicrosoftTeamsMapOutput { + return o +} + +func (o ProjectIntegrationMicrosoftTeamsMapOutput) ToProjectIntegrationMicrosoftTeamsMapOutputWithContext(ctx context.Context) ProjectIntegrationMicrosoftTeamsMapOutput { + return o +} + +func (o ProjectIntegrationMicrosoftTeamsMapOutput) MapIndex(k pulumi.StringInput) ProjectIntegrationMicrosoftTeamsOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectIntegrationMicrosoftTeams { + return vs[0].(map[string]*ProjectIntegrationMicrosoftTeams)[vs[1].(string)] + }).(ProjectIntegrationMicrosoftTeamsOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationMicrosoftTeamsInput)(nil)).Elem(), &ProjectIntegrationMicrosoftTeams{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationMicrosoftTeamsArrayInput)(nil)).Elem(), ProjectIntegrationMicrosoftTeamsArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationMicrosoftTeamsMapInput)(nil)).Elem(), ProjectIntegrationMicrosoftTeamsMap{}) + pulumi.RegisterOutputType(ProjectIntegrationMicrosoftTeamsOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationMicrosoftTeamsArrayOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationMicrosoftTeamsMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationPipelinesEmail.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationPipelinesEmail.go new file mode 100644 index 000000000..20a5f6e2c --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationPipelinesEmail.go @@ -0,0 +1,320 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectIntegrationPipelinesEmail` resource manages the lifecycle of a project integration with the Pipeline Emails Service. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#pipeline-status-emails) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("awesome_project"), +// Description: pulumi.String("My awesome project."), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectIntegrationPipelinesEmail(ctx, "email", &gitlab.ProjectIntegrationPipelinesEmailArgs{ +// Project: awesomeProject.ID(), +// Recipients: pulumi.StringArray{ +// pulumi.String("gitlab@user.create"), +// }, +// NotifyOnlyBrokenPipelines: pulumi.Bool(true), +// BranchesToBeNotified: pulumi.String("all"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIntegrationPipelinesEmail`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import a ProjectIntegrationPipelinesEmail state using the project ID, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectIntegrationPipelinesEmail:ProjectIntegrationPipelinesEmail email 1 +// ``` +type ProjectIntegrationPipelinesEmail struct { + pulumi.CustomResourceState + + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Default is `default`. + BranchesToBeNotified pulumi.StringOutput `pulumi:"branchesToBeNotified"` + // Notify only broken pipelines. Default is true. + NotifyOnlyBrokenPipelines pulumi.BoolOutput `pulumi:"notifyOnlyBrokenPipelines"` + // ID of the project you want to activate integration on. + Project pulumi.StringOutput `pulumi:"project"` + // Email addresses where notifications are sent. + Recipients pulumi.StringArrayOutput `pulumi:"recipients"` +} + +// NewProjectIntegrationPipelinesEmail registers a new resource with the given unique name, arguments, and options. +func NewProjectIntegrationPipelinesEmail(ctx *pulumi.Context, + name string, args *ProjectIntegrationPipelinesEmailArgs, opts ...pulumi.ResourceOption) (*ProjectIntegrationPipelinesEmail, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.Recipients == nil { + return nil, errors.New("invalid value for required argument 'Recipients'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectIntegrationPipelinesEmail + err := ctx.RegisterResource("gitlab:index/projectIntegrationPipelinesEmail:ProjectIntegrationPipelinesEmail", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectIntegrationPipelinesEmail gets an existing ProjectIntegrationPipelinesEmail resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectIntegrationPipelinesEmail(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectIntegrationPipelinesEmailState, opts ...pulumi.ResourceOption) (*ProjectIntegrationPipelinesEmail, error) { + var resource ProjectIntegrationPipelinesEmail + err := ctx.ReadResource("gitlab:index/projectIntegrationPipelinesEmail:ProjectIntegrationPipelinesEmail", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectIntegrationPipelinesEmail resources. +type projectIntegrationPipelinesEmailState struct { + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Default is `default`. + BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` + // Notify only broken pipelines. Default is true. + NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` + // ID of the project you want to activate integration on. + Project *string `pulumi:"project"` + // Email addresses where notifications are sent. + Recipients []string `pulumi:"recipients"` +} + +type ProjectIntegrationPipelinesEmailState struct { + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Default is `default`. + BranchesToBeNotified pulumi.StringPtrInput + // Notify only broken pipelines. Default is true. + NotifyOnlyBrokenPipelines pulumi.BoolPtrInput + // ID of the project you want to activate integration on. + Project pulumi.StringPtrInput + // Email addresses where notifications are sent. + Recipients pulumi.StringArrayInput +} + +func (ProjectIntegrationPipelinesEmailState) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationPipelinesEmailState)(nil)).Elem() +} + +type projectIntegrationPipelinesEmailArgs struct { + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Default is `default`. + BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` + // Notify only broken pipelines. Default is true. + NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` + // ID of the project you want to activate integration on. + Project string `pulumi:"project"` + // Email addresses where notifications are sent. + Recipients []string `pulumi:"recipients"` +} + +// The set of arguments for constructing a ProjectIntegrationPipelinesEmail resource. +type ProjectIntegrationPipelinesEmailArgs struct { + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Default is `default`. + BranchesToBeNotified pulumi.StringPtrInput + // Notify only broken pipelines. Default is true. + NotifyOnlyBrokenPipelines pulumi.BoolPtrInput + // ID of the project you want to activate integration on. + Project pulumi.StringInput + // Email addresses where notifications are sent. + Recipients pulumi.StringArrayInput +} + +func (ProjectIntegrationPipelinesEmailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationPipelinesEmailArgs)(nil)).Elem() +} + +type ProjectIntegrationPipelinesEmailInput interface { + pulumi.Input + + ToProjectIntegrationPipelinesEmailOutput() ProjectIntegrationPipelinesEmailOutput + ToProjectIntegrationPipelinesEmailOutputWithContext(ctx context.Context) ProjectIntegrationPipelinesEmailOutput +} + +func (*ProjectIntegrationPipelinesEmail) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationPipelinesEmail)(nil)).Elem() +} + +func (i *ProjectIntegrationPipelinesEmail) ToProjectIntegrationPipelinesEmailOutput() ProjectIntegrationPipelinesEmailOutput { + return i.ToProjectIntegrationPipelinesEmailOutputWithContext(context.Background()) +} + +func (i *ProjectIntegrationPipelinesEmail) ToProjectIntegrationPipelinesEmailOutputWithContext(ctx context.Context) ProjectIntegrationPipelinesEmailOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationPipelinesEmailOutput) +} + +// ProjectIntegrationPipelinesEmailArrayInput is an input type that accepts ProjectIntegrationPipelinesEmailArray and ProjectIntegrationPipelinesEmailArrayOutput values. +// You can construct a concrete instance of `ProjectIntegrationPipelinesEmailArrayInput` via: +// +// ProjectIntegrationPipelinesEmailArray{ ProjectIntegrationPipelinesEmailArgs{...} } +type ProjectIntegrationPipelinesEmailArrayInput interface { + pulumi.Input + + ToProjectIntegrationPipelinesEmailArrayOutput() ProjectIntegrationPipelinesEmailArrayOutput + ToProjectIntegrationPipelinesEmailArrayOutputWithContext(context.Context) ProjectIntegrationPipelinesEmailArrayOutput +} + +type ProjectIntegrationPipelinesEmailArray []ProjectIntegrationPipelinesEmailInput + +func (ProjectIntegrationPipelinesEmailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationPipelinesEmail)(nil)).Elem() +} + +func (i ProjectIntegrationPipelinesEmailArray) ToProjectIntegrationPipelinesEmailArrayOutput() ProjectIntegrationPipelinesEmailArrayOutput { + return i.ToProjectIntegrationPipelinesEmailArrayOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationPipelinesEmailArray) ToProjectIntegrationPipelinesEmailArrayOutputWithContext(ctx context.Context) ProjectIntegrationPipelinesEmailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationPipelinesEmailArrayOutput) +} + +// ProjectIntegrationPipelinesEmailMapInput is an input type that accepts ProjectIntegrationPipelinesEmailMap and ProjectIntegrationPipelinesEmailMapOutput values. +// You can construct a concrete instance of `ProjectIntegrationPipelinesEmailMapInput` via: +// +// ProjectIntegrationPipelinesEmailMap{ "key": ProjectIntegrationPipelinesEmailArgs{...} } +type ProjectIntegrationPipelinesEmailMapInput interface { + pulumi.Input + + ToProjectIntegrationPipelinesEmailMapOutput() ProjectIntegrationPipelinesEmailMapOutput + ToProjectIntegrationPipelinesEmailMapOutputWithContext(context.Context) ProjectIntegrationPipelinesEmailMapOutput +} + +type ProjectIntegrationPipelinesEmailMap map[string]ProjectIntegrationPipelinesEmailInput + +func (ProjectIntegrationPipelinesEmailMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationPipelinesEmail)(nil)).Elem() +} + +func (i ProjectIntegrationPipelinesEmailMap) ToProjectIntegrationPipelinesEmailMapOutput() ProjectIntegrationPipelinesEmailMapOutput { + return i.ToProjectIntegrationPipelinesEmailMapOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationPipelinesEmailMap) ToProjectIntegrationPipelinesEmailMapOutputWithContext(ctx context.Context) ProjectIntegrationPipelinesEmailMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationPipelinesEmailMapOutput) +} + +type ProjectIntegrationPipelinesEmailOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationPipelinesEmailOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationPipelinesEmail)(nil)).Elem() +} + +func (o ProjectIntegrationPipelinesEmailOutput) ToProjectIntegrationPipelinesEmailOutput() ProjectIntegrationPipelinesEmailOutput { + return o +} + +func (o ProjectIntegrationPipelinesEmailOutput) ToProjectIntegrationPipelinesEmailOutputWithContext(ctx context.Context) ProjectIntegrationPipelinesEmailOutput { + return o +} + +// Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. Default is `default`. +func (o ProjectIntegrationPipelinesEmailOutput) BranchesToBeNotified() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationPipelinesEmail) pulumi.StringOutput { return v.BranchesToBeNotified }).(pulumi.StringOutput) +} + +// Notify only broken pipelines. Default is true. +func (o ProjectIntegrationPipelinesEmailOutput) NotifyOnlyBrokenPipelines() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationPipelinesEmail) pulumi.BoolOutput { return v.NotifyOnlyBrokenPipelines }).(pulumi.BoolOutput) +} + +// ID of the project you want to activate integration on. +func (o ProjectIntegrationPipelinesEmailOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationPipelinesEmail) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Email addresses where notifications are sent. +func (o ProjectIntegrationPipelinesEmailOutput) Recipients() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ProjectIntegrationPipelinesEmail) pulumi.StringArrayOutput { return v.Recipients }).(pulumi.StringArrayOutput) +} + +type ProjectIntegrationPipelinesEmailArrayOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationPipelinesEmailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationPipelinesEmail)(nil)).Elem() +} + +func (o ProjectIntegrationPipelinesEmailArrayOutput) ToProjectIntegrationPipelinesEmailArrayOutput() ProjectIntegrationPipelinesEmailArrayOutput { + return o +} + +func (o ProjectIntegrationPipelinesEmailArrayOutput) ToProjectIntegrationPipelinesEmailArrayOutputWithContext(ctx context.Context) ProjectIntegrationPipelinesEmailArrayOutput { + return o +} + +func (o ProjectIntegrationPipelinesEmailArrayOutput) Index(i pulumi.IntInput) ProjectIntegrationPipelinesEmailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectIntegrationPipelinesEmail { + return vs[0].([]*ProjectIntegrationPipelinesEmail)[vs[1].(int)] + }).(ProjectIntegrationPipelinesEmailOutput) +} + +type ProjectIntegrationPipelinesEmailMapOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationPipelinesEmailMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationPipelinesEmail)(nil)).Elem() +} + +func (o ProjectIntegrationPipelinesEmailMapOutput) ToProjectIntegrationPipelinesEmailMapOutput() ProjectIntegrationPipelinesEmailMapOutput { + return o +} + +func (o ProjectIntegrationPipelinesEmailMapOutput) ToProjectIntegrationPipelinesEmailMapOutputWithContext(ctx context.Context) ProjectIntegrationPipelinesEmailMapOutput { + return o +} + +func (o ProjectIntegrationPipelinesEmailMapOutput) MapIndex(k pulumi.StringInput) ProjectIntegrationPipelinesEmailOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectIntegrationPipelinesEmail { + return vs[0].(map[string]*ProjectIntegrationPipelinesEmail)[vs[1].(string)] + }).(ProjectIntegrationPipelinesEmailOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationPipelinesEmailInput)(nil)).Elem(), &ProjectIntegrationPipelinesEmail{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationPipelinesEmailArrayInput)(nil)).Elem(), ProjectIntegrationPipelinesEmailArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationPipelinesEmailMapInput)(nil)).Elem(), ProjectIntegrationPipelinesEmailMap{}) + pulumi.RegisterOutputType(ProjectIntegrationPipelinesEmailOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationPipelinesEmailArrayOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationPipelinesEmailMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationRedmine.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationRedmine.go new file mode 100644 index 000000000..4876b7acd --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationRedmine.go @@ -0,0 +1,341 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectIntegrationRedmine` resource manages the lifecycle of a project integration with Redmine. +// +// > Using Redmine requires that GitLab internal issue tracking is disabled for the project. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#redmine) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("awesome_project"), +// Description: pulumi.String("My awesome project."), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectIntegrationRedmine(ctx, "redmine", &gitlab.ProjectIntegrationRedmineArgs{ +// Project: awesomeProject.ID(), +// NewIssueUrl: pulumi.String("https://redmine.example.com/issue"), +// ProjectUrl: pulumi.String("https://redmine.example.com/project"), +// IssuesUrl: pulumi.String("https://redmine.example.com/issue/:id"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIntegrationRedmine`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import a ProjectIntegrationRedmine state using `terraform import `: +// +// ```sh +// $ pulumi import gitlab:index/projectIntegrationRedmine:ProjectIntegrationRedmine redmine 1 +// ``` +type ProjectIntegrationRedmine struct { + pulumi.CustomResourceState + + // The URL to the Redmine project issue to link to this GitLab project. + IssuesUrl pulumi.StringOutput `pulumi:"issuesUrl"` + // The URL to use to create a new issue in the Redmine project linked to this GitLab project. + NewIssueUrl pulumi.StringOutput `pulumi:"newIssueUrl"` + // ID of the project you want to activate integration on. + Project pulumi.StringOutput `pulumi:"project"` + // The URL to the Redmine project to link to this GitLab project. + ProjectUrl pulumi.StringOutput `pulumi:"projectUrl"` + // Indicates whether or not to inherit default settings. Defaults to false. + UseInheritedSettings pulumi.BoolOutput `pulumi:"useInheritedSettings"` +} + +// NewProjectIntegrationRedmine registers a new resource with the given unique name, arguments, and options. +func NewProjectIntegrationRedmine(ctx *pulumi.Context, + name string, args *ProjectIntegrationRedmineArgs, opts ...pulumi.ResourceOption) (*ProjectIntegrationRedmine, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.IssuesUrl == nil { + return nil, errors.New("invalid value for required argument 'IssuesUrl'") + } + if args.NewIssueUrl == nil { + return nil, errors.New("invalid value for required argument 'NewIssueUrl'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.ProjectUrl == nil { + return nil, errors.New("invalid value for required argument 'ProjectUrl'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectIntegrationRedmine + err := ctx.RegisterResource("gitlab:index/projectIntegrationRedmine:ProjectIntegrationRedmine", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectIntegrationRedmine gets an existing ProjectIntegrationRedmine resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectIntegrationRedmine(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectIntegrationRedmineState, opts ...pulumi.ResourceOption) (*ProjectIntegrationRedmine, error) { + var resource ProjectIntegrationRedmine + err := ctx.ReadResource("gitlab:index/projectIntegrationRedmine:ProjectIntegrationRedmine", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectIntegrationRedmine resources. +type projectIntegrationRedmineState struct { + // The URL to the Redmine project issue to link to this GitLab project. + IssuesUrl *string `pulumi:"issuesUrl"` + // The URL to use to create a new issue in the Redmine project linked to this GitLab project. + NewIssueUrl *string `pulumi:"newIssueUrl"` + // ID of the project you want to activate integration on. + Project *string `pulumi:"project"` + // The URL to the Redmine project to link to this GitLab project. + ProjectUrl *string `pulumi:"projectUrl"` + // Indicates whether or not to inherit default settings. Defaults to false. + UseInheritedSettings *bool `pulumi:"useInheritedSettings"` +} + +type ProjectIntegrationRedmineState struct { + // The URL to the Redmine project issue to link to this GitLab project. + IssuesUrl pulumi.StringPtrInput + // The URL to use to create a new issue in the Redmine project linked to this GitLab project. + NewIssueUrl pulumi.StringPtrInput + // ID of the project you want to activate integration on. + Project pulumi.StringPtrInput + // The URL to the Redmine project to link to this GitLab project. + ProjectUrl pulumi.StringPtrInput + // Indicates whether or not to inherit default settings. Defaults to false. + UseInheritedSettings pulumi.BoolPtrInput +} + +func (ProjectIntegrationRedmineState) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationRedmineState)(nil)).Elem() +} + +type projectIntegrationRedmineArgs struct { + // The URL to the Redmine project issue to link to this GitLab project. + IssuesUrl string `pulumi:"issuesUrl"` + // The URL to use to create a new issue in the Redmine project linked to this GitLab project. + NewIssueUrl string `pulumi:"newIssueUrl"` + // ID of the project you want to activate integration on. + Project string `pulumi:"project"` + // The URL to the Redmine project to link to this GitLab project. + ProjectUrl string `pulumi:"projectUrl"` + // Indicates whether or not to inherit default settings. Defaults to false. + UseInheritedSettings *bool `pulumi:"useInheritedSettings"` +} + +// The set of arguments for constructing a ProjectIntegrationRedmine resource. +type ProjectIntegrationRedmineArgs struct { + // The URL to the Redmine project issue to link to this GitLab project. + IssuesUrl pulumi.StringInput + // The URL to use to create a new issue in the Redmine project linked to this GitLab project. + NewIssueUrl pulumi.StringInput + // ID of the project you want to activate integration on. + Project pulumi.StringInput + // The URL to the Redmine project to link to this GitLab project. + ProjectUrl pulumi.StringInput + // Indicates whether or not to inherit default settings. Defaults to false. + UseInheritedSettings pulumi.BoolPtrInput +} + +func (ProjectIntegrationRedmineArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationRedmineArgs)(nil)).Elem() +} + +type ProjectIntegrationRedmineInput interface { + pulumi.Input + + ToProjectIntegrationRedmineOutput() ProjectIntegrationRedmineOutput + ToProjectIntegrationRedmineOutputWithContext(ctx context.Context) ProjectIntegrationRedmineOutput +} + +func (*ProjectIntegrationRedmine) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationRedmine)(nil)).Elem() +} + +func (i *ProjectIntegrationRedmine) ToProjectIntegrationRedmineOutput() ProjectIntegrationRedmineOutput { + return i.ToProjectIntegrationRedmineOutputWithContext(context.Background()) +} + +func (i *ProjectIntegrationRedmine) ToProjectIntegrationRedmineOutputWithContext(ctx context.Context) ProjectIntegrationRedmineOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationRedmineOutput) +} + +// ProjectIntegrationRedmineArrayInput is an input type that accepts ProjectIntegrationRedmineArray and ProjectIntegrationRedmineArrayOutput values. +// You can construct a concrete instance of `ProjectIntegrationRedmineArrayInput` via: +// +// ProjectIntegrationRedmineArray{ ProjectIntegrationRedmineArgs{...} } +type ProjectIntegrationRedmineArrayInput interface { + pulumi.Input + + ToProjectIntegrationRedmineArrayOutput() ProjectIntegrationRedmineArrayOutput + ToProjectIntegrationRedmineArrayOutputWithContext(context.Context) ProjectIntegrationRedmineArrayOutput +} + +type ProjectIntegrationRedmineArray []ProjectIntegrationRedmineInput + +func (ProjectIntegrationRedmineArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationRedmine)(nil)).Elem() +} + +func (i ProjectIntegrationRedmineArray) ToProjectIntegrationRedmineArrayOutput() ProjectIntegrationRedmineArrayOutput { + return i.ToProjectIntegrationRedmineArrayOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationRedmineArray) ToProjectIntegrationRedmineArrayOutputWithContext(ctx context.Context) ProjectIntegrationRedmineArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationRedmineArrayOutput) +} + +// ProjectIntegrationRedmineMapInput is an input type that accepts ProjectIntegrationRedmineMap and ProjectIntegrationRedmineMapOutput values. +// You can construct a concrete instance of `ProjectIntegrationRedmineMapInput` via: +// +// ProjectIntegrationRedmineMap{ "key": ProjectIntegrationRedmineArgs{...} } +type ProjectIntegrationRedmineMapInput interface { + pulumi.Input + + ToProjectIntegrationRedmineMapOutput() ProjectIntegrationRedmineMapOutput + ToProjectIntegrationRedmineMapOutputWithContext(context.Context) ProjectIntegrationRedmineMapOutput +} + +type ProjectIntegrationRedmineMap map[string]ProjectIntegrationRedmineInput + +func (ProjectIntegrationRedmineMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationRedmine)(nil)).Elem() +} + +func (i ProjectIntegrationRedmineMap) ToProjectIntegrationRedmineMapOutput() ProjectIntegrationRedmineMapOutput { + return i.ToProjectIntegrationRedmineMapOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationRedmineMap) ToProjectIntegrationRedmineMapOutputWithContext(ctx context.Context) ProjectIntegrationRedmineMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationRedmineMapOutput) +} + +type ProjectIntegrationRedmineOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationRedmineOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationRedmine)(nil)).Elem() +} + +func (o ProjectIntegrationRedmineOutput) ToProjectIntegrationRedmineOutput() ProjectIntegrationRedmineOutput { + return o +} + +func (o ProjectIntegrationRedmineOutput) ToProjectIntegrationRedmineOutputWithContext(ctx context.Context) ProjectIntegrationRedmineOutput { + return o +} + +// The URL to the Redmine project issue to link to this GitLab project. +func (o ProjectIntegrationRedmineOutput) IssuesUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationRedmine) pulumi.StringOutput { return v.IssuesUrl }).(pulumi.StringOutput) +} + +// The URL to use to create a new issue in the Redmine project linked to this GitLab project. +func (o ProjectIntegrationRedmineOutput) NewIssueUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationRedmine) pulumi.StringOutput { return v.NewIssueUrl }).(pulumi.StringOutput) +} + +// ID of the project you want to activate integration on. +func (o ProjectIntegrationRedmineOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationRedmine) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// The URL to the Redmine project to link to this GitLab project. +func (o ProjectIntegrationRedmineOutput) ProjectUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationRedmine) pulumi.StringOutput { return v.ProjectUrl }).(pulumi.StringOutput) +} + +// Indicates whether or not to inherit default settings. Defaults to false. +func (o ProjectIntegrationRedmineOutput) UseInheritedSettings() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationRedmine) pulumi.BoolOutput { return v.UseInheritedSettings }).(pulumi.BoolOutput) +} + +type ProjectIntegrationRedmineArrayOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationRedmineArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationRedmine)(nil)).Elem() +} + +func (o ProjectIntegrationRedmineArrayOutput) ToProjectIntegrationRedmineArrayOutput() ProjectIntegrationRedmineArrayOutput { + return o +} + +func (o ProjectIntegrationRedmineArrayOutput) ToProjectIntegrationRedmineArrayOutputWithContext(ctx context.Context) ProjectIntegrationRedmineArrayOutput { + return o +} + +func (o ProjectIntegrationRedmineArrayOutput) Index(i pulumi.IntInput) ProjectIntegrationRedmineOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectIntegrationRedmine { + return vs[0].([]*ProjectIntegrationRedmine)[vs[1].(int)] + }).(ProjectIntegrationRedmineOutput) +} + +type ProjectIntegrationRedmineMapOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationRedmineMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationRedmine)(nil)).Elem() +} + +func (o ProjectIntegrationRedmineMapOutput) ToProjectIntegrationRedmineMapOutput() ProjectIntegrationRedmineMapOutput { + return o +} + +func (o ProjectIntegrationRedmineMapOutput) ToProjectIntegrationRedmineMapOutputWithContext(ctx context.Context) ProjectIntegrationRedmineMapOutput { + return o +} + +func (o ProjectIntegrationRedmineMapOutput) MapIndex(k pulumi.StringInput) ProjectIntegrationRedmineOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectIntegrationRedmine { + return vs[0].(map[string]*ProjectIntegrationRedmine)[vs[1].(string)] + }).(ProjectIntegrationRedmineOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationRedmineInput)(nil)).Elem(), &ProjectIntegrationRedmine{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationRedmineArrayInput)(nil)).Elem(), ProjectIntegrationRedmineArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationRedmineMapInput)(nil)).Elem(), ProjectIntegrationRedmineMap{}) + pulumi.RegisterOutputType(ProjectIntegrationRedmineOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationRedmineArrayOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationRedmineMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationTelegram.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationTelegram.go new file mode 100644 index 000000000..7124f3a7c --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationTelegram.go @@ -0,0 +1,514 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectIntegrationTelegram` resource manages the lifecycle of a project integration with Telegram. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#telegram) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("awesome_project"), +// Description: pulumi.String("My awesome project."), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectIntegrationTelegram(ctx, "default", &gitlab.ProjectIntegrationTelegramArgs{ +// Token: pulumi.String("123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"), +// Room: pulumi.String("-1000000000000000"), +// NotifyOnlyBrokenPipelines: pulumi.Bool(false), +// BranchesToBeNotified: pulumi.String("all"), +// PushEvents: pulumi.Bool(false), +// IssuesEvents: pulumi.Bool(false), +// ConfidentialIssuesEvents: pulumi.Bool(false), +// MergeRequestsEvents: pulumi.Bool(false), +// TagPushEvents: pulumi.Bool(false), +// NoteEvents: pulumi.Bool(false), +// ConfidentialNoteEvents: pulumi.Bool(false), +// PipelineEvents: pulumi.Bool(false), +// WikiPageEvents: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIntegrationTelegram`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import a ProjectIntegrationTelegram state using the project ID, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectIntegrationTelegram:ProjectIntegrationTelegram default 1 +// ``` +type ProjectIntegrationTelegram struct { + pulumi.CustomResourceState + + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. + BranchesToBeNotified pulumi.StringOutput `pulumi:"branchesToBeNotified"` + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents pulumi.BoolOutput `pulumi:"confidentialIssuesEvents"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolOutput `pulumi:"confidentialNoteEvents"` + // Enable notifications for issues events. + IssuesEvents pulumi.BoolOutput `pulumi:"issuesEvents"` + // Enable notifications for merge requests events. + MergeRequestsEvents pulumi.BoolOutput `pulumi:"mergeRequestsEvents"` + // Enable notifications for note events. + NoteEvents pulumi.BoolOutput `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolOutput `pulumi:"notifyOnlyBrokenPipelines"` + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolOutput `pulumi:"pipelineEvents"` + // The ID or full path of the project to integrate with Telegram. + Project pulumi.StringOutput `pulumi:"project"` + // Enable notifications for push events. + PushEvents pulumi.BoolOutput `pulumi:"pushEvents"` + // Unique identifier for the target chat or the username of the target channel (in the format `@channelusername`) + Room pulumi.StringOutput `pulumi:"room"` + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolOutput `pulumi:"tagPushEvents"` + // The Telegram bot token. + Token pulumi.StringOutput `pulumi:"token"` + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolOutput `pulumi:"wikiPageEvents"` +} + +// NewProjectIntegrationTelegram registers a new resource with the given unique name, arguments, and options. +func NewProjectIntegrationTelegram(ctx *pulumi.Context, + name string, args *ProjectIntegrationTelegramArgs, opts ...pulumi.ResourceOption) (*ProjectIntegrationTelegram, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ConfidentialIssuesEvents == nil { + return nil, errors.New("invalid value for required argument 'ConfidentialIssuesEvents'") + } + if args.ConfidentialNoteEvents == nil { + return nil, errors.New("invalid value for required argument 'ConfidentialNoteEvents'") + } + if args.IssuesEvents == nil { + return nil, errors.New("invalid value for required argument 'IssuesEvents'") + } + if args.MergeRequestsEvents == nil { + return nil, errors.New("invalid value for required argument 'MergeRequestsEvents'") + } + if args.NoteEvents == nil { + return nil, errors.New("invalid value for required argument 'NoteEvents'") + } + if args.PipelineEvents == nil { + return nil, errors.New("invalid value for required argument 'PipelineEvents'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.PushEvents == nil { + return nil, errors.New("invalid value for required argument 'PushEvents'") + } + if args.Room == nil { + return nil, errors.New("invalid value for required argument 'Room'") + } + if args.TagPushEvents == nil { + return nil, errors.New("invalid value for required argument 'TagPushEvents'") + } + if args.Token == nil { + return nil, errors.New("invalid value for required argument 'Token'") + } + if args.WikiPageEvents == nil { + return nil, errors.New("invalid value for required argument 'WikiPageEvents'") + } + if args.Token != nil { + args.Token = pulumi.ToSecret(args.Token).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "token", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectIntegrationTelegram + err := ctx.RegisterResource("gitlab:index/projectIntegrationTelegram:ProjectIntegrationTelegram", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectIntegrationTelegram gets an existing ProjectIntegrationTelegram resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectIntegrationTelegram(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectIntegrationTelegramState, opts ...pulumi.ResourceOption) (*ProjectIntegrationTelegram, error) { + var resource ProjectIntegrationTelegram + err := ctx.ReadResource("gitlab:index/projectIntegrationTelegram:ProjectIntegrationTelegram", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectIntegrationTelegram resources. +type projectIntegrationTelegramState struct { + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. + BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents *bool `pulumi:"confidentialIssuesEvents"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents *bool `pulumi:"confidentialNoteEvents"` + // Enable notifications for issues events. + IssuesEvents *bool `pulumi:"issuesEvents"` + // Enable notifications for merge requests events. + MergeRequestsEvents *bool `pulumi:"mergeRequestsEvents"` + // Enable notifications for note events. + NoteEvents *bool `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` + // Enable notifications for pipeline events. + PipelineEvents *bool `pulumi:"pipelineEvents"` + // The ID or full path of the project to integrate with Telegram. + Project *string `pulumi:"project"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // Unique identifier for the target chat or the username of the target channel (in the format `@channelusername`) + Room *string `pulumi:"room"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` + // The Telegram bot token. + Token *string `pulumi:"token"` + // Enable notifications for wiki page events. + WikiPageEvents *bool `pulumi:"wikiPageEvents"` +} + +type ProjectIntegrationTelegramState struct { + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. + BranchesToBeNotified pulumi.StringPtrInput + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents pulumi.BoolPtrInput + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolPtrInput + // Enable notifications for issues events. + IssuesEvents pulumi.BoolPtrInput + // Enable notifications for merge requests events. + MergeRequestsEvents pulumi.BoolPtrInput + // Enable notifications for note events. + NoteEvents pulumi.BoolPtrInput + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolPtrInput + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolPtrInput + // The ID or full path of the project to integrate with Telegram. + Project pulumi.StringPtrInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // Unique identifier for the target chat or the username of the target channel (in the format `@channelusername`) + Room pulumi.StringPtrInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput + // The Telegram bot token. + Token pulumi.StringPtrInput + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolPtrInput +} + +func (ProjectIntegrationTelegramState) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationTelegramState)(nil)).Elem() +} + +type projectIntegrationTelegramArgs struct { + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. + BranchesToBeNotified *string `pulumi:"branchesToBeNotified"` + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents bool `pulumi:"confidentialIssuesEvents"` + // Enable notifications for confidential note events. + ConfidentialNoteEvents bool `pulumi:"confidentialNoteEvents"` + // Enable notifications for issues events. + IssuesEvents bool `pulumi:"issuesEvents"` + // Enable notifications for merge requests events. + MergeRequestsEvents bool `pulumi:"mergeRequestsEvents"` + // Enable notifications for note events. + NoteEvents bool `pulumi:"noteEvents"` + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines *bool `pulumi:"notifyOnlyBrokenPipelines"` + // Enable notifications for pipeline events. + PipelineEvents bool `pulumi:"pipelineEvents"` + // The ID or full path of the project to integrate with Telegram. + Project string `pulumi:"project"` + // Enable notifications for push events. + PushEvents bool `pulumi:"pushEvents"` + // Unique identifier for the target chat or the username of the target channel (in the format `@channelusername`) + Room string `pulumi:"room"` + // Enable notifications for tag push events. + TagPushEvents bool `pulumi:"tagPushEvents"` + // The Telegram bot token. + Token string `pulumi:"token"` + // Enable notifications for wiki page events. + WikiPageEvents bool `pulumi:"wikiPageEvents"` +} + +// The set of arguments for constructing a ProjectIntegrationTelegram resource. +type ProjectIntegrationTelegramArgs struct { + // Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. + BranchesToBeNotified pulumi.StringPtrInput + // Enable notifications for confidential issues events. + ConfidentialIssuesEvents pulumi.BoolInput + // Enable notifications for confidential note events. + ConfidentialNoteEvents pulumi.BoolInput + // Enable notifications for issues events. + IssuesEvents pulumi.BoolInput + // Enable notifications for merge requests events. + MergeRequestsEvents pulumi.BoolInput + // Enable notifications for note events. + NoteEvents pulumi.BoolInput + // Send notifications for broken pipelines. + NotifyOnlyBrokenPipelines pulumi.BoolPtrInput + // Enable notifications for pipeline events. + PipelineEvents pulumi.BoolInput + // The ID or full path of the project to integrate with Telegram. + Project pulumi.StringInput + // Enable notifications for push events. + PushEvents pulumi.BoolInput + // Unique identifier for the target chat or the username of the target channel (in the format `@channelusername`) + Room pulumi.StringInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolInput + // The Telegram bot token. + Token pulumi.StringInput + // Enable notifications for wiki page events. + WikiPageEvents pulumi.BoolInput +} + +func (ProjectIntegrationTelegramArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationTelegramArgs)(nil)).Elem() +} + +type ProjectIntegrationTelegramInput interface { + pulumi.Input + + ToProjectIntegrationTelegramOutput() ProjectIntegrationTelegramOutput + ToProjectIntegrationTelegramOutputWithContext(ctx context.Context) ProjectIntegrationTelegramOutput +} + +func (*ProjectIntegrationTelegram) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationTelegram)(nil)).Elem() +} + +func (i *ProjectIntegrationTelegram) ToProjectIntegrationTelegramOutput() ProjectIntegrationTelegramOutput { + return i.ToProjectIntegrationTelegramOutputWithContext(context.Background()) +} + +func (i *ProjectIntegrationTelegram) ToProjectIntegrationTelegramOutputWithContext(ctx context.Context) ProjectIntegrationTelegramOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationTelegramOutput) +} + +// ProjectIntegrationTelegramArrayInput is an input type that accepts ProjectIntegrationTelegramArray and ProjectIntegrationTelegramArrayOutput values. +// You can construct a concrete instance of `ProjectIntegrationTelegramArrayInput` via: +// +// ProjectIntegrationTelegramArray{ ProjectIntegrationTelegramArgs{...} } +type ProjectIntegrationTelegramArrayInput interface { + pulumi.Input + + ToProjectIntegrationTelegramArrayOutput() ProjectIntegrationTelegramArrayOutput + ToProjectIntegrationTelegramArrayOutputWithContext(context.Context) ProjectIntegrationTelegramArrayOutput +} + +type ProjectIntegrationTelegramArray []ProjectIntegrationTelegramInput + +func (ProjectIntegrationTelegramArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationTelegram)(nil)).Elem() +} + +func (i ProjectIntegrationTelegramArray) ToProjectIntegrationTelegramArrayOutput() ProjectIntegrationTelegramArrayOutput { + return i.ToProjectIntegrationTelegramArrayOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationTelegramArray) ToProjectIntegrationTelegramArrayOutputWithContext(ctx context.Context) ProjectIntegrationTelegramArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationTelegramArrayOutput) +} + +// ProjectIntegrationTelegramMapInput is an input type that accepts ProjectIntegrationTelegramMap and ProjectIntegrationTelegramMapOutput values. +// You can construct a concrete instance of `ProjectIntegrationTelegramMapInput` via: +// +// ProjectIntegrationTelegramMap{ "key": ProjectIntegrationTelegramArgs{...} } +type ProjectIntegrationTelegramMapInput interface { + pulumi.Input + + ToProjectIntegrationTelegramMapOutput() ProjectIntegrationTelegramMapOutput + ToProjectIntegrationTelegramMapOutputWithContext(context.Context) ProjectIntegrationTelegramMapOutput +} + +type ProjectIntegrationTelegramMap map[string]ProjectIntegrationTelegramInput + +func (ProjectIntegrationTelegramMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationTelegram)(nil)).Elem() +} + +func (i ProjectIntegrationTelegramMap) ToProjectIntegrationTelegramMapOutput() ProjectIntegrationTelegramMapOutput { + return i.ToProjectIntegrationTelegramMapOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationTelegramMap) ToProjectIntegrationTelegramMapOutputWithContext(ctx context.Context) ProjectIntegrationTelegramMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationTelegramMapOutput) +} + +type ProjectIntegrationTelegramOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationTelegramOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationTelegram)(nil)).Elem() +} + +func (o ProjectIntegrationTelegramOutput) ToProjectIntegrationTelegramOutput() ProjectIntegrationTelegramOutput { + return o +} + +func (o ProjectIntegrationTelegramOutput) ToProjectIntegrationTelegramOutputWithContext(ctx context.Context) ProjectIntegrationTelegramOutput { + return o +} + +// Branches to send notifications for. Valid options are `all`, `default`, `protected`, `defaultAndProtected`. +func (o ProjectIntegrationTelegramOutput) BranchesToBeNotified() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationTelegram) pulumi.StringOutput { return v.BranchesToBeNotified }).(pulumi.StringOutput) +} + +// Enable notifications for confidential issues events. +func (o ProjectIntegrationTelegramOutput) ConfidentialIssuesEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationTelegram) pulumi.BoolOutput { return v.ConfidentialIssuesEvents }).(pulumi.BoolOutput) +} + +// Enable notifications for confidential note events. +func (o ProjectIntegrationTelegramOutput) ConfidentialNoteEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationTelegram) pulumi.BoolOutput { return v.ConfidentialNoteEvents }).(pulumi.BoolOutput) +} + +// Enable notifications for issues events. +func (o ProjectIntegrationTelegramOutput) IssuesEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationTelegram) pulumi.BoolOutput { return v.IssuesEvents }).(pulumi.BoolOutput) +} + +// Enable notifications for merge requests events. +func (o ProjectIntegrationTelegramOutput) MergeRequestsEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationTelegram) pulumi.BoolOutput { return v.MergeRequestsEvents }).(pulumi.BoolOutput) +} + +// Enable notifications for note events. +func (o ProjectIntegrationTelegramOutput) NoteEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationTelegram) pulumi.BoolOutput { return v.NoteEvents }).(pulumi.BoolOutput) +} + +// Send notifications for broken pipelines. +func (o ProjectIntegrationTelegramOutput) NotifyOnlyBrokenPipelines() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationTelegram) pulumi.BoolOutput { return v.NotifyOnlyBrokenPipelines }).(pulumi.BoolOutput) +} + +// Enable notifications for pipeline events. +func (o ProjectIntegrationTelegramOutput) PipelineEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationTelegram) pulumi.BoolOutput { return v.PipelineEvents }).(pulumi.BoolOutput) +} + +// The ID or full path of the project to integrate with Telegram. +func (o ProjectIntegrationTelegramOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationTelegram) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Enable notifications for push events. +func (o ProjectIntegrationTelegramOutput) PushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationTelegram) pulumi.BoolOutput { return v.PushEvents }).(pulumi.BoolOutput) +} + +// Unique identifier for the target chat or the username of the target channel (in the format `@channelusername`) +func (o ProjectIntegrationTelegramOutput) Room() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationTelegram) pulumi.StringOutput { return v.Room }).(pulumi.StringOutput) +} + +// Enable notifications for tag push events. +func (o ProjectIntegrationTelegramOutput) TagPushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationTelegram) pulumi.BoolOutput { return v.TagPushEvents }).(pulumi.BoolOutput) +} + +// The Telegram bot token. +func (o ProjectIntegrationTelegramOutput) Token() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationTelegram) pulumi.StringOutput { return v.Token }).(pulumi.StringOutput) +} + +// Enable notifications for wiki page events. +func (o ProjectIntegrationTelegramOutput) WikiPageEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectIntegrationTelegram) pulumi.BoolOutput { return v.WikiPageEvents }).(pulumi.BoolOutput) +} + +type ProjectIntegrationTelegramArrayOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationTelegramArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationTelegram)(nil)).Elem() +} + +func (o ProjectIntegrationTelegramArrayOutput) ToProjectIntegrationTelegramArrayOutput() ProjectIntegrationTelegramArrayOutput { + return o +} + +func (o ProjectIntegrationTelegramArrayOutput) ToProjectIntegrationTelegramArrayOutputWithContext(ctx context.Context) ProjectIntegrationTelegramArrayOutput { + return o +} + +func (o ProjectIntegrationTelegramArrayOutput) Index(i pulumi.IntInput) ProjectIntegrationTelegramOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectIntegrationTelegram { + return vs[0].([]*ProjectIntegrationTelegram)[vs[1].(int)] + }).(ProjectIntegrationTelegramOutput) +} + +type ProjectIntegrationTelegramMapOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationTelegramMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationTelegram)(nil)).Elem() +} + +func (o ProjectIntegrationTelegramMapOutput) ToProjectIntegrationTelegramMapOutput() ProjectIntegrationTelegramMapOutput { + return o +} + +func (o ProjectIntegrationTelegramMapOutput) ToProjectIntegrationTelegramMapOutputWithContext(ctx context.Context) ProjectIntegrationTelegramMapOutput { + return o +} + +func (o ProjectIntegrationTelegramMapOutput) MapIndex(k pulumi.StringInput) ProjectIntegrationTelegramOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectIntegrationTelegram { + return vs[0].(map[string]*ProjectIntegrationTelegram)[vs[1].(string)] + }).(ProjectIntegrationTelegramOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationTelegramInput)(nil)).Elem(), &ProjectIntegrationTelegram{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationTelegramArrayInput)(nil)).Elem(), ProjectIntegrationTelegramArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationTelegramMapInput)(nil)).Elem(), ProjectIntegrationTelegramMap{}) + pulumi.RegisterOutputType(ProjectIntegrationTelegramOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationTelegramArrayOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationTelegramMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationYoutrack.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationYoutrack.go new file mode 100644 index 000000000..84496be26 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIntegrationYoutrack.go @@ -0,0 +1,305 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectIntegrationYoutrack` resource manages the lifecycle of a project integration with YouTrack. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#youtrack) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// myProject, err := gitlab.NewProject(ctx, "my_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("my_project"), +// Description: pulumi.String("My project."), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectIntegrationYoutrack(ctx, "default", &gitlab.ProjectIntegrationYoutrackArgs{ +// Project: myProject.ID(), +// IssuesUrl: pulumi.String("https://my.youtrack.com/issue/:id"), +// ProjectUrl: pulumi.String("https://my.youtrack.com"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIntegrationYoutrack`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import a ProjectIntegrationYoutrack state using the project ID, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectIntegrationYoutrack:ProjectIntegrationYoutrack default 1 +// ``` +type ProjectIntegrationYoutrack struct { + pulumi.CustomResourceState + + // URL to view an issue in the external issue tracker. Must contain :id. + IssuesUrl pulumi.StringOutput `pulumi:"issuesUrl"` + // ID or namespace of the project you want to activate integration on. + Project pulumi.StringOutput `pulumi:"project"` + // URL of the project in the external issue tracker. + ProjectUrl pulumi.StringOutput `pulumi:"projectUrl"` +} + +// NewProjectIntegrationYoutrack registers a new resource with the given unique name, arguments, and options. +func NewProjectIntegrationYoutrack(ctx *pulumi.Context, + name string, args *ProjectIntegrationYoutrackArgs, opts ...pulumi.ResourceOption) (*ProjectIntegrationYoutrack, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.IssuesUrl == nil { + return nil, errors.New("invalid value for required argument 'IssuesUrl'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.ProjectUrl == nil { + return nil, errors.New("invalid value for required argument 'ProjectUrl'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectIntegrationYoutrack + err := ctx.RegisterResource("gitlab:index/projectIntegrationYoutrack:ProjectIntegrationYoutrack", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectIntegrationYoutrack gets an existing ProjectIntegrationYoutrack resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectIntegrationYoutrack(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectIntegrationYoutrackState, opts ...pulumi.ResourceOption) (*ProjectIntegrationYoutrack, error) { + var resource ProjectIntegrationYoutrack + err := ctx.ReadResource("gitlab:index/projectIntegrationYoutrack:ProjectIntegrationYoutrack", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectIntegrationYoutrack resources. +type projectIntegrationYoutrackState struct { + // URL to view an issue in the external issue tracker. Must contain :id. + IssuesUrl *string `pulumi:"issuesUrl"` + // ID or namespace of the project you want to activate integration on. + Project *string `pulumi:"project"` + // URL of the project in the external issue tracker. + ProjectUrl *string `pulumi:"projectUrl"` +} + +type ProjectIntegrationYoutrackState struct { + // URL to view an issue in the external issue tracker. Must contain :id. + IssuesUrl pulumi.StringPtrInput + // ID or namespace of the project you want to activate integration on. + Project pulumi.StringPtrInput + // URL of the project in the external issue tracker. + ProjectUrl pulumi.StringPtrInput +} + +func (ProjectIntegrationYoutrackState) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationYoutrackState)(nil)).Elem() +} + +type projectIntegrationYoutrackArgs struct { + // URL to view an issue in the external issue tracker. Must contain :id. + IssuesUrl string `pulumi:"issuesUrl"` + // ID or namespace of the project you want to activate integration on. + Project string `pulumi:"project"` + // URL of the project in the external issue tracker. + ProjectUrl string `pulumi:"projectUrl"` +} + +// The set of arguments for constructing a ProjectIntegrationYoutrack resource. +type ProjectIntegrationYoutrackArgs struct { + // URL to view an issue in the external issue tracker. Must contain :id. + IssuesUrl pulumi.StringInput + // ID or namespace of the project you want to activate integration on. + Project pulumi.StringInput + // URL of the project in the external issue tracker. + ProjectUrl pulumi.StringInput +} + +func (ProjectIntegrationYoutrackArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectIntegrationYoutrackArgs)(nil)).Elem() +} + +type ProjectIntegrationYoutrackInput interface { + pulumi.Input + + ToProjectIntegrationYoutrackOutput() ProjectIntegrationYoutrackOutput + ToProjectIntegrationYoutrackOutputWithContext(ctx context.Context) ProjectIntegrationYoutrackOutput +} + +func (*ProjectIntegrationYoutrack) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationYoutrack)(nil)).Elem() +} + +func (i *ProjectIntegrationYoutrack) ToProjectIntegrationYoutrackOutput() ProjectIntegrationYoutrackOutput { + return i.ToProjectIntegrationYoutrackOutputWithContext(context.Background()) +} + +func (i *ProjectIntegrationYoutrack) ToProjectIntegrationYoutrackOutputWithContext(ctx context.Context) ProjectIntegrationYoutrackOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationYoutrackOutput) +} + +// ProjectIntegrationYoutrackArrayInput is an input type that accepts ProjectIntegrationYoutrackArray and ProjectIntegrationYoutrackArrayOutput values. +// You can construct a concrete instance of `ProjectIntegrationYoutrackArrayInput` via: +// +// ProjectIntegrationYoutrackArray{ ProjectIntegrationYoutrackArgs{...} } +type ProjectIntegrationYoutrackArrayInput interface { + pulumi.Input + + ToProjectIntegrationYoutrackArrayOutput() ProjectIntegrationYoutrackArrayOutput + ToProjectIntegrationYoutrackArrayOutputWithContext(context.Context) ProjectIntegrationYoutrackArrayOutput +} + +type ProjectIntegrationYoutrackArray []ProjectIntegrationYoutrackInput + +func (ProjectIntegrationYoutrackArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationYoutrack)(nil)).Elem() +} + +func (i ProjectIntegrationYoutrackArray) ToProjectIntegrationYoutrackArrayOutput() ProjectIntegrationYoutrackArrayOutput { + return i.ToProjectIntegrationYoutrackArrayOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationYoutrackArray) ToProjectIntegrationYoutrackArrayOutputWithContext(ctx context.Context) ProjectIntegrationYoutrackArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationYoutrackArrayOutput) +} + +// ProjectIntegrationYoutrackMapInput is an input type that accepts ProjectIntegrationYoutrackMap and ProjectIntegrationYoutrackMapOutput values. +// You can construct a concrete instance of `ProjectIntegrationYoutrackMapInput` via: +// +// ProjectIntegrationYoutrackMap{ "key": ProjectIntegrationYoutrackArgs{...} } +type ProjectIntegrationYoutrackMapInput interface { + pulumi.Input + + ToProjectIntegrationYoutrackMapOutput() ProjectIntegrationYoutrackMapOutput + ToProjectIntegrationYoutrackMapOutputWithContext(context.Context) ProjectIntegrationYoutrackMapOutput +} + +type ProjectIntegrationYoutrackMap map[string]ProjectIntegrationYoutrackInput + +func (ProjectIntegrationYoutrackMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationYoutrack)(nil)).Elem() +} + +func (i ProjectIntegrationYoutrackMap) ToProjectIntegrationYoutrackMapOutput() ProjectIntegrationYoutrackMapOutput { + return i.ToProjectIntegrationYoutrackMapOutputWithContext(context.Background()) +} + +func (i ProjectIntegrationYoutrackMap) ToProjectIntegrationYoutrackMapOutputWithContext(ctx context.Context) ProjectIntegrationYoutrackMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIntegrationYoutrackMapOutput) +} + +type ProjectIntegrationYoutrackOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationYoutrackOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIntegrationYoutrack)(nil)).Elem() +} + +func (o ProjectIntegrationYoutrackOutput) ToProjectIntegrationYoutrackOutput() ProjectIntegrationYoutrackOutput { + return o +} + +func (o ProjectIntegrationYoutrackOutput) ToProjectIntegrationYoutrackOutputWithContext(ctx context.Context) ProjectIntegrationYoutrackOutput { + return o +} + +// URL to view an issue in the external issue tracker. Must contain :id. +func (o ProjectIntegrationYoutrackOutput) IssuesUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationYoutrack) pulumi.StringOutput { return v.IssuesUrl }).(pulumi.StringOutput) +} + +// ID or namespace of the project you want to activate integration on. +func (o ProjectIntegrationYoutrackOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationYoutrack) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// URL of the project in the external issue tracker. +func (o ProjectIntegrationYoutrackOutput) ProjectUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIntegrationYoutrack) pulumi.StringOutput { return v.ProjectUrl }).(pulumi.StringOutput) +} + +type ProjectIntegrationYoutrackArrayOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationYoutrackArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIntegrationYoutrack)(nil)).Elem() +} + +func (o ProjectIntegrationYoutrackArrayOutput) ToProjectIntegrationYoutrackArrayOutput() ProjectIntegrationYoutrackArrayOutput { + return o +} + +func (o ProjectIntegrationYoutrackArrayOutput) ToProjectIntegrationYoutrackArrayOutputWithContext(ctx context.Context) ProjectIntegrationYoutrackArrayOutput { + return o +} + +func (o ProjectIntegrationYoutrackArrayOutput) Index(i pulumi.IntInput) ProjectIntegrationYoutrackOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectIntegrationYoutrack { + return vs[0].([]*ProjectIntegrationYoutrack)[vs[1].(int)] + }).(ProjectIntegrationYoutrackOutput) +} + +type ProjectIntegrationYoutrackMapOutput struct{ *pulumi.OutputState } + +func (ProjectIntegrationYoutrackMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIntegrationYoutrack)(nil)).Elem() +} + +func (o ProjectIntegrationYoutrackMapOutput) ToProjectIntegrationYoutrackMapOutput() ProjectIntegrationYoutrackMapOutput { + return o +} + +func (o ProjectIntegrationYoutrackMapOutput) ToProjectIntegrationYoutrackMapOutputWithContext(ctx context.Context) ProjectIntegrationYoutrackMapOutput { + return o +} + +func (o ProjectIntegrationYoutrackMapOutput) MapIndex(k pulumi.StringInput) ProjectIntegrationYoutrackOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectIntegrationYoutrack { + return vs[0].(map[string]*ProjectIntegrationYoutrack)[vs[1].(string)] + }).(ProjectIntegrationYoutrackOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationYoutrackInput)(nil)).Elem(), &ProjectIntegrationYoutrack{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationYoutrackArrayInput)(nil)).Elem(), ProjectIntegrationYoutrackArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIntegrationYoutrackMapInput)(nil)).Elem(), ProjectIntegrationYoutrackMap{}) + pulumi.RegisterOutputType(ProjectIntegrationYoutrackOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationYoutrackArrayOutput{}) + pulumi.RegisterOutputType(ProjectIntegrationYoutrackMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectIssue.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIssue.go similarity index 97% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectIssue.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIssue.go index 711b9dc72..c1cffc8be 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectIssue.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIssue.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,10 +8,18 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// The `ProjectIssue` resource manages the lifecycle of an issue within a project. +// +// > During a terraform destroy this resource will close the issue. Set the deleteOnDestroy flag to true to delete the issue instead of closing it. +// +// > **Experimental** While the base functionality of this resource works, it may be subject to minor change. +// +// **Upstream API**: [GitLab API docs](https://docs.gitlab.com/api/issues/) +// // ## Example Usage // // ```go @@ -21,7 +29,7 @@ import ( // // "fmt" // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -47,7 +55,7 @@ import ( // if err != nil { // return err // } -// ctx.Export("welcomeIssueWebUrl", webUrl) +// ctx.Export("welcomeIssueWebUrl", pulumi.Any(webUrl)) // return nil // }) // } @@ -56,25 +64,17 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_issue`. For example: -// -// terraform +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIssue`. For example: // -// import { +// Importing using the CLI is supported with the following syntax: // -// to = gitlab_project_issue.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import this resource with an id made up of `{project-id}:{issue-id}`, e.g. +// You can import this resource with an id made up of `{project}:{issue-id}`, for example: // // ```sh // $ pulumi import gitlab:index/projectIssue:ProjectIssue welcome_issue 42:1 // ``` +// +// Where `project` may be the product ID or path with namespace depending on what you have in your config. type ProjectIssue struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectIssueBoard.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIssueBoard.go similarity index 80% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectIssueBoard.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIssueBoard.go index e3cfc05eb..d3f667133 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectIssueBoard.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIssueBoard.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,37 +8,115 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectIssueBoard` resource allows to manage the lifecycle of a Project Issue Board. +// The `ProjectIssueBoard` resource manages the lifecycle of a Project Issue Board. // // > **NOTE:** If the board lists are changed all lists will be recreated. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/boards/) // -// ## Import +// ## Example Usage +// +// ```go +// package main +// +// import ( // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_issue_board`. For example: +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // -// terraform +// ) // -// import { +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := gitlab.NewProject(ctx, "example", &gitlab.ProjectArgs{ +// Name: pulumi.String("example project"), +// Description: pulumi.String("Lorem Ipsum"), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// exampleUser, err := gitlab.NewUser(ctx, "example", &gitlab.UserArgs{ +// Name: pulumi.String("example"), +// Username: pulumi.String("example"), +// Email: pulumi.String("example@example.com"), +// Password: pulumi.String("example1$$$"), +// }) +// if err != nil { +// return err +// } +// exampleProjectMembership, err := gitlab.NewProjectMembership(ctx, "example", &gitlab.ProjectMembershipArgs{ +// Project: example.ID(), +// UserId: exampleUser.ID(), +// AccessLevel: pulumi.String("developer"), +// }) +// if err != nil { +// return err +// } +// exampleProjectMilestone, err := gitlab.NewProjectMilestone(ctx, "example", &gitlab.ProjectMilestoneArgs{ +// Project: example.ID(), +// Title: pulumi.String("m1"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectIssueBoard(ctx, "this", &gitlab.ProjectIssueBoardArgs{ +// Project: example.ID(), +// Name: pulumi.String("Test Issue Board"), +// Lists: gitlab.ProjectIssueBoardListArray{ +// &gitlab.ProjectIssueBoardListArgs{ +// AssigneeId: exampleUser.ID(), +// }, +// &gitlab.ProjectIssueBoardListArgs{ +// MilestoneId: exampleProjectMilestone.MilestoneId, +// }, +// }, +// }, pulumi.DependsOn([]pulumi.Resource{ +// exampleProjectMembership, +// })) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectIssueBoard(ctx, "list_syntax", &gitlab.ProjectIssueBoardArgs{ +// Project: example.ID(), +// Name: pulumi.String("Test Issue Board with list syntax"), +// Lists: gitlab.ProjectIssueBoardListArray{ +// &gitlab.ProjectIssueBoardListArgs{ +// AssigneeId: exampleUser.ID(), +// }, +// &gitlab.ProjectIssueBoardListArgs{ +// MilestoneId: exampleProjectMilestone.MilestoneId, +// }, +// }, +// }, pulumi.DependsOn([]pulumi.Resource{ +// exampleProjectMembership, +// })) +// if err != nil { +// return err +// } +// return nil +// }) +// } // -// to = gitlab_project_issue_board.example +// ``` // -// id = "see CLI command below for ID" +// ## Import // -// } +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIssueBoard`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// You can import this resource with an id made up of `{project-id}:{issue-board-id}`, e.g. +// You can import this resource with an id made up of `{project}:{issue-board-id}`, for example: // // ```sh // $ pulumi import gitlab:index/projectIssueBoard:ProjectIssueBoard kanban 42:1 // ``` +// +// Where `project` may be the product ID or path with namespace depending on what you have in your config. type ProjectIssueBoard struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIssueLink.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIssueLink.go new file mode 100644 index 000000000..0de43d92a --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectIssueLink.go @@ -0,0 +1,399 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectIssueLink` resource manages the lifecycle of project issue links. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/issue_links/) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// // Create a project +// example, err := gitlab.NewProject(ctx, "example", &gitlab.ProjectArgs{ +// Name: pulumi.String("example"), +// Description: pulumi.String("An example project"), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// // Create source issue +// source, err := gitlab.NewProjectIssue(ctx, "source", &gitlab.ProjectIssueArgs{ +// Project: example.ID(), +// Title: pulumi.String("Source Issue"), +// }) +// if err != nil { +// return err +// } +// // Create target issue +// target, err := gitlab.NewProjectIssue(ctx, "target", &gitlab.ProjectIssueArgs{ +// Project: example.ID(), +// Title: pulumi.String("Target Issue"), +// }) +// if err != nil { +// return err +// } +// // Link issues with "relates_to" link type (default) +// _, err = gitlab.NewProjectIssueLink(ctx, "relates_to", &gitlab.ProjectIssueLinkArgs{ +// Project: example.ID(), +// IssueIid: source.Iid, +// TargetProjectId: example.ID(), +// TargetIssueIid: target.Iid, +// LinkType: pulumi.String("relates_to"), +// }) +// if err != nil { +// return err +// } +// // Cross-project linking example +// otherProject, err := gitlab.NewProject(ctx, "other_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("other_project"), +// Description: pulumi.String("Another project for cross-project linking"), +// }) +// if err != nil { +// return err +// } +// crossTarget, err := gitlab.NewProjectIssue(ctx, "cross_target", &gitlab.ProjectIssueArgs{ +// Project: otherProject.ID(), +// Title: pulumi.String("Cross-Project Target Issue"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectIssueLink(ctx, "cross_project_relates_to", &gitlab.ProjectIssueLinkArgs{ +// Project: example.ID(), +// IssueIid: source.Iid, +// TargetProjectId: otherProject.ID(), +// TargetIssueIid: crossTarget.Iid, +// LinkType: pulumi.String("relates_to"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectIssueLink`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import this resource with an id made up of `{project}:{source-issue-iid}:{target-issue-iid}`, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectIssueLink:ProjectIssueLink example 42:1001:1002 +// ``` +// +// Where `project` may be the product ID or path with namespace depending on what you have in your config. +type ProjectIssueLink struct { + pulumi.CustomResourceState + + // The internal ID of a project's issue. + IssueIid pulumi.IntOutput `pulumi:"issueIid"` + // ID of an issue relationship. + IssueLinkId pulumi.IntOutput `pulumi:"issueLinkId"` + // Type of the relationship. Valid values are `relatesTo`, `blocks`, `isBlockedBy`. + LinkType pulumi.StringOutput `pulumi:"linkType"` + // The ID or URL-encoded path of the project. + Project pulumi.StringOutput `pulumi:"project"` + // The internal ID of the target issue. + TargetIssueIid pulumi.IntOutput `pulumi:"targetIssueIid"` + // The ID or URL-encoded path of the target project. + TargetProjectId pulumi.StringOutput `pulumi:"targetProjectId"` +} + +// NewProjectIssueLink registers a new resource with the given unique name, arguments, and options. +func NewProjectIssueLink(ctx *pulumi.Context, + name string, args *ProjectIssueLinkArgs, opts ...pulumi.ResourceOption) (*ProjectIssueLink, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.IssueIid == nil { + return nil, errors.New("invalid value for required argument 'IssueIid'") + } + if args.LinkType == nil { + return nil, errors.New("invalid value for required argument 'LinkType'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.TargetIssueIid == nil { + return nil, errors.New("invalid value for required argument 'TargetIssueIid'") + } + if args.TargetProjectId == nil { + return nil, errors.New("invalid value for required argument 'TargetProjectId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectIssueLink + err := ctx.RegisterResource("gitlab:index/projectIssueLink:ProjectIssueLink", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectIssueLink gets an existing ProjectIssueLink resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectIssueLink(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectIssueLinkState, opts ...pulumi.ResourceOption) (*ProjectIssueLink, error) { + var resource ProjectIssueLink + err := ctx.ReadResource("gitlab:index/projectIssueLink:ProjectIssueLink", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectIssueLink resources. +type projectIssueLinkState struct { + // The internal ID of a project's issue. + IssueIid *int `pulumi:"issueIid"` + // ID of an issue relationship. + IssueLinkId *int `pulumi:"issueLinkId"` + // Type of the relationship. Valid values are `relatesTo`, `blocks`, `isBlockedBy`. + LinkType *string `pulumi:"linkType"` + // The ID or URL-encoded path of the project. + Project *string `pulumi:"project"` + // The internal ID of the target issue. + TargetIssueIid *int `pulumi:"targetIssueIid"` + // The ID or URL-encoded path of the target project. + TargetProjectId *string `pulumi:"targetProjectId"` +} + +type ProjectIssueLinkState struct { + // The internal ID of a project's issue. + IssueIid pulumi.IntPtrInput + // ID of an issue relationship. + IssueLinkId pulumi.IntPtrInput + // Type of the relationship. Valid values are `relatesTo`, `blocks`, `isBlockedBy`. + LinkType pulumi.StringPtrInput + // The ID or URL-encoded path of the project. + Project pulumi.StringPtrInput + // The internal ID of the target issue. + TargetIssueIid pulumi.IntPtrInput + // The ID or URL-encoded path of the target project. + TargetProjectId pulumi.StringPtrInput +} + +func (ProjectIssueLinkState) ElementType() reflect.Type { + return reflect.TypeOf((*projectIssueLinkState)(nil)).Elem() +} + +type projectIssueLinkArgs struct { + // The internal ID of a project's issue. + IssueIid int `pulumi:"issueIid"` + // Type of the relationship. Valid values are `relatesTo`, `blocks`, `isBlockedBy`. + LinkType string `pulumi:"linkType"` + // The ID or URL-encoded path of the project. + Project string `pulumi:"project"` + // The internal ID of the target issue. + TargetIssueIid int `pulumi:"targetIssueIid"` + // The ID or URL-encoded path of the target project. + TargetProjectId string `pulumi:"targetProjectId"` +} + +// The set of arguments for constructing a ProjectIssueLink resource. +type ProjectIssueLinkArgs struct { + // The internal ID of a project's issue. + IssueIid pulumi.IntInput + // Type of the relationship. Valid values are `relatesTo`, `blocks`, `isBlockedBy`. + LinkType pulumi.StringInput + // The ID or URL-encoded path of the project. + Project pulumi.StringInput + // The internal ID of the target issue. + TargetIssueIid pulumi.IntInput + // The ID or URL-encoded path of the target project. + TargetProjectId pulumi.StringInput +} + +func (ProjectIssueLinkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectIssueLinkArgs)(nil)).Elem() +} + +type ProjectIssueLinkInput interface { + pulumi.Input + + ToProjectIssueLinkOutput() ProjectIssueLinkOutput + ToProjectIssueLinkOutputWithContext(ctx context.Context) ProjectIssueLinkOutput +} + +func (*ProjectIssueLink) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIssueLink)(nil)).Elem() +} + +func (i *ProjectIssueLink) ToProjectIssueLinkOutput() ProjectIssueLinkOutput { + return i.ToProjectIssueLinkOutputWithContext(context.Background()) +} + +func (i *ProjectIssueLink) ToProjectIssueLinkOutputWithContext(ctx context.Context) ProjectIssueLinkOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIssueLinkOutput) +} + +// ProjectIssueLinkArrayInput is an input type that accepts ProjectIssueLinkArray and ProjectIssueLinkArrayOutput values. +// You can construct a concrete instance of `ProjectIssueLinkArrayInput` via: +// +// ProjectIssueLinkArray{ ProjectIssueLinkArgs{...} } +type ProjectIssueLinkArrayInput interface { + pulumi.Input + + ToProjectIssueLinkArrayOutput() ProjectIssueLinkArrayOutput + ToProjectIssueLinkArrayOutputWithContext(context.Context) ProjectIssueLinkArrayOutput +} + +type ProjectIssueLinkArray []ProjectIssueLinkInput + +func (ProjectIssueLinkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIssueLink)(nil)).Elem() +} + +func (i ProjectIssueLinkArray) ToProjectIssueLinkArrayOutput() ProjectIssueLinkArrayOutput { + return i.ToProjectIssueLinkArrayOutputWithContext(context.Background()) +} + +func (i ProjectIssueLinkArray) ToProjectIssueLinkArrayOutputWithContext(ctx context.Context) ProjectIssueLinkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIssueLinkArrayOutput) +} + +// ProjectIssueLinkMapInput is an input type that accepts ProjectIssueLinkMap and ProjectIssueLinkMapOutput values. +// You can construct a concrete instance of `ProjectIssueLinkMapInput` via: +// +// ProjectIssueLinkMap{ "key": ProjectIssueLinkArgs{...} } +type ProjectIssueLinkMapInput interface { + pulumi.Input + + ToProjectIssueLinkMapOutput() ProjectIssueLinkMapOutput + ToProjectIssueLinkMapOutputWithContext(context.Context) ProjectIssueLinkMapOutput +} + +type ProjectIssueLinkMap map[string]ProjectIssueLinkInput + +func (ProjectIssueLinkMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIssueLink)(nil)).Elem() +} + +func (i ProjectIssueLinkMap) ToProjectIssueLinkMapOutput() ProjectIssueLinkMapOutput { + return i.ToProjectIssueLinkMapOutputWithContext(context.Background()) +} + +func (i ProjectIssueLinkMap) ToProjectIssueLinkMapOutputWithContext(ctx context.Context) ProjectIssueLinkMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIssueLinkMapOutput) +} + +type ProjectIssueLinkOutput struct{ *pulumi.OutputState } + +func (ProjectIssueLinkOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIssueLink)(nil)).Elem() +} + +func (o ProjectIssueLinkOutput) ToProjectIssueLinkOutput() ProjectIssueLinkOutput { + return o +} + +func (o ProjectIssueLinkOutput) ToProjectIssueLinkOutputWithContext(ctx context.Context) ProjectIssueLinkOutput { + return o +} + +// The internal ID of a project's issue. +func (o ProjectIssueLinkOutput) IssueIid() pulumi.IntOutput { + return o.ApplyT(func(v *ProjectIssueLink) pulumi.IntOutput { return v.IssueIid }).(pulumi.IntOutput) +} + +// ID of an issue relationship. +func (o ProjectIssueLinkOutput) IssueLinkId() pulumi.IntOutput { + return o.ApplyT(func(v *ProjectIssueLink) pulumi.IntOutput { return v.IssueLinkId }).(pulumi.IntOutput) +} + +// Type of the relationship. Valid values are `relatesTo`, `blocks`, `isBlockedBy`. +func (o ProjectIssueLinkOutput) LinkType() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIssueLink) pulumi.StringOutput { return v.LinkType }).(pulumi.StringOutput) +} + +// The ID or URL-encoded path of the project. +func (o ProjectIssueLinkOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIssueLink) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// The internal ID of the target issue. +func (o ProjectIssueLinkOutput) TargetIssueIid() pulumi.IntOutput { + return o.ApplyT(func(v *ProjectIssueLink) pulumi.IntOutput { return v.TargetIssueIid }).(pulumi.IntOutput) +} + +// The ID or URL-encoded path of the target project. +func (o ProjectIssueLinkOutput) TargetProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectIssueLink) pulumi.StringOutput { return v.TargetProjectId }).(pulumi.StringOutput) +} + +type ProjectIssueLinkArrayOutput struct{ *pulumi.OutputState } + +func (ProjectIssueLinkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectIssueLink)(nil)).Elem() +} + +func (o ProjectIssueLinkArrayOutput) ToProjectIssueLinkArrayOutput() ProjectIssueLinkArrayOutput { + return o +} + +func (o ProjectIssueLinkArrayOutput) ToProjectIssueLinkArrayOutputWithContext(ctx context.Context) ProjectIssueLinkArrayOutput { + return o +} + +func (o ProjectIssueLinkArrayOutput) Index(i pulumi.IntInput) ProjectIssueLinkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectIssueLink { + return vs[0].([]*ProjectIssueLink)[vs[1].(int)] + }).(ProjectIssueLinkOutput) +} + +type ProjectIssueLinkMapOutput struct{ *pulumi.OutputState } + +func (ProjectIssueLinkMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectIssueLink)(nil)).Elem() +} + +func (o ProjectIssueLinkMapOutput) ToProjectIssueLinkMapOutput() ProjectIssueLinkMapOutput { + return o +} + +func (o ProjectIssueLinkMapOutput) ToProjectIssueLinkMapOutputWithContext(ctx context.Context) ProjectIssueLinkMapOutput { + return o +} + +func (o ProjectIssueLinkMapOutput) MapIndex(k pulumi.StringInput) ProjectIssueLinkOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectIssueLink { + return vs[0].(map[string]*ProjectIssueLink)[vs[1].(string)] + }).(ProjectIssueLinkOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIssueLinkInput)(nil)).Elem(), &ProjectIssueLink{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIssueLinkArrayInput)(nil)).Elem(), ProjectIssueLinkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIssueLinkMapInput)(nil)).Elem(), ProjectIssueLinkMap{}) + pulumi.RegisterOutputType(ProjectIssueLinkOutput{}) + pulumi.RegisterOutputType(ProjectIssueLinkArrayOutput{}) + pulumi.RegisterOutputType(ProjectIssueLinkMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectJobTokenScope.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectJobTokenScope.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectJobTokenScope.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectJobTokenScope.go index 0b2c5245a..e7a097cd2 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectJobTokenScope.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectJobTokenScope.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,37 +8,37 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectJobTokenScope` resource allows to manage the CI/CD Job Token scope in a project. +// The `ProjectJobTokenScope` resource manages the CI/CD Job Token scope in a project. // Any projects added to the CI/CD Job Token scope outside of TF will be untouched by the resource. // // > Conflicts with the use of `ProjectJobTokenScopes` when used on the same project. Use one or the other to ensure the desired state. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_job_token_scopes/) // -// ## Import -// -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_job_token_scope`. For example: +// ## Example Usage // -// terraform +// ## Import // -// import { +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectJobTokenScope`. For example: // -// to = gitlab_project_job_token_scope.example +// Importing using the CLI is supported with the following syntax: // -// id = "see CLI command below for ID" +// GitLab project job token scopes can be imported using an id made up of `projectId:type:targetId`, for example: // -// } +// For target_project_id: // -// Import using the CLI is supported using the following syntax: +// ```sh +// $ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:project:321 +// ``` // -// GitLab project job token scopes can be imported using an id made up of `projectId:targetProjectId`, e.g. +// For target_group_id: // // ```sh -// $ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:321 +// $ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:group:321 // ``` type ProjectJobTokenScope struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectJobTokenScopes.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectJobTokenScopes.go similarity index 92% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectJobTokenScopes.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectJobTokenScopes.go index bb60b7263..3f15db8b0 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectJobTokenScopes.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectJobTokenScopes.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,11 +7,11 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectJobTokenScopes` resource allows to manage the CI/CD Job Token scopes in a project. +// The `ProjectJobTokenScopes` resource manages the CI/CD Job Token scopes in a project. // Any project or group not within the defined set of `targetProjectIds` or `targetGroupIds`, respectively, will be removed, // which allows this resource to be used as an explicit deny. // @@ -28,7 +28,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -56,7 +56,7 @@ import ( // return err // } // _, err = gitlab.NewProjectJobTokenScopes(ctx, "allowed_multiple_groups", &gitlab.ProjectJobTokenScopesArgs{ -// ProjectId: pulumi.Int(111), +// Project: pulumi.String("111"), // TargetProjectIds: pulumi.IntArray{}, // TargetGroupIds: pulumi.IntArray{ // pulumi.Int(321), @@ -107,21 +107,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_job_token_scopes`. For example: -// -// terraform -// -// import { -// -// to = gitlab_project_job_token_scopes.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectJobTokenScopes`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// GitLab project job token scopes can be imported using an id made up of just the `project_id` +// GitLab project job token scopes can be imported using an id made up of just the `projectId` // // ```sh // $ pulumi import gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes bar 123 @@ -133,9 +123,9 @@ type ProjectJobTokenScopes struct { Enabled pulumi.BoolOutput `pulumi:"enabled"` // The ID or full path of the project. Project pulumi.StringOutput `pulumi:"project"` - // The ID of the project. + // The ID of the project. Use `project` instead. To be removed in 19.0. // - // Deprecated: `projectId` has been deprecated. Use `project` instead. + // Deprecated: Use `project` instead. To be removed in 19.0. ProjectId pulumi.IntOutput `pulumi:"projectId"` // A set of group IDs that are in the CI/CD job token inbound allowlist. TargetGroupIds pulumi.IntArrayOutput `pulumi:"targetGroupIds"` @@ -177,9 +167,9 @@ type projectJobTokenScopesState struct { Enabled *bool `pulumi:"enabled"` // The ID or full path of the project. Project *string `pulumi:"project"` - // The ID of the project. + // The ID of the project. Use `project` instead. To be removed in 19.0. // - // Deprecated: `projectId` has been deprecated. Use `project` instead. + // Deprecated: Use `project` instead. To be removed in 19.0. ProjectId *int `pulumi:"projectId"` // A set of group IDs that are in the CI/CD job token inbound allowlist. TargetGroupIds []int `pulumi:"targetGroupIds"` @@ -192,9 +182,9 @@ type ProjectJobTokenScopesState struct { Enabled pulumi.BoolPtrInput // The ID or full path of the project. Project pulumi.StringPtrInput - // The ID of the project. + // The ID of the project. Use `project` instead. To be removed in 19.0. // - // Deprecated: `projectId` has been deprecated. Use `project` instead. + // Deprecated: Use `project` instead. To be removed in 19.0. ProjectId pulumi.IntPtrInput // A set of group IDs that are in the CI/CD job token inbound allowlist. TargetGroupIds pulumi.IntArrayInput @@ -211,9 +201,9 @@ type projectJobTokenScopesArgs struct { Enabled *bool `pulumi:"enabled"` // The ID or full path of the project. Project *string `pulumi:"project"` - // The ID of the project. + // The ID of the project. Use `project` instead. To be removed in 19.0. // - // Deprecated: `projectId` has been deprecated. Use `project` instead. + // Deprecated: Use `project` instead. To be removed in 19.0. ProjectId *int `pulumi:"projectId"` // A set of group IDs that are in the CI/CD job token inbound allowlist. TargetGroupIds []int `pulumi:"targetGroupIds"` @@ -227,9 +217,9 @@ type ProjectJobTokenScopesArgs struct { Enabled pulumi.BoolPtrInput // The ID or full path of the project. Project pulumi.StringPtrInput - // The ID of the project. + // The ID of the project. Use `project` instead. To be removed in 19.0. // - // Deprecated: `projectId` has been deprecated. Use `project` instead. + // Deprecated: Use `project` instead. To be removed in 19.0. ProjectId pulumi.IntPtrInput // A set of group IDs that are in the CI/CD job token inbound allowlist. TargetGroupIds pulumi.IntArrayInput @@ -334,9 +324,9 @@ func (o ProjectJobTokenScopesOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v *ProjectJobTokenScopes) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) } -// The ID of the project. +// The ID of the project. Use `project` instead. To be removed in 19.0. // -// Deprecated: `projectId` has been deprecated. Use `project` instead. +// Deprecated: Use `project` instead. To be removed in 19.0. func (o ProjectJobTokenScopesOutput) ProjectId() pulumi.IntOutput { return o.ApplyT(func(v *ProjectJobTokenScopes) pulumi.IntOutput { return v.ProjectId }).(pulumi.IntOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectLabel.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectLabel.go similarity index 77% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectLabel.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectLabel.go index ad55f02cf..a9e07e467 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectLabel.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectLabel.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectLabel` resource allows to manage the lifecycle of a project label. +// The `ProjectLabel` resource manages the lifecycle of a project label. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/labels/#project-labels) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/labels/#get-a-single-project-label) // // ## Example Usage // @@ -23,15 +23,21 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := gitlab.NewProjectLabel(ctx, "fixme", &gitlab.ProjectLabelArgs{ -// Project: pulumi.String("example"), +// example, err := gitlab.NewProject(ctx, "example", &gitlab.ProjectArgs{ +// Name: pulumi.String("project"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectLabel(ctx, "fixme", &gitlab.ProjectLabelArgs{ +// Project: example.ID(), // Name: pulumi.String("fixme"), // Description: pulumi.String("issue with failing tests"), // Color: pulumi.String("#ffcc00"), @@ -41,7 +47,7 @@ import ( // } // // Scoped label // _, err = gitlab.NewProjectLabel(ctx, "devops_create", &gitlab.ProjectLabelArgs{ -// Project: pulumi.Any(example.Id), +// Project: example.ID(), // Name: pulumi.String("devops::create"), // Description: pulumi.String("issue for creating infrastructure resources"), // Color: pulumi.String("#ffa500"), @@ -57,32 +63,24 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_label`. For example: -// -// terraform -// -// import { +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectLabel`. For example: // -// to = gitlab_project_label.example +// Importing using the CLI is supported with the following syntax: // -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// Gitlab Project labels can be imported using an id made up of `{project_id}:{group_label_id}`, e.g. +// Gitlab Project labels can be imported using an id made up of `{project_id}:{label_id}`, for example: // // ```sh -// $ pulumi import gitlab:index/projectLabel:ProjectLabel example 12345:fixme +// $ pulumi import gitlab:index/projectLabel:ProjectLabel example 12345:101010 // ``` type ProjectLabel struct { pulumi.CustomResourceState - // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). + // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). Color pulumi.StringOutput `pulumi:"color"` + // Read-only, used by the provider to store the API response color. This is always in the 6-digit hex notation with leading '#' sign (e.g. #FFAABB). If `color` contains a color name, this attribute contains the hex notation equivalent. Otherwise, the value of this attribute is the same as `color`. + ColorHex pulumi.StringOutput `pulumi:"colorHex"` // The description of the label. - Description pulumi.StringPtrOutput `pulumi:"description"` + Description pulumi.StringOutput `pulumi:"description"` // The id of the project label. LabelId pulumi.IntOutput `pulumi:"labelId"` // The name of the label. @@ -127,8 +125,10 @@ func GetProjectLabel(ctx *pulumi.Context, // Input properties used for looking up and filtering ProjectLabel resources. type projectLabelState struct { - // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). + // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). Color *string `pulumi:"color"` + // Read-only, used by the provider to store the API response color. This is always in the 6-digit hex notation with leading '#' sign (e.g. #FFAABB). If `color` contains a color name, this attribute contains the hex notation equivalent. Otherwise, the value of this attribute is the same as `color`. + ColorHex *string `pulumi:"colorHex"` // The description of the label. Description *string `pulumi:"description"` // The id of the project label. @@ -140,8 +140,10 @@ type projectLabelState struct { } type ProjectLabelState struct { - // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). + // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). Color pulumi.StringPtrInput + // Read-only, used by the provider to store the API response color. This is always in the 6-digit hex notation with leading '#' sign (e.g. #FFAABB). If `color` contains a color name, this attribute contains the hex notation equivalent. Otherwise, the value of this attribute is the same as `color`. + ColorHex pulumi.StringPtrInput // The description of the label. Description pulumi.StringPtrInput // The id of the project label. @@ -157,7 +159,7 @@ func (ProjectLabelState) ElementType() reflect.Type { } type projectLabelArgs struct { - // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). + // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). Color string `pulumi:"color"` // The description of the label. Description *string `pulumi:"description"` @@ -169,7 +171,7 @@ type projectLabelArgs struct { // The set of arguments for constructing a ProjectLabel resource. type ProjectLabelArgs struct { - // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). + // The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). Color pulumi.StringInput // The description of the label. Description pulumi.StringPtrInput @@ -266,14 +268,19 @@ func (o ProjectLabelOutput) ToProjectLabelOutputWithContext(ctx context.Context) return o } -// The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords). +// The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords). func (o ProjectLabelOutput) Color() pulumi.StringOutput { return o.ApplyT(func(v *ProjectLabel) pulumi.StringOutput { return v.Color }).(pulumi.StringOutput) } +// Read-only, used by the provider to store the API response color. This is always in the 6-digit hex notation with leading '#' sign (e.g. #FFAABB). If `color` contains a color name, this attribute contains the hex notation equivalent. Otherwise, the value of this attribute is the same as `color`. +func (o ProjectLabelOutput) ColorHex() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectLabel) pulumi.StringOutput { return v.ColorHex }).(pulumi.StringOutput) +} + // The description of the label. -func (o ProjectLabelOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ProjectLabel) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +func (o ProjectLabelOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectLabel) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } // The id of the project label. diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectLevelMrApprovals.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectLevelMrApprovals.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectLevelMrApprovals.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectLevelMrApprovals.go index 81a18f0fb..1616ea22c 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectLevelMrApprovals.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectLevelMrApprovals.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,15 +8,15 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `gitlabProjectLevelMrApprovalRule` resource allows to manage the lifecycle of a Merge Request-level approval rule. +// The `gitlabProjectLevelMrApprovalRule` resource manages the lifecycle of a Merge Request-level approval rule. // // > This resource requires a GitLab Enterprise instance. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/merge_request_approvals/#merge-request-level-mr-approvals) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/merge_request_approvals/#approval-rules-for-a-merge-request) // // ## Example Usage // @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -57,23 +57,9 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_level_mr_approvals`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectLevelMrApprovals`. For example: // -// terraform -// -// import { -// -// to = gitlab_project_level_mr_approvals.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// ```sh -// $ pulumi import gitlab:index/projectLevelMrApprovals:ProjectLevelMrApprovals You can import an approval configuration state using ` `. -// ``` +// Importing using the CLI is supported with the following syntax: // // For example: // diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectLevelNotifications.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectLevelNotifications.go similarity index 93% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectLevelNotifications.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectLevelNotifications.go index 35210b01e..31006b241 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectLevelNotifications.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectLevelNotifications.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,15 +8,74 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectLevelNotifications` resource allows to manage notifications for a project. +// The `ProjectLevelNotifications` resource manages notifications for a project. // // > While the API supports both groups and projects, this resource only supports projects currently. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/notification_settings/#group--project-level-notification-settings) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/notification_settings/#get-group-or-project-notification-settings) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := gitlab.NewProject(ctx, "example", &gitlab.ProjectArgs{ +// Name: pulumi.String("example project"), +// Description: pulumi.String("Lorem Ipsum"), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// // Basic example +// _, err = gitlab.NewProjectLevelNotifications(ctx, "notifications", &gitlab.ProjectLevelNotificationsArgs{ +// Project: example.ID(), +// Level: pulumi.String("global"), +// }) +// if err != nil { +// return err +// } +// // Custom notification example +// _, err = gitlab.NewProjectLevelNotifications(ctx, "custom", &gitlab.ProjectLevelNotificationsArgs{ +// Project: example.ID(), +// Level: pulumi.String("custom"), +// NewMergeRequest: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectLevelNotifications`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// A GitLab Project level notification can be imported using a key composed of ``, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectLevelNotifications:ProjectLevelNotifications example "12345" +// ``` +// +// Where `project` may be the product ID or path with namespace depending on what you have in your config. type ProjectLevelNotifications struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectMembership.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectMembership.go similarity index 87% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectMembership.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectMembership.go index 230801b5b..87ab69551 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectMembership.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectMembership.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,15 +8,15 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectMembership` resource allows to manage the lifecycle of a users project membership. +// The `ProjectMembership` resource manages the lifecycle of a users project membership. // // > If a project should grant membership to an entire group use the `ProjectShareGroup` resource instead. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/members/) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_members/) // // ## Example Usage // @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -57,21 +57,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_membership`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectMembership`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_project_membership.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab project membership can be imported using an id made up of `project_id:user_id`, e.g. +// GitLab project membership can be imported using an id made up of `project_id:user_id`, for example: // // ```sh // $ pulumi import gitlab:index/projectMembership:ProjectMembership test "12345:1337" @@ -83,7 +73,7 @@ type ProjectMembership struct { AccessLevel pulumi.StringOutput `pulumi:"accessLevel"` // Expiration date for the project membership. Format: `YYYY-MM-DD` ExpiresAt pulumi.StringPtrOutput `pulumi:"expiresAt"` - // The ID of a custom member role. Only available for Ultimate instances. + // The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances. MemberRoleId pulumi.IntPtrOutput `pulumi:"memberRoleId"` // The ID or URL-encoded path of the project. Project pulumi.StringOutput `pulumi:"project"` @@ -134,7 +124,7 @@ type projectMembershipState struct { AccessLevel *string `pulumi:"accessLevel"` // Expiration date for the project membership. Format: `YYYY-MM-DD` ExpiresAt *string `pulumi:"expiresAt"` - // The ID of a custom member role. Only available for Ultimate instances. + // The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances. MemberRoleId *int `pulumi:"memberRoleId"` // The ID or URL-encoded path of the project. Project *string `pulumi:"project"` @@ -147,7 +137,7 @@ type ProjectMembershipState struct { AccessLevel pulumi.StringPtrInput // Expiration date for the project membership. Format: `YYYY-MM-DD` ExpiresAt pulumi.StringPtrInput - // The ID of a custom member role. Only available for Ultimate instances. + // The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances. MemberRoleId pulumi.IntPtrInput // The ID or URL-encoded path of the project. Project pulumi.StringPtrInput @@ -164,7 +154,7 @@ type projectMembershipArgs struct { AccessLevel string `pulumi:"accessLevel"` // Expiration date for the project membership. Format: `YYYY-MM-DD` ExpiresAt *string `pulumi:"expiresAt"` - // The ID of a custom member role. Only available for Ultimate instances. + // The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances. MemberRoleId *int `pulumi:"memberRoleId"` // The ID or URL-encoded path of the project. Project string `pulumi:"project"` @@ -178,7 +168,7 @@ type ProjectMembershipArgs struct { AccessLevel pulumi.StringInput // Expiration date for the project membership. Format: `YYYY-MM-DD` ExpiresAt pulumi.StringPtrInput - // The ID of a custom member role. Only available for Ultimate instances. + // The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances. MemberRoleId pulumi.IntPtrInput // The ID or URL-encoded path of the project. Project pulumi.StringInput @@ -283,7 +273,7 @@ func (o ProjectMembershipOutput) ExpiresAt() pulumi.StringPtrOutput { return o.ApplyT(func(v *ProjectMembership) pulumi.StringPtrOutput { return v.ExpiresAt }).(pulumi.StringPtrOutput) } -// The ID of a custom member role. Only available for Ultimate instances. +// The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances. func (o ProjectMembershipOutput) MemberRoleId() pulumi.IntPtrOutput { return o.ApplyT(func(v *ProjectMembership) pulumi.IntPtrOutput { return v.MemberRoleId }).(pulumi.IntPtrOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectMergeRequestNote.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectMergeRequestNote.go new file mode 100644 index 000000000..e2f335b8a --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectMergeRequestNote.go @@ -0,0 +1,396 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectMergeRequestNote` resource manages the lifecycle of a project merge request note. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/notes/#merge-requests) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := gitlab.NewProject(ctx, "example", &gitlab.ProjectArgs{ +// Name: pulumi.String("example project"), +// Description: pulumi.String("Lorem Ipsum"), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectMergeRequestNote(ctx, "example", &gitlab.ProjectMergeRequestNoteArgs{ +// Project: example.ID(), +// MergeRequestIid: pulumi.Int(456), +// Body: pulumi.String("Example note"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectMergeRequestNote`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// A GitLab Project Merge Request Note can be imported using a key composed of `::`, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectMergeRequestNote:ProjectMergeRequestNote example "12345:1:3" +// ``` +// +// Where `project` may be the product ID or path with namespace depending on what you have in your config. +type ProjectMergeRequestNote struct { + pulumi.CustomResourceState + + // The body of the merge request note. + Body pulumi.StringOutput `pulumi:"body"` + // The creation date of the merge request note. Using this field requires the token used with the provider to either be an Admin, or hava a Project or Group Owner role. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Indicates if the merge request note is internal. + Internal pulumi.BoolOutput `pulumi:"internal"` + // The diff head SHA of the merge request when the note was created. + MergeRequestDiffHeadSha pulumi.StringPtrOutput `pulumi:"mergeRequestDiffHeadSha"` + // The IID of the merge request to add the note to. + MergeRequestIid pulumi.IntOutput `pulumi:"mergeRequestIid"` + // The ID of the merge request note. + NoteId pulumi.IntOutput `pulumi:"noteId"` + // The ID or path of the project to add the note to. + Project pulumi.StringOutput `pulumi:"project"` + // Indicates if the merge request note is resolvable. + Resolvable pulumi.BoolOutput `pulumi:"resolvable"` + // Indicates if the merge request note is a system note. + System pulumi.BoolOutput `pulumi:"system"` + // The last updated date of the merge request note. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewProjectMergeRequestNote registers a new resource with the given unique name, arguments, and options. +func NewProjectMergeRequestNote(ctx *pulumi.Context, + name string, args *ProjectMergeRequestNoteArgs, opts ...pulumi.ResourceOption) (*ProjectMergeRequestNote, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Body == nil { + return nil, errors.New("invalid value for required argument 'Body'") + } + if args.MergeRequestIid == nil { + return nil, errors.New("invalid value for required argument 'MergeRequestIid'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectMergeRequestNote + err := ctx.RegisterResource("gitlab:index/projectMergeRequestNote:ProjectMergeRequestNote", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectMergeRequestNote gets an existing ProjectMergeRequestNote resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectMergeRequestNote(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectMergeRequestNoteState, opts ...pulumi.ResourceOption) (*ProjectMergeRequestNote, error) { + var resource ProjectMergeRequestNote + err := ctx.ReadResource("gitlab:index/projectMergeRequestNote:ProjectMergeRequestNote", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectMergeRequestNote resources. +type projectMergeRequestNoteState struct { + // The body of the merge request note. + Body *string `pulumi:"body"` + // The creation date of the merge request note. Using this field requires the token used with the provider to either be an Admin, or hava a Project or Group Owner role. + CreatedAt *string `pulumi:"createdAt"` + // Indicates if the merge request note is internal. + Internal *bool `pulumi:"internal"` + // The diff head SHA of the merge request when the note was created. + MergeRequestDiffHeadSha *string `pulumi:"mergeRequestDiffHeadSha"` + // The IID of the merge request to add the note to. + MergeRequestIid *int `pulumi:"mergeRequestIid"` + // The ID of the merge request note. + NoteId *int `pulumi:"noteId"` + // The ID or path of the project to add the note to. + Project *string `pulumi:"project"` + // Indicates if the merge request note is resolvable. + Resolvable *bool `pulumi:"resolvable"` + // Indicates if the merge request note is a system note. + System *bool `pulumi:"system"` + // The last updated date of the merge request note. + UpdatedAt *string `pulumi:"updatedAt"` +} + +type ProjectMergeRequestNoteState struct { + // The body of the merge request note. + Body pulumi.StringPtrInput + // The creation date of the merge request note. Using this field requires the token used with the provider to either be an Admin, or hava a Project or Group Owner role. + CreatedAt pulumi.StringPtrInput + // Indicates if the merge request note is internal. + Internal pulumi.BoolPtrInput + // The diff head SHA of the merge request when the note was created. + MergeRequestDiffHeadSha pulumi.StringPtrInput + // The IID of the merge request to add the note to. + MergeRequestIid pulumi.IntPtrInput + // The ID of the merge request note. + NoteId pulumi.IntPtrInput + // The ID or path of the project to add the note to. + Project pulumi.StringPtrInput + // Indicates if the merge request note is resolvable. + Resolvable pulumi.BoolPtrInput + // Indicates if the merge request note is a system note. + System pulumi.BoolPtrInput + // The last updated date of the merge request note. + UpdatedAt pulumi.StringPtrInput +} + +func (ProjectMergeRequestNoteState) ElementType() reflect.Type { + return reflect.TypeOf((*projectMergeRequestNoteState)(nil)).Elem() +} + +type projectMergeRequestNoteArgs struct { + // The body of the merge request note. + Body string `pulumi:"body"` + // The creation date of the merge request note. Using this field requires the token used with the provider to either be an Admin, or hava a Project or Group Owner role. + CreatedAt *string `pulumi:"createdAt"` + // Indicates if the merge request note is internal. + Internal *bool `pulumi:"internal"` + // The diff head SHA of the merge request when the note was created. + MergeRequestDiffHeadSha *string `pulumi:"mergeRequestDiffHeadSha"` + // The IID of the merge request to add the note to. + MergeRequestIid int `pulumi:"mergeRequestIid"` + // The ID or path of the project to add the note to. + Project string `pulumi:"project"` +} + +// The set of arguments for constructing a ProjectMergeRequestNote resource. +type ProjectMergeRequestNoteArgs struct { + // The body of the merge request note. + Body pulumi.StringInput + // The creation date of the merge request note. Using this field requires the token used with the provider to either be an Admin, or hava a Project or Group Owner role. + CreatedAt pulumi.StringPtrInput + // Indicates if the merge request note is internal. + Internal pulumi.BoolPtrInput + // The diff head SHA of the merge request when the note was created. + MergeRequestDiffHeadSha pulumi.StringPtrInput + // The IID of the merge request to add the note to. + MergeRequestIid pulumi.IntInput + // The ID or path of the project to add the note to. + Project pulumi.StringInput +} + +func (ProjectMergeRequestNoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectMergeRequestNoteArgs)(nil)).Elem() +} + +type ProjectMergeRequestNoteInput interface { + pulumi.Input + + ToProjectMergeRequestNoteOutput() ProjectMergeRequestNoteOutput + ToProjectMergeRequestNoteOutputWithContext(ctx context.Context) ProjectMergeRequestNoteOutput +} + +func (*ProjectMergeRequestNote) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectMergeRequestNote)(nil)).Elem() +} + +func (i *ProjectMergeRequestNote) ToProjectMergeRequestNoteOutput() ProjectMergeRequestNoteOutput { + return i.ToProjectMergeRequestNoteOutputWithContext(context.Background()) +} + +func (i *ProjectMergeRequestNote) ToProjectMergeRequestNoteOutputWithContext(ctx context.Context) ProjectMergeRequestNoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectMergeRequestNoteOutput) +} + +// ProjectMergeRequestNoteArrayInput is an input type that accepts ProjectMergeRequestNoteArray and ProjectMergeRequestNoteArrayOutput values. +// You can construct a concrete instance of `ProjectMergeRequestNoteArrayInput` via: +// +// ProjectMergeRequestNoteArray{ ProjectMergeRequestNoteArgs{...} } +type ProjectMergeRequestNoteArrayInput interface { + pulumi.Input + + ToProjectMergeRequestNoteArrayOutput() ProjectMergeRequestNoteArrayOutput + ToProjectMergeRequestNoteArrayOutputWithContext(context.Context) ProjectMergeRequestNoteArrayOutput +} + +type ProjectMergeRequestNoteArray []ProjectMergeRequestNoteInput + +func (ProjectMergeRequestNoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectMergeRequestNote)(nil)).Elem() +} + +func (i ProjectMergeRequestNoteArray) ToProjectMergeRequestNoteArrayOutput() ProjectMergeRequestNoteArrayOutput { + return i.ToProjectMergeRequestNoteArrayOutputWithContext(context.Background()) +} + +func (i ProjectMergeRequestNoteArray) ToProjectMergeRequestNoteArrayOutputWithContext(ctx context.Context) ProjectMergeRequestNoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectMergeRequestNoteArrayOutput) +} + +// ProjectMergeRequestNoteMapInput is an input type that accepts ProjectMergeRequestNoteMap and ProjectMergeRequestNoteMapOutput values. +// You can construct a concrete instance of `ProjectMergeRequestNoteMapInput` via: +// +// ProjectMergeRequestNoteMap{ "key": ProjectMergeRequestNoteArgs{...} } +type ProjectMergeRequestNoteMapInput interface { + pulumi.Input + + ToProjectMergeRequestNoteMapOutput() ProjectMergeRequestNoteMapOutput + ToProjectMergeRequestNoteMapOutputWithContext(context.Context) ProjectMergeRequestNoteMapOutput +} + +type ProjectMergeRequestNoteMap map[string]ProjectMergeRequestNoteInput + +func (ProjectMergeRequestNoteMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectMergeRequestNote)(nil)).Elem() +} + +func (i ProjectMergeRequestNoteMap) ToProjectMergeRequestNoteMapOutput() ProjectMergeRequestNoteMapOutput { + return i.ToProjectMergeRequestNoteMapOutputWithContext(context.Background()) +} + +func (i ProjectMergeRequestNoteMap) ToProjectMergeRequestNoteMapOutputWithContext(ctx context.Context) ProjectMergeRequestNoteMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectMergeRequestNoteMapOutput) +} + +type ProjectMergeRequestNoteOutput struct{ *pulumi.OutputState } + +func (ProjectMergeRequestNoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectMergeRequestNote)(nil)).Elem() +} + +func (o ProjectMergeRequestNoteOutput) ToProjectMergeRequestNoteOutput() ProjectMergeRequestNoteOutput { + return o +} + +func (o ProjectMergeRequestNoteOutput) ToProjectMergeRequestNoteOutputWithContext(ctx context.Context) ProjectMergeRequestNoteOutput { + return o +} + +// The body of the merge request note. +func (o ProjectMergeRequestNoteOutput) Body() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectMergeRequestNote) pulumi.StringOutput { return v.Body }).(pulumi.StringOutput) +} + +// The creation date of the merge request note. Using this field requires the token used with the provider to either be an Admin, or hava a Project or Group Owner role. +func (o ProjectMergeRequestNoteOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectMergeRequestNote) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Indicates if the merge request note is internal. +func (o ProjectMergeRequestNoteOutput) Internal() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectMergeRequestNote) pulumi.BoolOutput { return v.Internal }).(pulumi.BoolOutput) +} + +// The diff head SHA of the merge request when the note was created. +func (o ProjectMergeRequestNoteOutput) MergeRequestDiffHeadSha() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectMergeRequestNote) pulumi.StringPtrOutput { return v.MergeRequestDiffHeadSha }).(pulumi.StringPtrOutput) +} + +// The IID of the merge request to add the note to. +func (o ProjectMergeRequestNoteOutput) MergeRequestIid() pulumi.IntOutput { + return o.ApplyT(func(v *ProjectMergeRequestNote) pulumi.IntOutput { return v.MergeRequestIid }).(pulumi.IntOutput) +} + +// The ID of the merge request note. +func (o ProjectMergeRequestNoteOutput) NoteId() pulumi.IntOutput { + return o.ApplyT(func(v *ProjectMergeRequestNote) pulumi.IntOutput { return v.NoteId }).(pulumi.IntOutput) +} + +// The ID or path of the project to add the note to. +func (o ProjectMergeRequestNoteOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectMergeRequestNote) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Indicates if the merge request note is resolvable. +func (o ProjectMergeRequestNoteOutput) Resolvable() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectMergeRequestNote) pulumi.BoolOutput { return v.Resolvable }).(pulumi.BoolOutput) +} + +// Indicates if the merge request note is a system note. +func (o ProjectMergeRequestNoteOutput) System() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectMergeRequestNote) pulumi.BoolOutput { return v.System }).(pulumi.BoolOutput) +} + +// The last updated date of the merge request note. +func (o ProjectMergeRequestNoteOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectMergeRequestNote) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type ProjectMergeRequestNoteArrayOutput struct{ *pulumi.OutputState } + +func (ProjectMergeRequestNoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectMergeRequestNote)(nil)).Elem() +} + +func (o ProjectMergeRequestNoteArrayOutput) ToProjectMergeRequestNoteArrayOutput() ProjectMergeRequestNoteArrayOutput { + return o +} + +func (o ProjectMergeRequestNoteArrayOutput) ToProjectMergeRequestNoteArrayOutputWithContext(ctx context.Context) ProjectMergeRequestNoteArrayOutput { + return o +} + +func (o ProjectMergeRequestNoteArrayOutput) Index(i pulumi.IntInput) ProjectMergeRequestNoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectMergeRequestNote { + return vs[0].([]*ProjectMergeRequestNote)[vs[1].(int)] + }).(ProjectMergeRequestNoteOutput) +} + +type ProjectMergeRequestNoteMapOutput struct{ *pulumi.OutputState } + +func (ProjectMergeRequestNoteMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectMergeRequestNote)(nil)).Elem() +} + +func (o ProjectMergeRequestNoteMapOutput) ToProjectMergeRequestNoteMapOutput() ProjectMergeRequestNoteMapOutput { + return o +} + +func (o ProjectMergeRequestNoteMapOutput) ToProjectMergeRequestNoteMapOutputWithContext(ctx context.Context) ProjectMergeRequestNoteMapOutput { + return o +} + +func (o ProjectMergeRequestNoteMapOutput) MapIndex(k pulumi.StringInput) ProjectMergeRequestNoteOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectMergeRequestNote { + return vs[0].(map[string]*ProjectMergeRequestNote)[vs[1].(string)] + }).(ProjectMergeRequestNoteOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectMergeRequestNoteInput)(nil)).Elem(), &ProjectMergeRequestNote{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectMergeRequestNoteArrayInput)(nil)).Elem(), ProjectMergeRequestNoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectMergeRequestNoteMapInput)(nil)).Elem(), ProjectMergeRequestNoteMap{}) + pulumi.RegisterOutputType(ProjectMergeRequestNoteOutput{}) + pulumi.RegisterOutputType(ProjectMergeRequestNoteArrayOutput{}) + pulumi.RegisterOutputType(ProjectMergeRequestNoteMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectMilestone.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectMilestone.go similarity index 81% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectMilestone.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectMilestone.go index 5217cd2f1..105252586 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectMilestone.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectMilestone.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectMilestone` resource allows to manage the lifecycle of a project milestone. +// The `ProjectMilestone` resource manages the lifecycle of a project milestone. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/milestones/) // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -39,6 +39,7 @@ import ( // if err != nil { // return err // } +// // Basic milestone with required fields only // _, err = gitlab.NewProjectMilestone(ctx, "example", &gitlab.ProjectMilestoneArgs{ // Project: example.ID(), // Title: pulumi.String("example"), @@ -46,6 +47,18 @@ import ( // if err != nil { // return err // } +// // Comprehensive milestone with all optional fields +// _, err = gitlab.NewProjectMilestone(ctx, "comprehensive", &gitlab.ProjectMilestoneArgs{ +// Project: example.ID(), +// Title: pulumi.String("Q4 2024 Release"), +// Description: pulumi.String("Major release for Q4 2024"), +// StartDate: pulumi.String("2024-01-01"), +// DueDate: pulumi.String("2024-12-31"), +// State: pulumi.String("active"), +// }) +// if err != nil { +// return err +// } // return nil // }) // } @@ -54,21 +67,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_milestone`. For example: -// -// terraform -// -// import { -// -// to = gitlab_project_milestone.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectMilestone`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// Gitlab project milestone can be imported with a key composed of `:`, e.g. +// Gitlab project milestone can be imported with a key composed of `:`, for example: // // ```sh // $ pulumi import gitlab:index/projectMilestone:ProjectMilestone example "12345:11" @@ -79,23 +82,23 @@ type ProjectMilestone struct { // The time of creation of the milestone. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. CreatedAt pulumi.StringOutput `pulumi:"createdAt"` // The description of the milestone. - Description pulumi.StringPtrOutput `pulumi:"description"` - // The due date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. - DueDate pulumi.StringPtrOutput `pulumi:"dueDate"` + Description pulumi.StringOutput `pulumi:"description"` + // The due date of the milestone. Date string in the format YYYY-MM-DD, for example 2016-03-11. + DueDate pulumi.StringOutput `pulumi:"dueDate"` // Bool, true if milestone expired. Expired pulumi.BoolOutput `pulumi:"expired"` // The ID of the project's milestone. Iid pulumi.IntOutput `pulumi:"iid"` - // The instance-wide ID of the project’s milestone. + // The instance-wide ID of the project's milestone. MilestoneId pulumi.IntOutput `pulumi:"milestoneId"` // The ID or URL-encoded path of the project owned by the authenticated user. Project pulumi.StringOutput `pulumi:"project"` // The project ID of milestone. ProjectId pulumi.IntOutput `pulumi:"projectId"` - // The start date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. - StartDate pulumi.StringPtrOutput `pulumi:"startDate"` + // The start date of the milestone. Date string in the format YYYY-MM-DD, for example 2016-03-11. + StartDate pulumi.StringOutput `pulumi:"startDate"` // The state of the milestone. Valid values are: `active`, `closed`. - State pulumi.StringPtrOutput `pulumi:"state"` + State pulumi.StringOutput `pulumi:"state"` // The title of a milestone. Title pulumi.StringOutput `pulumi:"title"` // The last update time of the milestone. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. @@ -144,19 +147,19 @@ type projectMilestoneState struct { CreatedAt *string `pulumi:"createdAt"` // The description of the milestone. Description *string `pulumi:"description"` - // The due date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. + // The due date of the milestone. Date string in the format YYYY-MM-DD, for example 2016-03-11. DueDate *string `pulumi:"dueDate"` // Bool, true if milestone expired. Expired *bool `pulumi:"expired"` // The ID of the project's milestone. Iid *int `pulumi:"iid"` - // The instance-wide ID of the project’s milestone. + // The instance-wide ID of the project's milestone. MilestoneId *int `pulumi:"milestoneId"` // The ID or URL-encoded path of the project owned by the authenticated user. Project *string `pulumi:"project"` // The project ID of milestone. ProjectId *int `pulumi:"projectId"` - // The start date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. + // The start date of the milestone. Date string in the format YYYY-MM-DD, for example 2016-03-11. StartDate *string `pulumi:"startDate"` // The state of the milestone. Valid values are: `active`, `closed`. State *string `pulumi:"state"` @@ -173,19 +176,19 @@ type ProjectMilestoneState struct { CreatedAt pulumi.StringPtrInput // The description of the milestone. Description pulumi.StringPtrInput - // The due date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. + // The due date of the milestone. Date string in the format YYYY-MM-DD, for example 2016-03-11. DueDate pulumi.StringPtrInput // Bool, true if milestone expired. Expired pulumi.BoolPtrInput // The ID of the project's milestone. Iid pulumi.IntPtrInput - // The instance-wide ID of the project’s milestone. + // The instance-wide ID of the project's milestone. MilestoneId pulumi.IntPtrInput // The ID or URL-encoded path of the project owned by the authenticated user. Project pulumi.StringPtrInput // The project ID of milestone. ProjectId pulumi.IntPtrInput - // The start date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. + // The start date of the milestone. Date string in the format YYYY-MM-DD, for example 2016-03-11. StartDate pulumi.StringPtrInput // The state of the milestone. Valid values are: `active`, `closed`. State pulumi.StringPtrInput @@ -204,11 +207,11 @@ func (ProjectMilestoneState) ElementType() reflect.Type { type projectMilestoneArgs struct { // The description of the milestone. Description *string `pulumi:"description"` - // The due date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. + // The due date of the milestone. Date string in the format YYYY-MM-DD, for example 2016-03-11. DueDate *string `pulumi:"dueDate"` // The ID or URL-encoded path of the project owned by the authenticated user. Project string `pulumi:"project"` - // The start date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. + // The start date of the milestone. Date string in the format YYYY-MM-DD, for example 2016-03-11. StartDate *string `pulumi:"startDate"` // The state of the milestone. Valid values are: `active`, `closed`. State *string `pulumi:"state"` @@ -220,11 +223,11 @@ type projectMilestoneArgs struct { type ProjectMilestoneArgs struct { // The description of the milestone. Description pulumi.StringPtrInput - // The due date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. + // The due date of the milestone. Date string in the format YYYY-MM-DD, for example 2016-03-11. DueDate pulumi.StringPtrInput // The ID or URL-encoded path of the project owned by the authenticated user. Project pulumi.StringInput - // The start date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. + // The start date of the milestone. Date string in the format YYYY-MM-DD, for example 2016-03-11. StartDate pulumi.StringPtrInput // The state of the milestone. Valid values are: `active`, `closed`. State pulumi.StringPtrInput @@ -325,13 +328,13 @@ func (o ProjectMilestoneOutput) CreatedAt() pulumi.StringOutput { } // The description of the milestone. -func (o ProjectMilestoneOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ProjectMilestone) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +func (o ProjectMilestoneOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectMilestone) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } -// The due date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. -func (o ProjectMilestoneOutput) DueDate() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ProjectMilestone) pulumi.StringPtrOutput { return v.DueDate }).(pulumi.StringPtrOutput) +// The due date of the milestone. Date string in the format YYYY-MM-DD, for example 2016-03-11. +func (o ProjectMilestoneOutput) DueDate() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectMilestone) pulumi.StringOutput { return v.DueDate }).(pulumi.StringOutput) } // Bool, true if milestone expired. @@ -344,7 +347,7 @@ func (o ProjectMilestoneOutput) Iid() pulumi.IntOutput { return o.ApplyT(func(v *ProjectMilestone) pulumi.IntOutput { return v.Iid }).(pulumi.IntOutput) } -// The instance-wide ID of the project’s milestone. +// The instance-wide ID of the project's milestone. func (o ProjectMilestoneOutput) MilestoneId() pulumi.IntOutput { return o.ApplyT(func(v *ProjectMilestone) pulumi.IntOutput { return v.MilestoneId }).(pulumi.IntOutput) } @@ -359,14 +362,14 @@ func (o ProjectMilestoneOutput) ProjectId() pulumi.IntOutput { return o.ApplyT(func(v *ProjectMilestone) pulumi.IntOutput { return v.ProjectId }).(pulumi.IntOutput) } -// The start date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. -func (o ProjectMilestoneOutput) StartDate() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ProjectMilestone) pulumi.StringPtrOutput { return v.StartDate }).(pulumi.StringPtrOutput) +// The start date of the milestone. Date string in the format YYYY-MM-DD, for example 2016-03-11. +func (o ProjectMilestoneOutput) StartDate() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectMilestone) pulumi.StringOutput { return v.StartDate }).(pulumi.StringOutput) } // The state of the milestone. Valid values are: `active`, `closed`. -func (o ProjectMilestoneOutput) State() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ProjectMilestone) pulumi.StringPtrOutput { return v.State }).(pulumi.StringPtrOutput) +func (o ProjectMilestoneOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectMilestone) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) } // The title of a milestone. diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectMirror.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectMirror.go similarity index 89% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectMirror.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectMirror.go index 8005f84aa..551cf29c8 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectMirror.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectMirror.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,14 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectMirror` resource allows to manage the lifecycle of a project mirror. +// The `ProjectMirror` resource manages the lifecycle of a project mirror. // -// This is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured using a combination of the -// import_url, mirror, and mirrorTriggerBuilds properties on the Project resource. +// This is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured with the ProjectPullMirror resource. // // > **Warning** By default, the provider sets the `keepDivergentRefs` argument to `True`. // @@ -24,6 +23,8 @@ import ( // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/remote_mirrors/) // +// This resource is deprecated in favor of `ProjectPushMirror` which is a rename. The alias will be removed in version 19.0. +// // ## Example Usage // // ```go @@ -31,7 +32,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -53,21 +54,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_mirror`. For example: -// -// terraform -// -// import { -// -// to = gitlab_project_mirror.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectMirror`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// GitLab project mirror can be imported using an id made up of `project_id:mirror_id`, e.g. +// GitLab project mirror can be imported using an id made up of `project_id:mirror_id`, for example: // // ```sh // $ pulumi import gitlab:index/projectMirror:ProjectMirror foo "12345:1337" @@ -89,7 +80,7 @@ type ProjectMirror struct { OnlyProtectedBranches pulumi.BoolOutput `pulumi:"onlyProtectedBranches"` // The id of the project. Project pulumi.StringOutput `pulumi:"project"` - // The URL of the remote repository to be mirrored. + // The URL of the remote repository to be mirrored. Note that URLs with credentials will not import properly, and will require a replace on the first apply. Url pulumi.StringOutput `pulumi:"url"` } @@ -150,7 +141,7 @@ type projectMirrorState struct { OnlyProtectedBranches *bool `pulumi:"onlyProtectedBranches"` // The id of the project. Project *string `pulumi:"project"` - // The URL of the remote repository to be mirrored. + // The URL of the remote repository to be mirrored. Note that URLs with credentials will not import properly, and will require a replace on the first apply. Url *string `pulumi:"url"` } @@ -169,7 +160,7 @@ type ProjectMirrorState struct { OnlyProtectedBranches pulumi.BoolPtrInput // The id of the project. Project pulumi.StringPtrInput - // The URL of the remote repository to be mirrored. + // The URL of the remote repository to be mirrored. Note that URLs with credentials will not import properly, and will require a replace on the first apply. Url pulumi.StringPtrInput } @@ -190,7 +181,7 @@ type projectMirrorArgs struct { OnlyProtectedBranches *bool `pulumi:"onlyProtectedBranches"` // The id of the project. Project string `pulumi:"project"` - // The URL of the remote repository to be mirrored. + // The URL of the remote repository to be mirrored. Note that URLs with credentials will not import properly, and will require a replace on the first apply. Url string `pulumi:"url"` } @@ -208,7 +199,7 @@ type ProjectMirrorArgs struct { OnlyProtectedBranches pulumi.BoolPtrInput // The id of the project. Project pulumi.StringInput - // The URL of the remote repository to be mirrored. + // The URL of the remote repository to be mirrored. Note that URLs with credentials will not import properly, and will require a replace on the first apply. Url pulumi.StringInput } @@ -334,7 +325,7 @@ func (o ProjectMirrorOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v *ProjectMirror) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) } -// The URL of the remote repository to be mirrored. +// The URL of the remote repository to be mirrored. Note that URLs with credentials will not import properly, and will require a replace on the first apply. func (o ProjectMirrorOutput) Url() pulumi.StringOutput { return o.ApplyT(func(v *ProjectMirror) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPackageDependencyProxy.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPackageDependencyProxy.go new file mode 100644 index 000000000..eccca8345 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPackageDependencyProxy.go @@ -0,0 +1,346 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectPackageDependencyProxy` resource allows managing the project-level package dependency proxy for Maven packages. +// +// This resource configures the external Maven registry settings for the dependency proxy, allowing packages to be cached and proxied through GitLab. +// +// > This resource requires GitLab Premium or Ultimate and the packages and dependency proxy features to be enabled on the GitLab instance. +// +// **Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/api/graphql/reference/#mutationupdatedependencyproxypackagessettings) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// // Configure the project package dependency proxy for Maven packages +// _, err := gitlab.NewProjectPackageDependencyProxy(ctx, "example", &gitlab.ProjectPackageDependencyProxyArgs{ +// Project: pulumi.Any(exampleGitlabProject.Id), +// Enabled: pulumi.Bool(true), +// MavenExternalRegistryUrl: pulumi.String("https://repo.maven.apache.org/maven2/"), +// }) +// if err != nil { +// return err +// } +// // With authentication credentials for the external registry +// _, err = gitlab.NewProjectPackageDependencyProxy(ctx, "authenticated", &gitlab.ProjectPackageDependencyProxyArgs{ +// Project: pulumi.Any(exampleGitlabProject.Id), +// Enabled: pulumi.Bool(true), +// MavenExternalRegistryUrl: pulumi.String("https://private-repo.example.com/maven/"), +// MavenExternalRegistryUsername: pulumi.String("maven_user"), +// MavenExternalRegistryPassword: pulumi.Any(mavenRegistryPassword), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectPackageDependencyProxy`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// You can import a project package dependency proxy using the project id. for example: `{project-id}` +// "mavenExternalRegistryPassword" will not populate when importing, but will still +// be required in the configuration if credentials are used. +// +// ```sh +// $ pulumi import gitlab:index/projectPackageDependencyProxy:ProjectPackageDependencyProxy example 42 +// ``` +type ProjectPackageDependencyProxy struct { + pulumi.CustomResourceState + + // Indicates whether the dependency proxy is enabled for packages. + Enabled pulumi.BoolOutput `pulumi:"enabled"` + // The password to authenticate with the external Maven registry. Must be set together with `mavenExternalRegistryUsername`. Cannot be imported. + MavenExternalRegistryPassword pulumi.StringPtrOutput `pulumi:"mavenExternalRegistryPassword"` + // The URL of the external Maven registry. + MavenExternalRegistryUrl pulumi.StringOutput `pulumi:"mavenExternalRegistryUrl"` + // The username to authenticate with the external Maven registry. Must be set together with `mavenExternalRegistryPassword`. + MavenExternalRegistryUsername pulumi.StringPtrOutput `pulumi:"mavenExternalRegistryUsername"` + // The ID or URL-encoded path of the project. + Project pulumi.StringOutput `pulumi:"project"` +} + +// NewProjectPackageDependencyProxy registers a new resource with the given unique name, arguments, and options. +func NewProjectPackageDependencyProxy(ctx *pulumi.Context, + name string, args *ProjectPackageDependencyProxyArgs, opts ...pulumi.ResourceOption) (*ProjectPackageDependencyProxy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.MavenExternalRegistryPassword != nil { + args.MavenExternalRegistryPassword = pulumi.ToSecret(args.MavenExternalRegistryPassword).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "mavenExternalRegistryPassword", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectPackageDependencyProxy + err := ctx.RegisterResource("gitlab:index/projectPackageDependencyProxy:ProjectPackageDependencyProxy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectPackageDependencyProxy gets an existing ProjectPackageDependencyProxy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectPackageDependencyProxy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectPackageDependencyProxyState, opts ...pulumi.ResourceOption) (*ProjectPackageDependencyProxy, error) { + var resource ProjectPackageDependencyProxy + err := ctx.ReadResource("gitlab:index/projectPackageDependencyProxy:ProjectPackageDependencyProxy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectPackageDependencyProxy resources. +type projectPackageDependencyProxyState struct { + // Indicates whether the dependency proxy is enabled for packages. + Enabled *bool `pulumi:"enabled"` + // The password to authenticate with the external Maven registry. Must be set together with `mavenExternalRegistryUsername`. Cannot be imported. + MavenExternalRegistryPassword *string `pulumi:"mavenExternalRegistryPassword"` + // The URL of the external Maven registry. + MavenExternalRegistryUrl *string `pulumi:"mavenExternalRegistryUrl"` + // The username to authenticate with the external Maven registry. Must be set together with `mavenExternalRegistryPassword`. + MavenExternalRegistryUsername *string `pulumi:"mavenExternalRegistryUsername"` + // The ID or URL-encoded path of the project. + Project *string `pulumi:"project"` +} + +type ProjectPackageDependencyProxyState struct { + // Indicates whether the dependency proxy is enabled for packages. + Enabled pulumi.BoolPtrInput + // The password to authenticate with the external Maven registry. Must be set together with `mavenExternalRegistryUsername`. Cannot be imported. + MavenExternalRegistryPassword pulumi.StringPtrInput + // The URL of the external Maven registry. + MavenExternalRegistryUrl pulumi.StringPtrInput + // The username to authenticate with the external Maven registry. Must be set together with `mavenExternalRegistryPassword`. + MavenExternalRegistryUsername pulumi.StringPtrInput + // The ID or URL-encoded path of the project. + Project pulumi.StringPtrInput +} + +func (ProjectPackageDependencyProxyState) ElementType() reflect.Type { + return reflect.TypeOf((*projectPackageDependencyProxyState)(nil)).Elem() +} + +type projectPackageDependencyProxyArgs struct { + // Indicates whether the dependency proxy is enabled for packages. + Enabled *bool `pulumi:"enabled"` + // The password to authenticate with the external Maven registry. Must be set together with `mavenExternalRegistryUsername`. Cannot be imported. + MavenExternalRegistryPassword *string `pulumi:"mavenExternalRegistryPassword"` + // The URL of the external Maven registry. + MavenExternalRegistryUrl *string `pulumi:"mavenExternalRegistryUrl"` + // The username to authenticate with the external Maven registry. Must be set together with `mavenExternalRegistryPassword`. + MavenExternalRegistryUsername *string `pulumi:"mavenExternalRegistryUsername"` + // The ID or URL-encoded path of the project. + Project string `pulumi:"project"` +} + +// The set of arguments for constructing a ProjectPackageDependencyProxy resource. +type ProjectPackageDependencyProxyArgs struct { + // Indicates whether the dependency proxy is enabled for packages. + Enabled pulumi.BoolPtrInput + // The password to authenticate with the external Maven registry. Must be set together with `mavenExternalRegistryUsername`. Cannot be imported. + MavenExternalRegistryPassword pulumi.StringPtrInput + // The URL of the external Maven registry. + MavenExternalRegistryUrl pulumi.StringPtrInput + // The username to authenticate with the external Maven registry. Must be set together with `mavenExternalRegistryPassword`. + MavenExternalRegistryUsername pulumi.StringPtrInput + // The ID or URL-encoded path of the project. + Project pulumi.StringInput +} + +func (ProjectPackageDependencyProxyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectPackageDependencyProxyArgs)(nil)).Elem() +} + +type ProjectPackageDependencyProxyInput interface { + pulumi.Input + + ToProjectPackageDependencyProxyOutput() ProjectPackageDependencyProxyOutput + ToProjectPackageDependencyProxyOutputWithContext(ctx context.Context) ProjectPackageDependencyProxyOutput +} + +func (*ProjectPackageDependencyProxy) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectPackageDependencyProxy)(nil)).Elem() +} + +func (i *ProjectPackageDependencyProxy) ToProjectPackageDependencyProxyOutput() ProjectPackageDependencyProxyOutput { + return i.ToProjectPackageDependencyProxyOutputWithContext(context.Background()) +} + +func (i *ProjectPackageDependencyProxy) ToProjectPackageDependencyProxyOutputWithContext(ctx context.Context) ProjectPackageDependencyProxyOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPackageDependencyProxyOutput) +} + +// ProjectPackageDependencyProxyArrayInput is an input type that accepts ProjectPackageDependencyProxyArray and ProjectPackageDependencyProxyArrayOutput values. +// You can construct a concrete instance of `ProjectPackageDependencyProxyArrayInput` via: +// +// ProjectPackageDependencyProxyArray{ ProjectPackageDependencyProxyArgs{...} } +type ProjectPackageDependencyProxyArrayInput interface { + pulumi.Input + + ToProjectPackageDependencyProxyArrayOutput() ProjectPackageDependencyProxyArrayOutput + ToProjectPackageDependencyProxyArrayOutputWithContext(context.Context) ProjectPackageDependencyProxyArrayOutput +} + +type ProjectPackageDependencyProxyArray []ProjectPackageDependencyProxyInput + +func (ProjectPackageDependencyProxyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectPackageDependencyProxy)(nil)).Elem() +} + +func (i ProjectPackageDependencyProxyArray) ToProjectPackageDependencyProxyArrayOutput() ProjectPackageDependencyProxyArrayOutput { + return i.ToProjectPackageDependencyProxyArrayOutputWithContext(context.Background()) +} + +func (i ProjectPackageDependencyProxyArray) ToProjectPackageDependencyProxyArrayOutputWithContext(ctx context.Context) ProjectPackageDependencyProxyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPackageDependencyProxyArrayOutput) +} + +// ProjectPackageDependencyProxyMapInput is an input type that accepts ProjectPackageDependencyProxyMap and ProjectPackageDependencyProxyMapOutput values. +// You can construct a concrete instance of `ProjectPackageDependencyProxyMapInput` via: +// +// ProjectPackageDependencyProxyMap{ "key": ProjectPackageDependencyProxyArgs{...} } +type ProjectPackageDependencyProxyMapInput interface { + pulumi.Input + + ToProjectPackageDependencyProxyMapOutput() ProjectPackageDependencyProxyMapOutput + ToProjectPackageDependencyProxyMapOutputWithContext(context.Context) ProjectPackageDependencyProxyMapOutput +} + +type ProjectPackageDependencyProxyMap map[string]ProjectPackageDependencyProxyInput + +func (ProjectPackageDependencyProxyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectPackageDependencyProxy)(nil)).Elem() +} + +func (i ProjectPackageDependencyProxyMap) ToProjectPackageDependencyProxyMapOutput() ProjectPackageDependencyProxyMapOutput { + return i.ToProjectPackageDependencyProxyMapOutputWithContext(context.Background()) +} + +func (i ProjectPackageDependencyProxyMap) ToProjectPackageDependencyProxyMapOutputWithContext(ctx context.Context) ProjectPackageDependencyProxyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPackageDependencyProxyMapOutput) +} + +type ProjectPackageDependencyProxyOutput struct{ *pulumi.OutputState } + +func (ProjectPackageDependencyProxyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectPackageDependencyProxy)(nil)).Elem() +} + +func (o ProjectPackageDependencyProxyOutput) ToProjectPackageDependencyProxyOutput() ProjectPackageDependencyProxyOutput { + return o +} + +func (o ProjectPackageDependencyProxyOutput) ToProjectPackageDependencyProxyOutputWithContext(ctx context.Context) ProjectPackageDependencyProxyOutput { + return o +} + +// Indicates whether the dependency proxy is enabled for packages. +func (o ProjectPackageDependencyProxyOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPackageDependencyProxy) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput) +} + +// The password to authenticate with the external Maven registry. Must be set together with `mavenExternalRegistryUsername`. Cannot be imported. +func (o ProjectPackageDependencyProxyOutput) MavenExternalRegistryPassword() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectPackageDependencyProxy) pulumi.StringPtrOutput { return v.MavenExternalRegistryPassword }).(pulumi.StringPtrOutput) +} + +// The URL of the external Maven registry. +func (o ProjectPackageDependencyProxyOutput) MavenExternalRegistryUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPackageDependencyProxy) pulumi.StringOutput { return v.MavenExternalRegistryUrl }).(pulumi.StringOutput) +} + +// The username to authenticate with the external Maven registry. Must be set together with `mavenExternalRegistryPassword`. +func (o ProjectPackageDependencyProxyOutput) MavenExternalRegistryUsername() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectPackageDependencyProxy) pulumi.StringPtrOutput { return v.MavenExternalRegistryUsername }).(pulumi.StringPtrOutput) +} + +// The ID or URL-encoded path of the project. +func (o ProjectPackageDependencyProxyOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPackageDependencyProxy) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +type ProjectPackageDependencyProxyArrayOutput struct{ *pulumi.OutputState } + +func (ProjectPackageDependencyProxyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectPackageDependencyProxy)(nil)).Elem() +} + +func (o ProjectPackageDependencyProxyArrayOutput) ToProjectPackageDependencyProxyArrayOutput() ProjectPackageDependencyProxyArrayOutput { + return o +} + +func (o ProjectPackageDependencyProxyArrayOutput) ToProjectPackageDependencyProxyArrayOutputWithContext(ctx context.Context) ProjectPackageDependencyProxyArrayOutput { + return o +} + +func (o ProjectPackageDependencyProxyArrayOutput) Index(i pulumi.IntInput) ProjectPackageDependencyProxyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectPackageDependencyProxy { + return vs[0].([]*ProjectPackageDependencyProxy)[vs[1].(int)] + }).(ProjectPackageDependencyProxyOutput) +} + +type ProjectPackageDependencyProxyMapOutput struct{ *pulumi.OutputState } + +func (ProjectPackageDependencyProxyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectPackageDependencyProxy)(nil)).Elem() +} + +func (o ProjectPackageDependencyProxyMapOutput) ToProjectPackageDependencyProxyMapOutput() ProjectPackageDependencyProxyMapOutput { + return o +} + +func (o ProjectPackageDependencyProxyMapOutput) ToProjectPackageDependencyProxyMapOutputWithContext(ctx context.Context) ProjectPackageDependencyProxyMapOutput { + return o +} + +func (o ProjectPackageDependencyProxyMapOutput) MapIndex(k pulumi.StringInput) ProjectPackageDependencyProxyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectPackageDependencyProxy { + return vs[0].(map[string]*ProjectPackageDependencyProxy)[vs[1].(string)] + }).(ProjectPackageDependencyProxyOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPackageDependencyProxyInput)(nil)).Elem(), &ProjectPackageDependencyProxy{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPackageDependencyProxyArrayInput)(nil)).Elem(), ProjectPackageDependencyProxyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPackageDependencyProxyMapInput)(nil)).Elem(), ProjectPackageDependencyProxyMap{}) + pulumi.RegisterOutputType(ProjectPackageDependencyProxyOutput{}) + pulumi.RegisterOutputType(ProjectPackageDependencyProxyArrayOutput{}) + pulumi.RegisterOutputType(ProjectPackageDependencyProxyMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPackageProtectionRule.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPackageProtectionRule.go new file mode 100644 index 000000000..29ca3af75 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPackageProtectionRule.go @@ -0,0 +1,343 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectPackageProtectionRule` resource allows managing the lifecycle of a package protection rule. +// +// You can use a wildcard (*) to protect multiple packages with the same package protection rule. +// You can apply several protection rules to the same package. A package is protected if at least one protection rule matches. +// +// **Upstream API**: [GitLab API docs](https://docs.gitlab.com/api/project_packages_protection_rules/) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.NewProjectPackageProtectionRule(ctx, "this", &gitlab.ProjectPackageProtectionRuleArgs{ +// Project: pulumi.String("123"), +// PackageNamePattern: pulumi.String("@scope/package-*"), +// PackageType: pulumi.String("npm"), +// MinimumAccessLevelForPush: pulumi.String("owner"), +// MinimumAccessLevelForDelete: pulumi.String("admin"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectPackageProtectionRule`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// GitLab project package protection rules can be imported using an id made up of `:`, e.g. +// +// ```sh +// $ pulumi import gitlab:index/projectPackageProtectionRule:ProjectPackageProtectionRule this 123:321 +// ``` +type ProjectPackageProtectionRule struct { + pulumi.CustomResourceState + + // Minimum GitLab access level required to delete packages from the package registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForPush` is not set. + MinimumAccessLevelForDelete pulumi.StringPtrOutput `pulumi:"minimumAccessLevelForDelete"` + // Minimum GitLab access level required to push packages to the package registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForDelete` is not set. + MinimumAccessLevelForPush pulumi.StringPtrOutput `pulumi:"minimumAccessLevelForPush"` + // Package name pattern protected by the protection rule. For example `@scope/package-*`. Wildcard character `*` allowed. + PackageNamePattern pulumi.StringOutput `pulumi:"packageNamePattern"` + // Unique ID of the protection rule. + PackageProtectionRuleId pulumi.IntOutput `pulumi:"packageProtectionRuleId"` + // Package type protected by the protection rule. For example npm. + PackageType pulumi.StringOutput `pulumi:"packageType"` + // ID or URL-encoded path of the project. + Project pulumi.StringOutput `pulumi:"project"` +} + +// NewProjectPackageProtectionRule registers a new resource with the given unique name, arguments, and options. +func NewProjectPackageProtectionRule(ctx *pulumi.Context, + name string, args *ProjectPackageProtectionRuleArgs, opts ...pulumi.ResourceOption) (*ProjectPackageProtectionRule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PackageNamePattern == nil { + return nil, errors.New("invalid value for required argument 'PackageNamePattern'") + } + if args.PackageType == nil { + return nil, errors.New("invalid value for required argument 'PackageType'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectPackageProtectionRule + err := ctx.RegisterResource("gitlab:index/projectPackageProtectionRule:ProjectPackageProtectionRule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectPackageProtectionRule gets an existing ProjectPackageProtectionRule resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectPackageProtectionRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectPackageProtectionRuleState, opts ...pulumi.ResourceOption) (*ProjectPackageProtectionRule, error) { + var resource ProjectPackageProtectionRule + err := ctx.ReadResource("gitlab:index/projectPackageProtectionRule:ProjectPackageProtectionRule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectPackageProtectionRule resources. +type projectPackageProtectionRuleState struct { + // Minimum GitLab access level required to delete packages from the package registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForPush` is not set. + MinimumAccessLevelForDelete *string `pulumi:"minimumAccessLevelForDelete"` + // Minimum GitLab access level required to push packages to the package registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForDelete` is not set. + MinimumAccessLevelForPush *string `pulumi:"minimumAccessLevelForPush"` + // Package name pattern protected by the protection rule. For example `@scope/package-*`. Wildcard character `*` allowed. + PackageNamePattern *string `pulumi:"packageNamePattern"` + // Unique ID of the protection rule. + PackageProtectionRuleId *int `pulumi:"packageProtectionRuleId"` + // Package type protected by the protection rule. For example npm. + PackageType *string `pulumi:"packageType"` + // ID or URL-encoded path of the project. + Project *string `pulumi:"project"` +} + +type ProjectPackageProtectionRuleState struct { + // Minimum GitLab access level required to delete packages from the package registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForPush` is not set. + MinimumAccessLevelForDelete pulumi.StringPtrInput + // Minimum GitLab access level required to push packages to the package registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForDelete` is not set. + MinimumAccessLevelForPush pulumi.StringPtrInput + // Package name pattern protected by the protection rule. For example `@scope/package-*`. Wildcard character `*` allowed. + PackageNamePattern pulumi.StringPtrInput + // Unique ID of the protection rule. + PackageProtectionRuleId pulumi.IntPtrInput + // Package type protected by the protection rule. For example npm. + PackageType pulumi.StringPtrInput + // ID or URL-encoded path of the project. + Project pulumi.StringPtrInput +} + +func (ProjectPackageProtectionRuleState) ElementType() reflect.Type { + return reflect.TypeOf((*projectPackageProtectionRuleState)(nil)).Elem() +} + +type projectPackageProtectionRuleArgs struct { + // Minimum GitLab access level required to delete packages from the package registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForPush` is not set. + MinimumAccessLevelForDelete *string `pulumi:"minimumAccessLevelForDelete"` + // Minimum GitLab access level required to push packages to the package registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForDelete` is not set. + MinimumAccessLevelForPush *string `pulumi:"minimumAccessLevelForPush"` + // Package name pattern protected by the protection rule. For example `@scope/package-*`. Wildcard character `*` allowed. + PackageNamePattern string `pulumi:"packageNamePattern"` + // Package type protected by the protection rule. For example npm. + PackageType string `pulumi:"packageType"` + // ID or URL-encoded path of the project. + Project string `pulumi:"project"` +} + +// The set of arguments for constructing a ProjectPackageProtectionRule resource. +type ProjectPackageProtectionRuleArgs struct { + // Minimum GitLab access level required to delete packages from the package registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForPush` is not set. + MinimumAccessLevelForDelete pulumi.StringPtrInput + // Minimum GitLab access level required to push packages to the package registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForDelete` is not set. + MinimumAccessLevelForPush pulumi.StringPtrInput + // Package name pattern protected by the protection rule. For example `@scope/package-*`. Wildcard character `*` allowed. + PackageNamePattern pulumi.StringInput + // Package type protected by the protection rule. For example npm. + PackageType pulumi.StringInput + // ID or URL-encoded path of the project. + Project pulumi.StringInput +} + +func (ProjectPackageProtectionRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectPackageProtectionRuleArgs)(nil)).Elem() +} + +type ProjectPackageProtectionRuleInput interface { + pulumi.Input + + ToProjectPackageProtectionRuleOutput() ProjectPackageProtectionRuleOutput + ToProjectPackageProtectionRuleOutputWithContext(ctx context.Context) ProjectPackageProtectionRuleOutput +} + +func (*ProjectPackageProtectionRule) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectPackageProtectionRule)(nil)).Elem() +} + +func (i *ProjectPackageProtectionRule) ToProjectPackageProtectionRuleOutput() ProjectPackageProtectionRuleOutput { + return i.ToProjectPackageProtectionRuleOutputWithContext(context.Background()) +} + +func (i *ProjectPackageProtectionRule) ToProjectPackageProtectionRuleOutputWithContext(ctx context.Context) ProjectPackageProtectionRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPackageProtectionRuleOutput) +} + +// ProjectPackageProtectionRuleArrayInput is an input type that accepts ProjectPackageProtectionRuleArray and ProjectPackageProtectionRuleArrayOutput values. +// You can construct a concrete instance of `ProjectPackageProtectionRuleArrayInput` via: +// +// ProjectPackageProtectionRuleArray{ ProjectPackageProtectionRuleArgs{...} } +type ProjectPackageProtectionRuleArrayInput interface { + pulumi.Input + + ToProjectPackageProtectionRuleArrayOutput() ProjectPackageProtectionRuleArrayOutput + ToProjectPackageProtectionRuleArrayOutputWithContext(context.Context) ProjectPackageProtectionRuleArrayOutput +} + +type ProjectPackageProtectionRuleArray []ProjectPackageProtectionRuleInput + +func (ProjectPackageProtectionRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectPackageProtectionRule)(nil)).Elem() +} + +func (i ProjectPackageProtectionRuleArray) ToProjectPackageProtectionRuleArrayOutput() ProjectPackageProtectionRuleArrayOutput { + return i.ToProjectPackageProtectionRuleArrayOutputWithContext(context.Background()) +} + +func (i ProjectPackageProtectionRuleArray) ToProjectPackageProtectionRuleArrayOutputWithContext(ctx context.Context) ProjectPackageProtectionRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPackageProtectionRuleArrayOutput) +} + +// ProjectPackageProtectionRuleMapInput is an input type that accepts ProjectPackageProtectionRuleMap and ProjectPackageProtectionRuleMapOutput values. +// You can construct a concrete instance of `ProjectPackageProtectionRuleMapInput` via: +// +// ProjectPackageProtectionRuleMap{ "key": ProjectPackageProtectionRuleArgs{...} } +type ProjectPackageProtectionRuleMapInput interface { + pulumi.Input + + ToProjectPackageProtectionRuleMapOutput() ProjectPackageProtectionRuleMapOutput + ToProjectPackageProtectionRuleMapOutputWithContext(context.Context) ProjectPackageProtectionRuleMapOutput +} + +type ProjectPackageProtectionRuleMap map[string]ProjectPackageProtectionRuleInput + +func (ProjectPackageProtectionRuleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectPackageProtectionRule)(nil)).Elem() +} + +func (i ProjectPackageProtectionRuleMap) ToProjectPackageProtectionRuleMapOutput() ProjectPackageProtectionRuleMapOutput { + return i.ToProjectPackageProtectionRuleMapOutputWithContext(context.Background()) +} + +func (i ProjectPackageProtectionRuleMap) ToProjectPackageProtectionRuleMapOutputWithContext(ctx context.Context) ProjectPackageProtectionRuleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPackageProtectionRuleMapOutput) +} + +type ProjectPackageProtectionRuleOutput struct{ *pulumi.OutputState } + +func (ProjectPackageProtectionRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectPackageProtectionRule)(nil)).Elem() +} + +func (o ProjectPackageProtectionRuleOutput) ToProjectPackageProtectionRuleOutput() ProjectPackageProtectionRuleOutput { + return o +} + +func (o ProjectPackageProtectionRuleOutput) ToProjectPackageProtectionRuleOutputWithContext(ctx context.Context) ProjectPackageProtectionRuleOutput { + return o +} + +// Minimum GitLab access level required to delete packages from the package registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForPush` is not set. +func (o ProjectPackageProtectionRuleOutput) MinimumAccessLevelForDelete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectPackageProtectionRule) pulumi.StringPtrOutput { return v.MinimumAccessLevelForDelete }).(pulumi.StringPtrOutput) +} + +// Minimum GitLab access level required to push packages to the package registry. Valid values are: `maintainer`, `owner`, `admin`. Must be provided when `minimumAccessLevelForDelete` is not set. +func (o ProjectPackageProtectionRuleOutput) MinimumAccessLevelForPush() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectPackageProtectionRule) pulumi.StringPtrOutput { return v.MinimumAccessLevelForPush }).(pulumi.StringPtrOutput) +} + +// Package name pattern protected by the protection rule. For example `@scope/package-*`. Wildcard character `*` allowed. +func (o ProjectPackageProtectionRuleOutput) PackageNamePattern() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPackageProtectionRule) pulumi.StringOutput { return v.PackageNamePattern }).(pulumi.StringOutput) +} + +// Unique ID of the protection rule. +func (o ProjectPackageProtectionRuleOutput) PackageProtectionRuleId() pulumi.IntOutput { + return o.ApplyT(func(v *ProjectPackageProtectionRule) pulumi.IntOutput { return v.PackageProtectionRuleId }).(pulumi.IntOutput) +} + +// Package type protected by the protection rule. For example npm. +func (o ProjectPackageProtectionRuleOutput) PackageType() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPackageProtectionRule) pulumi.StringOutput { return v.PackageType }).(pulumi.StringOutput) +} + +// ID or URL-encoded path of the project. +func (o ProjectPackageProtectionRuleOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPackageProtectionRule) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +type ProjectPackageProtectionRuleArrayOutput struct{ *pulumi.OutputState } + +func (ProjectPackageProtectionRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectPackageProtectionRule)(nil)).Elem() +} + +func (o ProjectPackageProtectionRuleArrayOutput) ToProjectPackageProtectionRuleArrayOutput() ProjectPackageProtectionRuleArrayOutput { + return o +} + +func (o ProjectPackageProtectionRuleArrayOutput) ToProjectPackageProtectionRuleArrayOutputWithContext(ctx context.Context) ProjectPackageProtectionRuleArrayOutput { + return o +} + +func (o ProjectPackageProtectionRuleArrayOutput) Index(i pulumi.IntInput) ProjectPackageProtectionRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectPackageProtectionRule { + return vs[0].([]*ProjectPackageProtectionRule)[vs[1].(int)] + }).(ProjectPackageProtectionRuleOutput) +} + +type ProjectPackageProtectionRuleMapOutput struct{ *pulumi.OutputState } + +func (ProjectPackageProtectionRuleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectPackageProtectionRule)(nil)).Elem() +} + +func (o ProjectPackageProtectionRuleMapOutput) ToProjectPackageProtectionRuleMapOutput() ProjectPackageProtectionRuleMapOutput { + return o +} + +func (o ProjectPackageProtectionRuleMapOutput) ToProjectPackageProtectionRuleMapOutputWithContext(ctx context.Context) ProjectPackageProtectionRuleMapOutput { + return o +} + +func (o ProjectPackageProtectionRuleMapOutput) MapIndex(k pulumi.StringInput) ProjectPackageProtectionRuleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectPackageProtectionRule { + return vs[0].(map[string]*ProjectPackageProtectionRule)[vs[1].(string)] + }).(ProjectPackageProtectionRuleOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPackageProtectionRuleInput)(nil)).Elem(), &ProjectPackageProtectionRule{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPackageProtectionRuleArrayInput)(nil)).Elem(), ProjectPackageProtectionRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPackageProtectionRuleMapInput)(nil)).Elem(), ProjectPackageProtectionRuleMap{}) + pulumi.RegisterOutputType(ProjectPackageProtectionRuleOutput{}) + pulumi.RegisterOutputType(ProjectPackageProtectionRuleArrayOutput{}) + pulumi.RegisterOutputType(ProjectPackageProtectionRuleMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPagesSettings.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPagesSettings.go new file mode 100644 index 000000000..cff13ea7a --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPagesSettings.go @@ -0,0 +1,305 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectPagesSettings` resource manages project pages settings in GitLab. +// +// > This is an **experimental resource**. By nature it doesn't properly fit into how Terraform resources are meant to work. +// +// > When you destroy the resource, you can control if pages settings are saved or not. Set `keepSettingsOnDestroy` to `true` (default) to save changes to pages settings. Set `keepSettingsOnDestroy` to `false` to reset the pages settings to its original values. +// The original values are saved in state when you create the resource. You can change the `keepSettingsOnDestroy` value before destroying the resource to control this behavior. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/pages/) +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectPagesSettings`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// Gitlab project pages settings can be imported using the project ID, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectPagesSettings:ProjectPagesSettings example 12345 +// ``` +type ProjectPagesSettings struct { + pulumi.CustomResourceState + + // List of current active deployments. + Deployments ProjectPagesSettingsDeploymentArrayOutput `pulumi:"deployments"` + // Boolean indicating if the project is set to force https. Requires `externalHttps` to be configured in the GitLab instance: https://docs.gitlab.com/administration/pages/#custom-domains-with-tls-support. + ForceHttps pulumi.BoolOutput `pulumi:"forceHttps"` + // Boolean indicating if a unique domain is enabled. + IsUniqueDomainEnabled pulumi.BoolOutput `pulumi:"isUniqueDomainEnabled"` + // Set to true if the pages settings should not be reset to their pre-terraform defaults on destroy. + KeepSettingsOnDestroy pulumi.BoolOutput `pulumi:"keepSettingsOnDestroy"` + // The project ID or path. + Project pulumi.StringOutput `pulumi:"project"` + // The URL to access the project pages. + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewProjectPagesSettings registers a new resource with the given unique name, arguments, and options. +func NewProjectPagesSettings(ctx *pulumi.Context, + name string, args *ProjectPagesSettingsArgs, opts ...pulumi.ResourceOption) (*ProjectPagesSettings, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectPagesSettings + err := ctx.RegisterResource("gitlab:index/projectPagesSettings:ProjectPagesSettings", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectPagesSettings gets an existing ProjectPagesSettings resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectPagesSettings(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectPagesSettingsState, opts ...pulumi.ResourceOption) (*ProjectPagesSettings, error) { + var resource ProjectPagesSettings + err := ctx.ReadResource("gitlab:index/projectPagesSettings:ProjectPagesSettings", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectPagesSettings resources. +type projectPagesSettingsState struct { + // List of current active deployments. + Deployments []ProjectPagesSettingsDeployment `pulumi:"deployments"` + // Boolean indicating if the project is set to force https. Requires `externalHttps` to be configured in the GitLab instance: https://docs.gitlab.com/administration/pages/#custom-domains-with-tls-support. + ForceHttps *bool `pulumi:"forceHttps"` + // Boolean indicating if a unique domain is enabled. + IsUniqueDomainEnabled *bool `pulumi:"isUniqueDomainEnabled"` + // Set to true if the pages settings should not be reset to their pre-terraform defaults on destroy. + KeepSettingsOnDestroy *bool `pulumi:"keepSettingsOnDestroy"` + // The project ID or path. + Project *string `pulumi:"project"` + // The URL to access the project pages. + Url *string `pulumi:"url"` +} + +type ProjectPagesSettingsState struct { + // List of current active deployments. + Deployments ProjectPagesSettingsDeploymentArrayInput + // Boolean indicating if the project is set to force https. Requires `externalHttps` to be configured in the GitLab instance: https://docs.gitlab.com/administration/pages/#custom-domains-with-tls-support. + ForceHttps pulumi.BoolPtrInput + // Boolean indicating if a unique domain is enabled. + IsUniqueDomainEnabled pulumi.BoolPtrInput + // Set to true if the pages settings should not be reset to their pre-terraform defaults on destroy. + KeepSettingsOnDestroy pulumi.BoolPtrInput + // The project ID or path. + Project pulumi.StringPtrInput + // The URL to access the project pages. + Url pulumi.StringPtrInput +} + +func (ProjectPagesSettingsState) ElementType() reflect.Type { + return reflect.TypeOf((*projectPagesSettingsState)(nil)).Elem() +} + +type projectPagesSettingsArgs struct { + // Boolean indicating if the project is set to force https. Requires `externalHttps` to be configured in the GitLab instance: https://docs.gitlab.com/administration/pages/#custom-domains-with-tls-support. + ForceHttps *bool `pulumi:"forceHttps"` + // Boolean indicating if a unique domain is enabled. + IsUniqueDomainEnabled *bool `pulumi:"isUniqueDomainEnabled"` + // Set to true if the pages settings should not be reset to their pre-terraform defaults on destroy. + KeepSettingsOnDestroy *bool `pulumi:"keepSettingsOnDestroy"` + // The project ID or path. + Project string `pulumi:"project"` +} + +// The set of arguments for constructing a ProjectPagesSettings resource. +type ProjectPagesSettingsArgs struct { + // Boolean indicating if the project is set to force https. Requires `externalHttps` to be configured in the GitLab instance: https://docs.gitlab.com/administration/pages/#custom-domains-with-tls-support. + ForceHttps pulumi.BoolPtrInput + // Boolean indicating if a unique domain is enabled. + IsUniqueDomainEnabled pulumi.BoolPtrInput + // Set to true if the pages settings should not be reset to their pre-terraform defaults on destroy. + KeepSettingsOnDestroy pulumi.BoolPtrInput + // The project ID or path. + Project pulumi.StringInput +} + +func (ProjectPagesSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectPagesSettingsArgs)(nil)).Elem() +} + +type ProjectPagesSettingsInput interface { + pulumi.Input + + ToProjectPagesSettingsOutput() ProjectPagesSettingsOutput + ToProjectPagesSettingsOutputWithContext(ctx context.Context) ProjectPagesSettingsOutput +} + +func (*ProjectPagesSettings) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectPagesSettings)(nil)).Elem() +} + +func (i *ProjectPagesSettings) ToProjectPagesSettingsOutput() ProjectPagesSettingsOutput { + return i.ToProjectPagesSettingsOutputWithContext(context.Background()) +} + +func (i *ProjectPagesSettings) ToProjectPagesSettingsOutputWithContext(ctx context.Context) ProjectPagesSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPagesSettingsOutput) +} + +// ProjectPagesSettingsArrayInput is an input type that accepts ProjectPagesSettingsArray and ProjectPagesSettingsArrayOutput values. +// You can construct a concrete instance of `ProjectPagesSettingsArrayInput` via: +// +// ProjectPagesSettingsArray{ ProjectPagesSettingsArgs{...} } +type ProjectPagesSettingsArrayInput interface { + pulumi.Input + + ToProjectPagesSettingsArrayOutput() ProjectPagesSettingsArrayOutput + ToProjectPagesSettingsArrayOutputWithContext(context.Context) ProjectPagesSettingsArrayOutput +} + +type ProjectPagesSettingsArray []ProjectPagesSettingsInput + +func (ProjectPagesSettingsArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectPagesSettings)(nil)).Elem() +} + +func (i ProjectPagesSettingsArray) ToProjectPagesSettingsArrayOutput() ProjectPagesSettingsArrayOutput { + return i.ToProjectPagesSettingsArrayOutputWithContext(context.Background()) +} + +func (i ProjectPagesSettingsArray) ToProjectPagesSettingsArrayOutputWithContext(ctx context.Context) ProjectPagesSettingsArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPagesSettingsArrayOutput) +} + +// ProjectPagesSettingsMapInput is an input type that accepts ProjectPagesSettingsMap and ProjectPagesSettingsMapOutput values. +// You can construct a concrete instance of `ProjectPagesSettingsMapInput` via: +// +// ProjectPagesSettingsMap{ "key": ProjectPagesSettingsArgs{...} } +type ProjectPagesSettingsMapInput interface { + pulumi.Input + + ToProjectPagesSettingsMapOutput() ProjectPagesSettingsMapOutput + ToProjectPagesSettingsMapOutputWithContext(context.Context) ProjectPagesSettingsMapOutput +} + +type ProjectPagesSettingsMap map[string]ProjectPagesSettingsInput + +func (ProjectPagesSettingsMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectPagesSettings)(nil)).Elem() +} + +func (i ProjectPagesSettingsMap) ToProjectPagesSettingsMapOutput() ProjectPagesSettingsMapOutput { + return i.ToProjectPagesSettingsMapOutputWithContext(context.Background()) +} + +func (i ProjectPagesSettingsMap) ToProjectPagesSettingsMapOutputWithContext(ctx context.Context) ProjectPagesSettingsMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPagesSettingsMapOutput) +} + +type ProjectPagesSettingsOutput struct{ *pulumi.OutputState } + +func (ProjectPagesSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectPagesSettings)(nil)).Elem() +} + +func (o ProjectPagesSettingsOutput) ToProjectPagesSettingsOutput() ProjectPagesSettingsOutput { + return o +} + +func (o ProjectPagesSettingsOutput) ToProjectPagesSettingsOutputWithContext(ctx context.Context) ProjectPagesSettingsOutput { + return o +} + +// List of current active deployments. +func (o ProjectPagesSettingsOutput) Deployments() ProjectPagesSettingsDeploymentArrayOutput { + return o.ApplyT(func(v *ProjectPagesSettings) ProjectPagesSettingsDeploymentArrayOutput { return v.Deployments }).(ProjectPagesSettingsDeploymentArrayOutput) +} + +// Boolean indicating if the project is set to force https. Requires `externalHttps` to be configured in the GitLab instance: https://docs.gitlab.com/administration/pages/#custom-domains-with-tls-support. +func (o ProjectPagesSettingsOutput) ForceHttps() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPagesSettings) pulumi.BoolOutput { return v.ForceHttps }).(pulumi.BoolOutput) +} + +// Boolean indicating if a unique domain is enabled. +func (o ProjectPagesSettingsOutput) IsUniqueDomainEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPagesSettings) pulumi.BoolOutput { return v.IsUniqueDomainEnabled }).(pulumi.BoolOutput) +} + +// Set to true if the pages settings should not be reset to their pre-terraform defaults on destroy. +func (o ProjectPagesSettingsOutput) KeepSettingsOnDestroy() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPagesSettings) pulumi.BoolOutput { return v.KeepSettingsOnDestroy }).(pulumi.BoolOutput) +} + +// The project ID or path. +func (o ProjectPagesSettingsOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPagesSettings) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// The URL to access the project pages. +func (o ProjectPagesSettingsOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPagesSettings) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type ProjectPagesSettingsArrayOutput struct{ *pulumi.OutputState } + +func (ProjectPagesSettingsArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectPagesSettings)(nil)).Elem() +} + +func (o ProjectPagesSettingsArrayOutput) ToProjectPagesSettingsArrayOutput() ProjectPagesSettingsArrayOutput { + return o +} + +func (o ProjectPagesSettingsArrayOutput) ToProjectPagesSettingsArrayOutputWithContext(ctx context.Context) ProjectPagesSettingsArrayOutput { + return o +} + +func (o ProjectPagesSettingsArrayOutput) Index(i pulumi.IntInput) ProjectPagesSettingsOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectPagesSettings { + return vs[0].([]*ProjectPagesSettings)[vs[1].(int)] + }).(ProjectPagesSettingsOutput) +} + +type ProjectPagesSettingsMapOutput struct{ *pulumi.OutputState } + +func (ProjectPagesSettingsMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectPagesSettings)(nil)).Elem() +} + +func (o ProjectPagesSettingsMapOutput) ToProjectPagesSettingsMapOutput() ProjectPagesSettingsMapOutput { + return o +} + +func (o ProjectPagesSettingsMapOutput) ToProjectPagesSettingsMapOutputWithContext(ctx context.Context) ProjectPagesSettingsMapOutput { + return o +} + +func (o ProjectPagesSettingsMapOutput) MapIndex(k pulumi.StringInput) ProjectPagesSettingsOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectPagesSettings { + return vs[0].(map[string]*ProjectPagesSettings)[vs[1].(string)] + }).(ProjectPagesSettingsOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPagesSettingsInput)(nil)).Elem(), &ProjectPagesSettings{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPagesSettingsArrayInput)(nil)).Elem(), ProjectPagesSettingsArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPagesSettingsMapInput)(nil)).Elem(), ProjectPagesSettingsMap{}) + pulumi.RegisterOutputType(ProjectPagesSettingsOutput{}) + pulumi.RegisterOutputType(ProjectPagesSettingsArrayOutput{}) + pulumi.RegisterOutputType(ProjectPagesSettingsMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectProtectedEnvironment.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectProtectedEnvironment.go similarity index 81% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectProtectedEnvironment.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectProtectedEnvironment.go index e0f31b691..5e7d853ca 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectProtectedEnvironment.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectProtectedEnvironment.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectProtectedEnvironment` resource allows to manage the lifecycle of a protected environment in a project. +// The `ProjectProtectedEnvironment` resource manages the lifecycle of a protected environment in a project. // // > In order to use a user or group in the `deployAccessLevels` configuration, // @@ -25,21 +25,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_protected_environment`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectProtectedEnvironment`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_project_protected_environment.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab protected environments can be imported using an id made up of `projectId:environmentName`, e.g. +// GitLab protected environments can be imported using an id made up of `projectId:environmentName`, for example: // // ```sh // $ pulumi import gitlab:index/projectProtectedEnvironment:ProjectProtectedEnvironment bar 123:production @@ -49,8 +39,12 @@ type ProjectProtectedEnvironment struct { // Array of approval rules to deploy, with each described by a hash. Elements in the `approvalRules` should be one of `userId`, `groupId` or `accessLevel`. ApprovalRules ProjectProtectedEnvironmentApprovalRuleArrayOutput `pulumi:"approvalRules"` - // Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. + // Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. Use `deployAccessLevelsAttribute` instead. To be removed in 19.0. + // + // Deprecated: Use `deployAccessLevelsAttribute` instead. To be removed in 19.0. DeployAccessLevels ProjectProtectedEnvironmentDeployAccessLevelArrayOutput `pulumi:"deployAccessLevels"` + // Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. + DeployAccessLevelsAttributes ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput `pulumi:"deployAccessLevelsAttributes"` // The name of the environment. Environment pulumi.StringOutput `pulumi:"environment"` // The ID or full path of the project which the protected environment is created against. @@ -95,8 +89,12 @@ func GetProjectProtectedEnvironment(ctx *pulumi.Context, type projectProtectedEnvironmentState struct { // Array of approval rules to deploy, with each described by a hash. Elements in the `approvalRules` should be one of `userId`, `groupId` or `accessLevel`. ApprovalRules []ProjectProtectedEnvironmentApprovalRule `pulumi:"approvalRules"` - // Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. + // Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. Use `deployAccessLevelsAttribute` instead. To be removed in 19.0. + // + // Deprecated: Use `deployAccessLevelsAttribute` instead. To be removed in 19.0. DeployAccessLevels []ProjectProtectedEnvironmentDeployAccessLevel `pulumi:"deployAccessLevels"` + // Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. + DeployAccessLevelsAttributes []ProjectProtectedEnvironmentDeployAccessLevelsAttribute `pulumi:"deployAccessLevelsAttributes"` // The name of the environment. Environment *string `pulumi:"environment"` // The ID or full path of the project which the protected environment is created against. @@ -106,8 +104,12 @@ type projectProtectedEnvironmentState struct { type ProjectProtectedEnvironmentState struct { // Array of approval rules to deploy, with each described by a hash. Elements in the `approvalRules` should be one of `userId`, `groupId` or `accessLevel`. ApprovalRules ProjectProtectedEnvironmentApprovalRuleArrayInput - // Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. + // Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. Use `deployAccessLevelsAttribute` instead. To be removed in 19.0. + // + // Deprecated: Use `deployAccessLevelsAttribute` instead. To be removed in 19.0. DeployAccessLevels ProjectProtectedEnvironmentDeployAccessLevelArrayInput + // Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. + DeployAccessLevelsAttributes ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayInput // The name of the environment. Environment pulumi.StringPtrInput // The ID or full path of the project which the protected environment is created against. @@ -121,8 +123,12 @@ func (ProjectProtectedEnvironmentState) ElementType() reflect.Type { type projectProtectedEnvironmentArgs struct { // Array of approval rules to deploy, with each described by a hash. Elements in the `approvalRules` should be one of `userId`, `groupId` or `accessLevel`. ApprovalRules []ProjectProtectedEnvironmentApprovalRule `pulumi:"approvalRules"` - // Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. + // Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. Use `deployAccessLevelsAttribute` instead. To be removed in 19.0. + // + // Deprecated: Use `deployAccessLevelsAttribute` instead. To be removed in 19.0. DeployAccessLevels []ProjectProtectedEnvironmentDeployAccessLevel `pulumi:"deployAccessLevels"` + // Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. + DeployAccessLevelsAttributes []ProjectProtectedEnvironmentDeployAccessLevelsAttribute `pulumi:"deployAccessLevelsAttributes"` // The name of the environment. Environment string `pulumi:"environment"` // The ID or full path of the project which the protected environment is created against. @@ -133,8 +139,12 @@ type projectProtectedEnvironmentArgs struct { type ProjectProtectedEnvironmentArgs struct { // Array of approval rules to deploy, with each described by a hash. Elements in the `approvalRules` should be one of `userId`, `groupId` or `accessLevel`. ApprovalRules ProjectProtectedEnvironmentApprovalRuleArrayInput - // Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. + // Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. Use `deployAccessLevelsAttribute` instead. To be removed in 19.0. + // + // Deprecated: Use `deployAccessLevelsAttribute` instead. To be removed in 19.0. DeployAccessLevels ProjectProtectedEnvironmentDeployAccessLevelArrayInput + // Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. + DeployAccessLevelsAttributes ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayInput // The name of the environment. Environment pulumi.StringInput // The ID or full path of the project which the protected environment is created against. @@ -235,13 +245,22 @@ func (o ProjectProtectedEnvironmentOutput) ApprovalRules() ProjectProtectedEnvir }).(ProjectProtectedEnvironmentApprovalRuleArrayOutput) } -// Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. +// Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. Use `deployAccessLevelsAttribute` instead. To be removed in 19.0. +// +// Deprecated: Use `deployAccessLevelsAttribute` instead. To be removed in 19.0. func (o ProjectProtectedEnvironmentOutput) DeployAccessLevels() ProjectProtectedEnvironmentDeployAccessLevelArrayOutput { return o.ApplyT(func(v *ProjectProtectedEnvironment) ProjectProtectedEnvironmentDeployAccessLevelArrayOutput { return v.DeployAccessLevels }).(ProjectProtectedEnvironmentDeployAccessLevelArrayOutput) } +// Array of access levels allowed to deploy, with each described by a hash. Elements in the `deployAccessLevels` should be one of `userId`, `groupId` or `accessLevel`. +func (o ProjectProtectedEnvironmentOutput) DeployAccessLevelsAttributes() ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput { + return o.ApplyT(func(v *ProjectProtectedEnvironment) ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput { + return v.DeployAccessLevelsAttributes + }).(ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput) +} + // The name of the environment. func (o ProjectProtectedEnvironmentOutput) Environment() pulumi.StringOutput { return o.ApplyT(func(v *ProjectProtectedEnvironment) pulumi.StringOutput { return v.Environment }).(pulumi.StringOutput) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPullMirror.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPullMirror.go new file mode 100644 index 000000000..5e2dcfd80 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPullMirror.go @@ -0,0 +1,500 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectPullMirror` resource allows managing pull mirroring for GitLab projects. +// +// This resource uses the dedicated pull mirror API endpoint which provides reliable configuration of pull mirroring after project creation. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_pull_mirroring/#configure-pull-mirroring-for-a-project) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// // Basic pull mirror from GitHub +// // Note: Unspecified options will use GitLab's defaults +// _, err := gitlab.NewProjectPullMirror(ctx, "github", &gitlab.ProjectPullMirrorArgs{ +// Project: pulumi.Any(example.Id), +// Url: pulumi.String("https://github.com/example/repo.git"), +// AuthUser: pulumi.String("github-username"), +// AuthPassword: pulumi.Any(githubToken), +// }) +// if err != nil { +// return err +// } +// // Pull mirror with explicit options +// // Only specify options you want to control; omit others to use GitLab defaults +// _, err = gitlab.NewProjectPullMirror(ctx, "advanced", &gitlab.ProjectPullMirrorArgs{ +// Project: pulumi.Any(example.Id), +// Url: pulumi.String("https://github.com/example/repo.git"), +// Enabled: pulumi.Bool(true), +// AuthUser: pulumi.String("github-username"), +// AuthPassword: pulumi.Any(githubToken), +// MirrorTriggerBuilds: pulumi.Bool(true), +// OnlyMirrorProtectedBranches: pulumi.Bool(true), +// MirrorOverwritesDivergedBranches: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // Pull mirror with branch regex (Premium/Ultimate) +// _, err = gitlab.NewProjectPullMirror(ctx, "regex", &gitlab.ProjectPullMirrorArgs{ +// Project: pulumi.Any(example.Id), +// Url: pulumi.String("https://github.com/example/repo.git"), +// AuthUser: pulumi.String("github-username"), +// AuthPassword: pulumi.Any(githubToken), +// MirrorBranchRegex: pulumi.String("^(main|develop|release/.*)$"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectPullMirror`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// # Import using project ID +// +// ```sh +// $ pulumi import gitlab:index/projectPullMirror:ProjectPullMirror example 123 +// ``` +// +// Import using project path +// Note: Import is not supported for disabled mirrors because the GitLab API returns +// http 400 for disabled mirrors. +// +// ```sh +// $ pulumi import gitlab:index/projectPullMirror:ProjectPullMirror example "group/project" +// ``` +type ProjectPullMirror struct { + pulumi.CustomResourceState + + // Authentication password or token for the remote repository. + AuthPassword pulumi.StringPtrOutput `pulumi:"authPassword"` + // Authentication username for the remote repository. + AuthUser pulumi.StringPtrOutput `pulumi:"authUser"` + // Enable or disable the pull mirror. Defaults to `true`. + Enabled pulumi.BoolOutput `pulumi:"enabled"` + // Last error message from the mirror operation. + LastError pulumi.StringOutput `pulumi:"lastError"` + // Timestamp of the last successful mirror update. + LastSuccessfulUpdateAt pulumi.StringOutput `pulumi:"lastSuccessfulUpdateAt"` + // Timestamp of the last mirror update attempt. + LastUpdateAt pulumi.StringOutput `pulumi:"lastUpdateAt"` + // Timestamp when the last mirror update started. + LastUpdateStartedAt pulumi.StringOutput `pulumi:"lastUpdateStartedAt"` + // Regular expression for branches to mirror. Requires GitLab Premium or Ultimate. Cannot be used with `onlyMirrorProtectedBranches`. + MirrorBranchRegex pulumi.StringOutput `pulumi:"mirrorBranchRegex"` + // The ID of the pull mirror. This ID is set by GitLab. + MirrorId pulumi.IntOutput `pulumi:"mirrorId"` + // Overwrite diverged branches on the target project. + MirrorOverwritesDivergedBranches pulumi.BoolOutput `pulumi:"mirrorOverwritesDivergedBranches"` + // Trigger CI/CD pipelines when the mirror updates. + MirrorTriggerBuilds pulumi.BoolOutput `pulumi:"mirrorTriggerBuilds"` + // Mirror only protected branches. Cannot be used with `mirrorBranchRegex`. + OnlyMirrorProtectedBranches pulumi.BoolOutput `pulumi:"onlyMirrorProtectedBranches"` + // The ID or URL-encoded path of the project owned by the authenticated user. + Project pulumi.StringOutput `pulumi:"project"` + // Current status of the mirror update. + UpdateStatus pulumi.StringOutput `pulumi:"updateStatus"` + // The URL of the remote repository to mirror from. While the API call allows including username and password as basic authentication in the URL, this resourcedoes not for security and idempotency reasons. Use `authUser` and `authPassword` instead. + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewProjectPullMirror registers a new resource with the given unique name, arguments, and options. +func NewProjectPullMirror(ctx *pulumi.Context, + name string, args *ProjectPullMirrorArgs, opts ...pulumi.ResourceOption) (*ProjectPullMirror, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + if args.AuthPassword != nil { + args.AuthPassword = pulumi.ToSecret(args.AuthPassword).(pulumi.StringPtrInput) + } + if args.Url != nil { + args.Url = pulumi.ToSecret(args.Url).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "authPassword", + "url", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectPullMirror + err := ctx.RegisterResource("gitlab:index/projectPullMirror:ProjectPullMirror", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectPullMirror gets an existing ProjectPullMirror resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectPullMirror(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectPullMirrorState, opts ...pulumi.ResourceOption) (*ProjectPullMirror, error) { + var resource ProjectPullMirror + err := ctx.ReadResource("gitlab:index/projectPullMirror:ProjectPullMirror", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectPullMirror resources. +type projectPullMirrorState struct { + // Authentication password or token for the remote repository. + AuthPassword *string `pulumi:"authPassword"` + // Authentication username for the remote repository. + AuthUser *string `pulumi:"authUser"` + // Enable or disable the pull mirror. Defaults to `true`. + Enabled *bool `pulumi:"enabled"` + // Last error message from the mirror operation. + LastError *string `pulumi:"lastError"` + // Timestamp of the last successful mirror update. + LastSuccessfulUpdateAt *string `pulumi:"lastSuccessfulUpdateAt"` + // Timestamp of the last mirror update attempt. + LastUpdateAt *string `pulumi:"lastUpdateAt"` + // Timestamp when the last mirror update started. + LastUpdateStartedAt *string `pulumi:"lastUpdateStartedAt"` + // Regular expression for branches to mirror. Requires GitLab Premium or Ultimate. Cannot be used with `onlyMirrorProtectedBranches`. + MirrorBranchRegex *string `pulumi:"mirrorBranchRegex"` + // The ID of the pull mirror. This ID is set by GitLab. + MirrorId *int `pulumi:"mirrorId"` + // Overwrite diverged branches on the target project. + MirrorOverwritesDivergedBranches *bool `pulumi:"mirrorOverwritesDivergedBranches"` + // Trigger CI/CD pipelines when the mirror updates. + MirrorTriggerBuilds *bool `pulumi:"mirrorTriggerBuilds"` + // Mirror only protected branches. Cannot be used with `mirrorBranchRegex`. + OnlyMirrorProtectedBranches *bool `pulumi:"onlyMirrorProtectedBranches"` + // The ID or URL-encoded path of the project owned by the authenticated user. + Project *string `pulumi:"project"` + // Current status of the mirror update. + UpdateStatus *string `pulumi:"updateStatus"` + // The URL of the remote repository to mirror from. While the API call allows including username and password as basic authentication in the URL, this resourcedoes not for security and idempotency reasons. Use `authUser` and `authPassword` instead. + Url *string `pulumi:"url"` +} + +type ProjectPullMirrorState struct { + // Authentication password or token for the remote repository. + AuthPassword pulumi.StringPtrInput + // Authentication username for the remote repository. + AuthUser pulumi.StringPtrInput + // Enable or disable the pull mirror. Defaults to `true`. + Enabled pulumi.BoolPtrInput + // Last error message from the mirror operation. + LastError pulumi.StringPtrInput + // Timestamp of the last successful mirror update. + LastSuccessfulUpdateAt pulumi.StringPtrInput + // Timestamp of the last mirror update attempt. + LastUpdateAt pulumi.StringPtrInput + // Timestamp when the last mirror update started. + LastUpdateStartedAt pulumi.StringPtrInput + // Regular expression for branches to mirror. Requires GitLab Premium or Ultimate. Cannot be used with `onlyMirrorProtectedBranches`. + MirrorBranchRegex pulumi.StringPtrInput + // The ID of the pull mirror. This ID is set by GitLab. + MirrorId pulumi.IntPtrInput + // Overwrite diverged branches on the target project. + MirrorOverwritesDivergedBranches pulumi.BoolPtrInput + // Trigger CI/CD pipelines when the mirror updates. + MirrorTriggerBuilds pulumi.BoolPtrInput + // Mirror only protected branches. Cannot be used with `mirrorBranchRegex`. + OnlyMirrorProtectedBranches pulumi.BoolPtrInput + // The ID or URL-encoded path of the project owned by the authenticated user. + Project pulumi.StringPtrInput + // Current status of the mirror update. + UpdateStatus pulumi.StringPtrInput + // The URL of the remote repository to mirror from. While the API call allows including username and password as basic authentication in the URL, this resourcedoes not for security and idempotency reasons. Use `authUser` and `authPassword` instead. + Url pulumi.StringPtrInput +} + +func (ProjectPullMirrorState) ElementType() reflect.Type { + return reflect.TypeOf((*projectPullMirrorState)(nil)).Elem() +} + +type projectPullMirrorArgs struct { + // Authentication password or token for the remote repository. + AuthPassword *string `pulumi:"authPassword"` + // Authentication username for the remote repository. + AuthUser *string `pulumi:"authUser"` + // Enable or disable the pull mirror. Defaults to `true`. + Enabled *bool `pulumi:"enabled"` + // Regular expression for branches to mirror. Requires GitLab Premium or Ultimate. Cannot be used with `onlyMirrorProtectedBranches`. + MirrorBranchRegex *string `pulumi:"mirrorBranchRegex"` + // Overwrite diverged branches on the target project. + MirrorOverwritesDivergedBranches *bool `pulumi:"mirrorOverwritesDivergedBranches"` + // Trigger CI/CD pipelines when the mirror updates. + MirrorTriggerBuilds *bool `pulumi:"mirrorTriggerBuilds"` + // Mirror only protected branches. Cannot be used with `mirrorBranchRegex`. + OnlyMirrorProtectedBranches *bool `pulumi:"onlyMirrorProtectedBranches"` + // The ID or URL-encoded path of the project owned by the authenticated user. + Project string `pulumi:"project"` + // The URL of the remote repository to mirror from. While the API call allows including username and password as basic authentication in the URL, this resourcedoes not for security and idempotency reasons. Use `authUser` and `authPassword` instead. + Url string `pulumi:"url"` +} + +// The set of arguments for constructing a ProjectPullMirror resource. +type ProjectPullMirrorArgs struct { + // Authentication password or token for the remote repository. + AuthPassword pulumi.StringPtrInput + // Authentication username for the remote repository. + AuthUser pulumi.StringPtrInput + // Enable or disable the pull mirror. Defaults to `true`. + Enabled pulumi.BoolPtrInput + // Regular expression for branches to mirror. Requires GitLab Premium or Ultimate. Cannot be used with `onlyMirrorProtectedBranches`. + MirrorBranchRegex pulumi.StringPtrInput + // Overwrite diverged branches on the target project. + MirrorOverwritesDivergedBranches pulumi.BoolPtrInput + // Trigger CI/CD pipelines when the mirror updates. + MirrorTriggerBuilds pulumi.BoolPtrInput + // Mirror only protected branches. Cannot be used with `mirrorBranchRegex`. + OnlyMirrorProtectedBranches pulumi.BoolPtrInput + // The ID or URL-encoded path of the project owned by the authenticated user. + Project pulumi.StringInput + // The URL of the remote repository to mirror from. While the API call allows including username and password as basic authentication in the URL, this resourcedoes not for security and idempotency reasons. Use `authUser` and `authPassword` instead. + Url pulumi.StringInput +} + +func (ProjectPullMirrorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectPullMirrorArgs)(nil)).Elem() +} + +type ProjectPullMirrorInput interface { + pulumi.Input + + ToProjectPullMirrorOutput() ProjectPullMirrorOutput + ToProjectPullMirrorOutputWithContext(ctx context.Context) ProjectPullMirrorOutput +} + +func (*ProjectPullMirror) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectPullMirror)(nil)).Elem() +} + +func (i *ProjectPullMirror) ToProjectPullMirrorOutput() ProjectPullMirrorOutput { + return i.ToProjectPullMirrorOutputWithContext(context.Background()) +} + +func (i *ProjectPullMirror) ToProjectPullMirrorOutputWithContext(ctx context.Context) ProjectPullMirrorOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPullMirrorOutput) +} + +// ProjectPullMirrorArrayInput is an input type that accepts ProjectPullMirrorArray and ProjectPullMirrorArrayOutput values. +// You can construct a concrete instance of `ProjectPullMirrorArrayInput` via: +// +// ProjectPullMirrorArray{ ProjectPullMirrorArgs{...} } +type ProjectPullMirrorArrayInput interface { + pulumi.Input + + ToProjectPullMirrorArrayOutput() ProjectPullMirrorArrayOutput + ToProjectPullMirrorArrayOutputWithContext(context.Context) ProjectPullMirrorArrayOutput +} + +type ProjectPullMirrorArray []ProjectPullMirrorInput + +func (ProjectPullMirrorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectPullMirror)(nil)).Elem() +} + +func (i ProjectPullMirrorArray) ToProjectPullMirrorArrayOutput() ProjectPullMirrorArrayOutput { + return i.ToProjectPullMirrorArrayOutputWithContext(context.Background()) +} + +func (i ProjectPullMirrorArray) ToProjectPullMirrorArrayOutputWithContext(ctx context.Context) ProjectPullMirrorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPullMirrorArrayOutput) +} + +// ProjectPullMirrorMapInput is an input type that accepts ProjectPullMirrorMap and ProjectPullMirrorMapOutput values. +// You can construct a concrete instance of `ProjectPullMirrorMapInput` via: +// +// ProjectPullMirrorMap{ "key": ProjectPullMirrorArgs{...} } +type ProjectPullMirrorMapInput interface { + pulumi.Input + + ToProjectPullMirrorMapOutput() ProjectPullMirrorMapOutput + ToProjectPullMirrorMapOutputWithContext(context.Context) ProjectPullMirrorMapOutput +} + +type ProjectPullMirrorMap map[string]ProjectPullMirrorInput + +func (ProjectPullMirrorMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectPullMirror)(nil)).Elem() +} + +func (i ProjectPullMirrorMap) ToProjectPullMirrorMapOutput() ProjectPullMirrorMapOutput { + return i.ToProjectPullMirrorMapOutputWithContext(context.Background()) +} + +func (i ProjectPullMirrorMap) ToProjectPullMirrorMapOutputWithContext(ctx context.Context) ProjectPullMirrorMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPullMirrorMapOutput) +} + +type ProjectPullMirrorOutput struct{ *pulumi.OutputState } + +func (ProjectPullMirrorOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectPullMirror)(nil)).Elem() +} + +func (o ProjectPullMirrorOutput) ToProjectPullMirrorOutput() ProjectPullMirrorOutput { + return o +} + +func (o ProjectPullMirrorOutput) ToProjectPullMirrorOutputWithContext(ctx context.Context) ProjectPullMirrorOutput { + return o +} + +// Authentication password or token for the remote repository. +func (o ProjectPullMirrorOutput) AuthPassword() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectPullMirror) pulumi.StringPtrOutput { return v.AuthPassword }).(pulumi.StringPtrOutput) +} + +// Authentication username for the remote repository. +func (o ProjectPullMirrorOutput) AuthUser() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectPullMirror) pulumi.StringPtrOutput { return v.AuthUser }).(pulumi.StringPtrOutput) +} + +// Enable or disable the pull mirror. Defaults to `true`. +func (o ProjectPullMirrorOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPullMirror) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput) +} + +// Last error message from the mirror operation. +func (o ProjectPullMirrorOutput) LastError() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPullMirror) pulumi.StringOutput { return v.LastError }).(pulumi.StringOutput) +} + +// Timestamp of the last successful mirror update. +func (o ProjectPullMirrorOutput) LastSuccessfulUpdateAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPullMirror) pulumi.StringOutput { return v.LastSuccessfulUpdateAt }).(pulumi.StringOutput) +} + +// Timestamp of the last mirror update attempt. +func (o ProjectPullMirrorOutput) LastUpdateAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPullMirror) pulumi.StringOutput { return v.LastUpdateAt }).(pulumi.StringOutput) +} + +// Timestamp when the last mirror update started. +func (o ProjectPullMirrorOutput) LastUpdateStartedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPullMirror) pulumi.StringOutput { return v.LastUpdateStartedAt }).(pulumi.StringOutput) +} + +// Regular expression for branches to mirror. Requires GitLab Premium or Ultimate. Cannot be used with `onlyMirrorProtectedBranches`. +func (o ProjectPullMirrorOutput) MirrorBranchRegex() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPullMirror) pulumi.StringOutput { return v.MirrorBranchRegex }).(pulumi.StringOutput) +} + +// The ID of the pull mirror. This ID is set by GitLab. +func (o ProjectPullMirrorOutput) MirrorId() pulumi.IntOutput { + return o.ApplyT(func(v *ProjectPullMirror) pulumi.IntOutput { return v.MirrorId }).(pulumi.IntOutput) +} + +// Overwrite diverged branches on the target project. +func (o ProjectPullMirrorOutput) MirrorOverwritesDivergedBranches() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPullMirror) pulumi.BoolOutput { return v.MirrorOverwritesDivergedBranches }).(pulumi.BoolOutput) +} + +// Trigger CI/CD pipelines when the mirror updates. +func (o ProjectPullMirrorOutput) MirrorTriggerBuilds() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPullMirror) pulumi.BoolOutput { return v.MirrorTriggerBuilds }).(pulumi.BoolOutput) +} + +// Mirror only protected branches. Cannot be used with `mirrorBranchRegex`. +func (o ProjectPullMirrorOutput) OnlyMirrorProtectedBranches() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPullMirror) pulumi.BoolOutput { return v.OnlyMirrorProtectedBranches }).(pulumi.BoolOutput) +} + +// The ID or URL-encoded path of the project owned by the authenticated user. +func (o ProjectPullMirrorOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPullMirror) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Current status of the mirror update. +func (o ProjectPullMirrorOutput) UpdateStatus() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPullMirror) pulumi.StringOutput { return v.UpdateStatus }).(pulumi.StringOutput) +} + +// The URL of the remote repository to mirror from. While the API call allows including username and password as basic authentication in the URL, this resourcedoes not for security and idempotency reasons. Use `authUser` and `authPassword` instead. +func (o ProjectPullMirrorOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPullMirror) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type ProjectPullMirrorArrayOutput struct{ *pulumi.OutputState } + +func (ProjectPullMirrorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectPullMirror)(nil)).Elem() +} + +func (o ProjectPullMirrorArrayOutput) ToProjectPullMirrorArrayOutput() ProjectPullMirrorArrayOutput { + return o +} + +func (o ProjectPullMirrorArrayOutput) ToProjectPullMirrorArrayOutputWithContext(ctx context.Context) ProjectPullMirrorArrayOutput { + return o +} + +func (o ProjectPullMirrorArrayOutput) Index(i pulumi.IntInput) ProjectPullMirrorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectPullMirror { + return vs[0].([]*ProjectPullMirror)[vs[1].(int)] + }).(ProjectPullMirrorOutput) +} + +type ProjectPullMirrorMapOutput struct{ *pulumi.OutputState } + +func (ProjectPullMirrorMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectPullMirror)(nil)).Elem() +} + +func (o ProjectPullMirrorMapOutput) ToProjectPullMirrorMapOutput() ProjectPullMirrorMapOutput { + return o +} + +func (o ProjectPullMirrorMapOutput) ToProjectPullMirrorMapOutputWithContext(ctx context.Context) ProjectPullMirrorMapOutput { + return o +} + +func (o ProjectPullMirrorMapOutput) MapIndex(k pulumi.StringInput) ProjectPullMirrorOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectPullMirror { + return vs[0].(map[string]*ProjectPullMirror)[vs[1].(string)] + }).(ProjectPullMirrorOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPullMirrorInput)(nil)).Elem(), &ProjectPullMirror{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPullMirrorArrayInput)(nil)).Elem(), ProjectPullMirrorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPullMirrorMapInput)(nil)).Elem(), ProjectPullMirrorMap{}) + pulumi.RegisterOutputType(ProjectPullMirrorOutput{}) + pulumi.RegisterOutputType(ProjectPullMirrorArrayOutput{}) + pulumi.RegisterOutputType(ProjectPullMirrorMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPushMirror.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPushMirror.go new file mode 100644 index 000000000..ed741ec5a --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPushMirror.go @@ -0,0 +1,378 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectPushMirror` resource manages the lifecycle of a project mirror. +// +// This is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured with the ProjectPullMirror resource. +// +// > **Warning** By default, the provider sets the `keepDivergentRefs` argument to `True`. +// +// If you manually set `keepDivergentRefs` to `False`, GitLab mirroring removes branches in the target that aren't in the source. +// This action can result in unexpected branch deletions. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/remote_mirrors/) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.NewProjectPushMirror(ctx, "foo", &gitlab.ProjectPushMirrorArgs{ +// Project: pulumi.String("1"), +// Url: pulumi.String("https://username:password@github.com/org/repository.git"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectPushMirror`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// GitLab project mirror can be imported using an id made up of `project_id:mirror_id`, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectPushMirror:ProjectPushMirror foo "12345:1337" +// ``` +type ProjectPushMirror struct { + pulumi.CustomResourceState + + // Determines the mirror authentication method. Valid values are: `sshPublicKey`, `password`. + AuthMethod pulumi.StringOutput `pulumi:"authMethod"` + // Determines if the mirror is enabled. + Enabled pulumi.BoolOutput `pulumi:"enabled"` + // Determines if divergent refs are skipped. + KeepDivergentRefs pulumi.BoolOutput `pulumi:"keepDivergentRefs"` + // Contains a regular expression. Only branches with names matching the regex are mirrored. Requires only*protected*branches to be disabled. Premium and Ultimate only. + MirrorBranchRegex pulumi.StringOutput `pulumi:"mirrorBranchRegex"` + // Mirror ID. + MirrorId pulumi.IntOutput `pulumi:"mirrorId"` + // Determines if only protected branches are mirrored. + OnlyProtectedBranches pulumi.BoolOutput `pulumi:"onlyProtectedBranches"` + // The id of the project. + Project pulumi.StringOutput `pulumi:"project"` + // The URL of the remote repository to be mirrored. Note that URLs with credentials will not import properly, and will require a replace on the first apply. + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewProjectPushMirror registers a new resource with the given unique name, arguments, and options. +func NewProjectPushMirror(ctx *pulumi.Context, + name string, args *ProjectPushMirrorArgs, opts ...pulumi.ResourceOption) (*ProjectPushMirror, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + if args.Url != nil { + args.Url = pulumi.ToSecret(args.Url).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "url", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectPushMirror + err := ctx.RegisterResource("gitlab:index/projectPushMirror:ProjectPushMirror", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectPushMirror gets an existing ProjectPushMirror resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectPushMirror(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectPushMirrorState, opts ...pulumi.ResourceOption) (*ProjectPushMirror, error) { + var resource ProjectPushMirror + err := ctx.ReadResource("gitlab:index/projectPushMirror:ProjectPushMirror", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectPushMirror resources. +type projectPushMirrorState struct { + // Determines the mirror authentication method. Valid values are: `sshPublicKey`, `password`. + AuthMethod *string `pulumi:"authMethod"` + // Determines if the mirror is enabled. + Enabled *bool `pulumi:"enabled"` + // Determines if divergent refs are skipped. + KeepDivergentRefs *bool `pulumi:"keepDivergentRefs"` + // Contains a regular expression. Only branches with names matching the regex are mirrored. Requires only*protected*branches to be disabled. Premium and Ultimate only. + MirrorBranchRegex *string `pulumi:"mirrorBranchRegex"` + // Mirror ID. + MirrorId *int `pulumi:"mirrorId"` + // Determines if only protected branches are mirrored. + OnlyProtectedBranches *bool `pulumi:"onlyProtectedBranches"` + // The id of the project. + Project *string `pulumi:"project"` + // The URL of the remote repository to be mirrored. Note that URLs with credentials will not import properly, and will require a replace on the first apply. + Url *string `pulumi:"url"` +} + +type ProjectPushMirrorState struct { + // Determines the mirror authentication method. Valid values are: `sshPublicKey`, `password`. + AuthMethod pulumi.StringPtrInput + // Determines if the mirror is enabled. + Enabled pulumi.BoolPtrInput + // Determines if divergent refs are skipped. + KeepDivergentRefs pulumi.BoolPtrInput + // Contains a regular expression. Only branches with names matching the regex are mirrored. Requires only*protected*branches to be disabled. Premium and Ultimate only. + MirrorBranchRegex pulumi.StringPtrInput + // Mirror ID. + MirrorId pulumi.IntPtrInput + // Determines if only protected branches are mirrored. + OnlyProtectedBranches pulumi.BoolPtrInput + // The id of the project. + Project pulumi.StringPtrInput + // The URL of the remote repository to be mirrored. Note that URLs with credentials will not import properly, and will require a replace on the first apply. + Url pulumi.StringPtrInput +} + +func (ProjectPushMirrorState) ElementType() reflect.Type { + return reflect.TypeOf((*projectPushMirrorState)(nil)).Elem() +} + +type projectPushMirrorArgs struct { + // Determines the mirror authentication method. Valid values are: `sshPublicKey`, `password`. + AuthMethod *string `pulumi:"authMethod"` + // Determines if the mirror is enabled. + Enabled *bool `pulumi:"enabled"` + // Determines if divergent refs are skipped. + KeepDivergentRefs *bool `pulumi:"keepDivergentRefs"` + // Contains a regular expression. Only branches with names matching the regex are mirrored. Requires only*protected*branches to be disabled. Premium and Ultimate only. + MirrorBranchRegex *string `pulumi:"mirrorBranchRegex"` + // Determines if only protected branches are mirrored. + OnlyProtectedBranches *bool `pulumi:"onlyProtectedBranches"` + // The id of the project. + Project string `pulumi:"project"` + // The URL of the remote repository to be mirrored. Note that URLs with credentials will not import properly, and will require a replace on the first apply. + Url string `pulumi:"url"` +} + +// The set of arguments for constructing a ProjectPushMirror resource. +type ProjectPushMirrorArgs struct { + // Determines the mirror authentication method. Valid values are: `sshPublicKey`, `password`. + AuthMethod pulumi.StringPtrInput + // Determines if the mirror is enabled. + Enabled pulumi.BoolPtrInput + // Determines if divergent refs are skipped. + KeepDivergentRefs pulumi.BoolPtrInput + // Contains a regular expression. Only branches with names matching the regex are mirrored. Requires only*protected*branches to be disabled. Premium and Ultimate only. + MirrorBranchRegex pulumi.StringPtrInput + // Determines if only protected branches are mirrored. + OnlyProtectedBranches pulumi.BoolPtrInput + // The id of the project. + Project pulumi.StringInput + // The URL of the remote repository to be mirrored. Note that URLs with credentials will not import properly, and will require a replace on the first apply. + Url pulumi.StringInput +} + +func (ProjectPushMirrorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectPushMirrorArgs)(nil)).Elem() +} + +type ProjectPushMirrorInput interface { + pulumi.Input + + ToProjectPushMirrorOutput() ProjectPushMirrorOutput + ToProjectPushMirrorOutputWithContext(ctx context.Context) ProjectPushMirrorOutput +} + +func (*ProjectPushMirror) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectPushMirror)(nil)).Elem() +} + +func (i *ProjectPushMirror) ToProjectPushMirrorOutput() ProjectPushMirrorOutput { + return i.ToProjectPushMirrorOutputWithContext(context.Background()) +} + +func (i *ProjectPushMirror) ToProjectPushMirrorOutputWithContext(ctx context.Context) ProjectPushMirrorOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPushMirrorOutput) +} + +// ProjectPushMirrorArrayInput is an input type that accepts ProjectPushMirrorArray and ProjectPushMirrorArrayOutput values. +// You can construct a concrete instance of `ProjectPushMirrorArrayInput` via: +// +// ProjectPushMirrorArray{ ProjectPushMirrorArgs{...} } +type ProjectPushMirrorArrayInput interface { + pulumi.Input + + ToProjectPushMirrorArrayOutput() ProjectPushMirrorArrayOutput + ToProjectPushMirrorArrayOutputWithContext(context.Context) ProjectPushMirrorArrayOutput +} + +type ProjectPushMirrorArray []ProjectPushMirrorInput + +func (ProjectPushMirrorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectPushMirror)(nil)).Elem() +} + +func (i ProjectPushMirrorArray) ToProjectPushMirrorArrayOutput() ProjectPushMirrorArrayOutput { + return i.ToProjectPushMirrorArrayOutputWithContext(context.Background()) +} + +func (i ProjectPushMirrorArray) ToProjectPushMirrorArrayOutputWithContext(ctx context.Context) ProjectPushMirrorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPushMirrorArrayOutput) +} + +// ProjectPushMirrorMapInput is an input type that accepts ProjectPushMirrorMap and ProjectPushMirrorMapOutput values. +// You can construct a concrete instance of `ProjectPushMirrorMapInput` via: +// +// ProjectPushMirrorMap{ "key": ProjectPushMirrorArgs{...} } +type ProjectPushMirrorMapInput interface { + pulumi.Input + + ToProjectPushMirrorMapOutput() ProjectPushMirrorMapOutput + ToProjectPushMirrorMapOutputWithContext(context.Context) ProjectPushMirrorMapOutput +} + +type ProjectPushMirrorMap map[string]ProjectPushMirrorInput + +func (ProjectPushMirrorMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectPushMirror)(nil)).Elem() +} + +func (i ProjectPushMirrorMap) ToProjectPushMirrorMapOutput() ProjectPushMirrorMapOutput { + return i.ToProjectPushMirrorMapOutputWithContext(context.Background()) +} + +func (i ProjectPushMirrorMap) ToProjectPushMirrorMapOutputWithContext(ctx context.Context) ProjectPushMirrorMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPushMirrorMapOutput) +} + +type ProjectPushMirrorOutput struct{ *pulumi.OutputState } + +func (ProjectPushMirrorOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectPushMirror)(nil)).Elem() +} + +func (o ProjectPushMirrorOutput) ToProjectPushMirrorOutput() ProjectPushMirrorOutput { + return o +} + +func (o ProjectPushMirrorOutput) ToProjectPushMirrorOutputWithContext(ctx context.Context) ProjectPushMirrorOutput { + return o +} + +// Determines the mirror authentication method. Valid values are: `sshPublicKey`, `password`. +func (o ProjectPushMirrorOutput) AuthMethod() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPushMirror) pulumi.StringOutput { return v.AuthMethod }).(pulumi.StringOutput) +} + +// Determines if the mirror is enabled. +func (o ProjectPushMirrorOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPushMirror) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput) +} + +// Determines if divergent refs are skipped. +func (o ProjectPushMirrorOutput) KeepDivergentRefs() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPushMirror) pulumi.BoolOutput { return v.KeepDivergentRefs }).(pulumi.BoolOutput) +} + +// Contains a regular expression. Only branches with names matching the regex are mirrored. Requires only*protected*branches to be disabled. Premium and Ultimate only. +func (o ProjectPushMirrorOutput) MirrorBranchRegex() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPushMirror) pulumi.StringOutput { return v.MirrorBranchRegex }).(pulumi.StringOutput) +} + +// Mirror ID. +func (o ProjectPushMirrorOutput) MirrorId() pulumi.IntOutput { + return o.ApplyT(func(v *ProjectPushMirror) pulumi.IntOutput { return v.MirrorId }).(pulumi.IntOutput) +} + +// Determines if only protected branches are mirrored. +func (o ProjectPushMirrorOutput) OnlyProtectedBranches() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPushMirror) pulumi.BoolOutput { return v.OnlyProtectedBranches }).(pulumi.BoolOutput) +} + +// The id of the project. +func (o ProjectPushMirrorOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPushMirror) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// The URL of the remote repository to be mirrored. Note that URLs with credentials will not import properly, and will require a replace on the first apply. +func (o ProjectPushMirrorOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPushMirror) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type ProjectPushMirrorArrayOutput struct{ *pulumi.OutputState } + +func (ProjectPushMirrorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectPushMirror)(nil)).Elem() +} + +func (o ProjectPushMirrorArrayOutput) ToProjectPushMirrorArrayOutput() ProjectPushMirrorArrayOutput { + return o +} + +func (o ProjectPushMirrorArrayOutput) ToProjectPushMirrorArrayOutputWithContext(ctx context.Context) ProjectPushMirrorArrayOutput { + return o +} + +func (o ProjectPushMirrorArrayOutput) Index(i pulumi.IntInput) ProjectPushMirrorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectPushMirror { + return vs[0].([]*ProjectPushMirror)[vs[1].(int)] + }).(ProjectPushMirrorOutput) +} + +type ProjectPushMirrorMapOutput struct{ *pulumi.OutputState } + +func (ProjectPushMirrorMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectPushMirror)(nil)).Elem() +} + +func (o ProjectPushMirrorMapOutput) ToProjectPushMirrorMapOutput() ProjectPushMirrorMapOutput { + return o +} + +func (o ProjectPushMirrorMapOutput) ToProjectPushMirrorMapOutputWithContext(ctx context.Context) ProjectPushMirrorMapOutput { + return o +} + +func (o ProjectPushMirrorMapOutput) MapIndex(k pulumi.StringInput) ProjectPushMirrorOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectPushMirror { + return vs[0].(map[string]*ProjectPushMirror)[vs[1].(string)] + }).(ProjectPushMirrorOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPushMirrorInput)(nil)).Elem(), &ProjectPushMirror{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPushMirrorArrayInput)(nil)).Elem(), ProjectPushMirrorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPushMirrorMapInput)(nil)).Elem(), ProjectPushMirrorMap{}) + pulumi.RegisterOutputType(ProjectPushMirrorOutput{}) + pulumi.RegisterOutputType(ProjectPushMirrorArrayOutput{}) + pulumi.RegisterOutputType(ProjectPushMirrorMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectPushRules.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPushRules.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectPushRules.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPushRules.go index 7e6bd967b..fd928ed96 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectPushRules.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectPushRules.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,10 +8,22 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// The `ProjectPushRules` resource manages the lifecycle of push rules on a project. +// +// > This resource will compete with the `Project` resource if push rules are also defined as +// +// part of that resource, since this resource will take over ownership of the project push rules created for the referenced project. +// It is recommended to define push rules using this resource OR in the `Project` resource, +// but not in both as it may result in terraform identifying changes with every "plan" operation. +// +// > This resource requires a GitLab Enterprise instance with a Premium license to set the push rules on a project. +// +// **Upstream API**: [GitLab API docs](https://docs.gitlab.com/api/project_push_rules/) +// // ## Example Usage // // ```go @@ -19,7 +31,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -52,21 +64,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_push_rules`. For example: -// -// terraform -// -// import { -// -// to = gitlab_project_push_rules.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectPushRules`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// Gitlab project push rules can be imported with a key composed of ``, e.g. +// Gitlab project push rules can be imported with a key composed of ``, for example: // // ```sh // $ pulumi import gitlab:index/projectPushRules:ProjectPushRules sample "42" diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectRunnerEnablement.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectRunnerEnablement.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectRunnerEnablement.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectRunnerEnablement.go index f3a1dae94..3a03acff1 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectRunnerEnablement.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectRunnerEnablement.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) // The `ProjectRunnerEnablement` resource allows to enable a runner in a project. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/runners/#enable-a-runner-in-project) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/runners/#assign-a-runner-to-project) // // ## Example Usage // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -45,21 +45,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_runner_enablement`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectRunnerEnablement`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_project_runner_enablement.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab project runners can be imported using an id made up of `project:runner_id`, e.g. +// GitLab project runners can be imported using an id made up of `project:runner_id`, for example: // // ```sh // $ pulumi import gitlab:index/projectRunnerEnablement:ProjectRunnerEnablement foo 5:7 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectSecureFile.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectSecureFile.go new file mode 100644 index 000000000..dc2ec5f94 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectSecureFile.go @@ -0,0 +1,394 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectSecureFile` resource allows users to manage the lifecycle of a secure file in gitlab. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/secure_files/) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi-std/sdk/go/std" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// this, err := gitlab.NewGroup(ctx, "this", &gitlab.GroupArgs{ +// Name: pulumi.String("example"), +// Path: pulumi.String("example"), +// Description: pulumi.String("An example group"), +// }) +// if err != nil { +// return err +// } +// thisProject, err := gitlab.NewProject(ctx, "this", &gitlab.ProjectArgs{ +// Name: pulumi.String("example"), +// NamespaceId: this.ID(), +// InitializeWithReadme: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// invokeFile, err := std.File(ctx, &std.FileArgs{ +// Input: "example.txt", +// }, nil) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectSecureFile(ctx, "this", &gitlab.ProjectSecureFileArgs{ +// Name: pulumi.String("my-secure-file"), +// Project: thisProject.ID(), +// Content: pulumi.String(invokeFile.Result), +// }) +// if err != nil { +// return err +// } +// invokeFile1, err := std.File(ctx, &std.FileArgs{ +// Input: "example.txt", +// }, nil) +// if err != nil { +// return err +// } +// _, err = gitlab.NewProjectSecureFile(ctx, "disable_poll_for_metadata", &gitlab.ProjectSecureFileArgs{ +// Name: pulumi.String("my-secure-file"), +// Project: thisProject.ID(), +// Content: pulumi.String(invokeFile1.Result), +// PollForMetadataDurationInSeconds: 0, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectSecureFile`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// GitLab secure files can be imported using an id made up of `projectId:secureFileId`, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectSecureFile:ProjectSecureFile bar 123:321 +// ``` +type ProjectSecureFile struct { + pulumi.CustomResourceState + + // The checksum of the file + Checksum pulumi.StringOutput `pulumi:"checksum"` + // The checksum algorithm used + ChecksumAlgorithm pulumi.StringOutput `pulumi:"checksumAlgorithm"` + // The contents of the secure file + Content pulumi.StringOutput `pulumi:"content"` + // The time the secure file was uploaded + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The time the secure file will expire + ExpiresAt pulumi.StringOutput `pulumi:"expiresAt"` + // The name for the secure file, unique per project + Name pulumi.StringOutput `pulumi:"name"` + // The ID or full path of the project to environment is created for. + Project pulumi.StringOutput `pulumi:"project"` + // The id of the secure file in gitlab + SecureFileId pulumi.IntOutput `pulumi:"secureFileId"` +} + +// NewProjectSecureFile registers a new resource with the given unique name, arguments, and options. +func NewProjectSecureFile(ctx *pulumi.Context, + name string, args *ProjectSecureFileArgs, opts ...pulumi.ResourceOption) (*ProjectSecureFile, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Content == nil { + return nil, errors.New("invalid value for required argument 'Content'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.Content != nil { + args.Content = pulumi.ToSecret(args.Content).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "content", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectSecureFile + err := ctx.RegisterResource("gitlab:index/projectSecureFile:ProjectSecureFile", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectSecureFile gets an existing ProjectSecureFile resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectSecureFile(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectSecureFileState, opts ...pulumi.ResourceOption) (*ProjectSecureFile, error) { + var resource ProjectSecureFile + err := ctx.ReadResource("gitlab:index/projectSecureFile:ProjectSecureFile", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectSecureFile resources. +type projectSecureFileState struct { + // The checksum of the file + Checksum *string `pulumi:"checksum"` + // The checksum algorithm used + ChecksumAlgorithm *string `pulumi:"checksumAlgorithm"` + // The contents of the secure file + Content *string `pulumi:"content"` + // The time the secure file was uploaded + CreatedAt *string `pulumi:"createdAt"` + // The time the secure file will expire + ExpiresAt *string `pulumi:"expiresAt"` + // The name for the secure file, unique per project + Name *string `pulumi:"name"` + // The ID or full path of the project to environment is created for. + Project *string `pulumi:"project"` + // The id of the secure file in gitlab + SecureFileId *int `pulumi:"secureFileId"` +} + +type ProjectSecureFileState struct { + // The checksum of the file + Checksum pulumi.StringPtrInput + // The checksum algorithm used + ChecksumAlgorithm pulumi.StringPtrInput + // The contents of the secure file + Content pulumi.StringPtrInput + // The time the secure file was uploaded + CreatedAt pulumi.StringPtrInput + // The time the secure file will expire + ExpiresAt pulumi.StringPtrInput + // The name for the secure file, unique per project + Name pulumi.StringPtrInput + // The ID or full path of the project to environment is created for. + Project pulumi.StringPtrInput + // The id of the secure file in gitlab + SecureFileId pulumi.IntPtrInput +} + +func (ProjectSecureFileState) ElementType() reflect.Type { + return reflect.TypeOf((*projectSecureFileState)(nil)).Elem() +} + +type projectSecureFileArgs struct { + // The contents of the secure file + Content string `pulumi:"content"` + // The name for the secure file, unique per project + Name *string `pulumi:"name"` + // The ID or full path of the project to environment is created for. + Project string `pulumi:"project"` +} + +// The set of arguments for constructing a ProjectSecureFile resource. +type ProjectSecureFileArgs struct { + // The contents of the secure file + Content pulumi.StringInput + // The name for the secure file, unique per project + Name pulumi.StringPtrInput + // The ID or full path of the project to environment is created for. + Project pulumi.StringInput +} + +func (ProjectSecureFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectSecureFileArgs)(nil)).Elem() +} + +type ProjectSecureFileInput interface { + pulumi.Input + + ToProjectSecureFileOutput() ProjectSecureFileOutput + ToProjectSecureFileOutputWithContext(ctx context.Context) ProjectSecureFileOutput +} + +func (*ProjectSecureFile) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectSecureFile)(nil)).Elem() +} + +func (i *ProjectSecureFile) ToProjectSecureFileOutput() ProjectSecureFileOutput { + return i.ToProjectSecureFileOutputWithContext(context.Background()) +} + +func (i *ProjectSecureFile) ToProjectSecureFileOutputWithContext(ctx context.Context) ProjectSecureFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectSecureFileOutput) +} + +// ProjectSecureFileArrayInput is an input type that accepts ProjectSecureFileArray and ProjectSecureFileArrayOutput values. +// You can construct a concrete instance of `ProjectSecureFileArrayInput` via: +// +// ProjectSecureFileArray{ ProjectSecureFileArgs{...} } +type ProjectSecureFileArrayInput interface { + pulumi.Input + + ToProjectSecureFileArrayOutput() ProjectSecureFileArrayOutput + ToProjectSecureFileArrayOutputWithContext(context.Context) ProjectSecureFileArrayOutput +} + +type ProjectSecureFileArray []ProjectSecureFileInput + +func (ProjectSecureFileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectSecureFile)(nil)).Elem() +} + +func (i ProjectSecureFileArray) ToProjectSecureFileArrayOutput() ProjectSecureFileArrayOutput { + return i.ToProjectSecureFileArrayOutputWithContext(context.Background()) +} + +func (i ProjectSecureFileArray) ToProjectSecureFileArrayOutputWithContext(ctx context.Context) ProjectSecureFileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectSecureFileArrayOutput) +} + +// ProjectSecureFileMapInput is an input type that accepts ProjectSecureFileMap and ProjectSecureFileMapOutput values. +// You can construct a concrete instance of `ProjectSecureFileMapInput` via: +// +// ProjectSecureFileMap{ "key": ProjectSecureFileArgs{...} } +type ProjectSecureFileMapInput interface { + pulumi.Input + + ToProjectSecureFileMapOutput() ProjectSecureFileMapOutput + ToProjectSecureFileMapOutputWithContext(context.Context) ProjectSecureFileMapOutput +} + +type ProjectSecureFileMap map[string]ProjectSecureFileInput + +func (ProjectSecureFileMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectSecureFile)(nil)).Elem() +} + +func (i ProjectSecureFileMap) ToProjectSecureFileMapOutput() ProjectSecureFileMapOutput { + return i.ToProjectSecureFileMapOutputWithContext(context.Background()) +} + +func (i ProjectSecureFileMap) ToProjectSecureFileMapOutputWithContext(ctx context.Context) ProjectSecureFileMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectSecureFileMapOutput) +} + +type ProjectSecureFileOutput struct{ *pulumi.OutputState } + +func (ProjectSecureFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectSecureFile)(nil)).Elem() +} + +func (o ProjectSecureFileOutput) ToProjectSecureFileOutput() ProjectSecureFileOutput { + return o +} + +func (o ProjectSecureFileOutput) ToProjectSecureFileOutputWithContext(ctx context.Context) ProjectSecureFileOutput { + return o +} + +// The checksum of the file +func (o ProjectSecureFileOutput) Checksum() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectSecureFile) pulumi.StringOutput { return v.Checksum }).(pulumi.StringOutput) +} + +// The checksum algorithm used +func (o ProjectSecureFileOutput) ChecksumAlgorithm() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectSecureFile) pulumi.StringOutput { return v.ChecksumAlgorithm }).(pulumi.StringOutput) +} + +// The contents of the secure file +func (o ProjectSecureFileOutput) Content() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectSecureFile) pulumi.StringOutput { return v.Content }).(pulumi.StringOutput) +} + +// The time the secure file was uploaded +func (o ProjectSecureFileOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectSecureFile) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The time the secure file will expire +func (o ProjectSecureFileOutput) ExpiresAt() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectSecureFile) pulumi.StringOutput { return v.ExpiresAt }).(pulumi.StringOutput) +} + +// The name for the secure file, unique per project +func (o ProjectSecureFileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectSecureFile) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The ID or full path of the project to environment is created for. +func (o ProjectSecureFileOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectSecureFile) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// The id of the secure file in gitlab +func (o ProjectSecureFileOutput) SecureFileId() pulumi.IntOutput { + return o.ApplyT(func(v *ProjectSecureFile) pulumi.IntOutput { return v.SecureFileId }).(pulumi.IntOutput) +} + +type ProjectSecureFileArrayOutput struct{ *pulumi.OutputState } + +func (ProjectSecureFileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectSecureFile)(nil)).Elem() +} + +func (o ProjectSecureFileArrayOutput) ToProjectSecureFileArrayOutput() ProjectSecureFileArrayOutput { + return o +} + +func (o ProjectSecureFileArrayOutput) ToProjectSecureFileArrayOutputWithContext(ctx context.Context) ProjectSecureFileArrayOutput { + return o +} + +func (o ProjectSecureFileArrayOutput) Index(i pulumi.IntInput) ProjectSecureFileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectSecureFile { + return vs[0].([]*ProjectSecureFile)[vs[1].(int)] + }).(ProjectSecureFileOutput) +} + +type ProjectSecureFileMapOutput struct{ *pulumi.OutputState } + +func (ProjectSecureFileMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectSecureFile)(nil)).Elem() +} + +func (o ProjectSecureFileMapOutput) ToProjectSecureFileMapOutput() ProjectSecureFileMapOutput { + return o +} + +func (o ProjectSecureFileMapOutput) ToProjectSecureFileMapOutputWithContext(ctx context.Context) ProjectSecureFileMapOutput { + return o +} + +func (o ProjectSecureFileMapOutput) MapIndex(k pulumi.StringInput) ProjectSecureFileOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectSecureFile { + return vs[0].(map[string]*ProjectSecureFile)[vs[1].(string)] + }).(ProjectSecureFileOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectSecureFileInput)(nil)).Elem(), &ProjectSecureFile{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectSecureFileArrayInput)(nil)).Elem(), ProjectSecureFileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectSecureFileMapInput)(nil)).Elem(), ProjectSecureFileMap{}) + pulumi.RegisterOutputType(ProjectSecureFileOutput{}) + pulumi.RegisterOutputType(ProjectSecureFileArrayOutput{}) + pulumi.RegisterOutputType(ProjectSecureFileMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectSecurityPolicyAttachment.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectSecurityPolicyAttachment.go similarity index 92% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectSecurityPolicyAttachment.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectSecurityPolicyAttachment.go index 626c28599..e04952d3a 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectSecurityPolicyAttachment.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectSecurityPolicyAttachment.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,10 +8,17 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// The `ProjectSecurityPolicyAttachment` resource allows to attach a security policy project to a project. +// This resource requires being an owner on the project that is having the security policy applied. +// +// > [Policies](https://docs.gitlab.com/user/application_security/policies/) are files stored in a policy project as raw YAML, to allow maximum flexibility with support of all kind of policy and all their options. See the examples for how to create a policy project, add a policy, and link it. Use the `RepositoryFile` resource to create policies instead of a specific policy resource. This ensures all policy options are immediately via Terraform once released. +// +// **Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/api/graphql/reference/index/#mutationsecuritypolicyprojectassign) +// // ## Example Usage // // ```go @@ -19,7 +26,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -97,21 +104,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_security_policy_attachment`. For example: -// -// terraform -// -// import { -// -// to = gitlab_project_security_policy_attachment.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectSecurityPolicyAttachment`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// GitLab project security policy attachments can be imported using an id made up of `project:policy_project_id` where the policy project ID is the project ID of the policy project, e.g. +// GitLab project security policy attachments can be imported using an id made up of `project:policy_project_id` where the policy project ID is the project ID of the policy project, for example: // // ```sh // $ pulumi import gitlab:index/projectSecurityPolicyAttachment:ProjectSecurityPolicyAttachment foo 1:2 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectShareGroup.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectShareGroup.go similarity index 91% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectShareGroup.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectShareGroup.go index 7a6ef54e8..25f0c4321 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectShareGroup.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectShareGroup.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectShareGroup` resource allows to manage the lifecycle of project shared with a group. +// The `ProjectShareGroup` resource manages the lifecycle of project shared with a group. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/projects/#share-project-with-group) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/projects/#share-a-project-with-a-group) // // ## Example Usage // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -46,21 +46,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_share_group`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectShareGroup`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_project_share_group.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab project group shares can be imported using an id made up of `projectid:groupid`, e.g. +// GitLab project group shares can be imported using an id made up of `projectid:groupid`, for example: // // ```sh // $ pulumi import gitlab:index/projectShareGroup:ProjectShareGroup test 12345:1337 @@ -72,6 +62,8 @@ type ProjectShareGroup struct { // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. AccessLevel pulumi.StringPtrOutput `pulumi:"accessLevel"` + // Share expiration date. Format: `YYYY-MM-DD` + ExpiresAt pulumi.StringPtrOutput `pulumi:"expiresAt"` // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess pulumi.StringPtrOutput `pulumi:"groupAccess"` // The id of the group. @@ -120,6 +112,8 @@ type projectShareGroupState struct { // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. AccessLevel *string `pulumi:"accessLevel"` + // Share expiration date. Format: `YYYY-MM-DD` + ExpiresAt *string `pulumi:"expiresAt"` // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess *string `pulumi:"groupAccess"` // The id of the group. @@ -133,6 +127,8 @@ type ProjectShareGroupState struct { // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. AccessLevel pulumi.StringPtrInput + // Share expiration date. Format: `YYYY-MM-DD` + ExpiresAt pulumi.StringPtrInput // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess pulumi.StringPtrInput // The id of the group. @@ -150,6 +146,8 @@ type projectShareGroupArgs struct { // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. AccessLevel *string `pulumi:"accessLevel"` + // Share expiration date. Format: `YYYY-MM-DD` + ExpiresAt *string `pulumi:"expiresAt"` // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess *string `pulumi:"groupAccess"` // The id of the group. @@ -164,6 +162,8 @@ type ProjectShareGroupArgs struct { // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. AccessLevel pulumi.StringPtrInput + // Share expiration date. Format: `YYYY-MM-DD` + ExpiresAt pulumi.StringPtrInput // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess pulumi.StringPtrInput // The id of the group. @@ -266,6 +266,11 @@ func (o ProjectShareGroupOutput) AccessLevel() pulumi.StringPtrOutput { return o.ApplyT(func(v *ProjectShareGroup) pulumi.StringPtrOutput { return v.AccessLevel }).(pulumi.StringPtrOutput) } +// Share expiration date. Format: `YYYY-MM-DD` +func (o ProjectShareGroupOutput) ExpiresAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectShareGroup) pulumi.StringPtrOutput { return v.ExpiresAt }).(pulumi.StringPtrOutput) +} + // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner` func (o ProjectShareGroupOutput) GroupAccess() pulumi.StringPtrOutput { return o.ApplyT(func(v *ProjectShareGroup) pulumi.StringPtrOutput { return v.GroupAccess }).(pulumi.StringPtrOutput) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectTag.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectTag.go similarity index 92% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectTag.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectTag.go index edc51ceda..6cb94e624 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectTag.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectTag.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectTag` resource allows to manage the lifecycle of a tag in a project. +// The `ProjectTag` resource allows users to manage the lifecycle of a tag in a project. // // **Upstream API**: [GitLab API docs](https://docs.gitlab.com/api/tags/) // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -55,34 +55,24 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_tag`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectTag`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_project_tag.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// Gitlab project tags can be imported with a key composed of `:`, e.g. +// Gitlab project tags can be imported with a key composed of `:`, for example: // // ```sh // $ pulumi import gitlab:index/projectTag:ProjectTag example "12345:develop" // ``` // -// NOTE: the `ref` attribute won't be available for imported `gitlab_project_tag` resources. +// NOTE: the `ref` attribute won't be available for imported `ProjectTag` resources. type ProjectTag struct { pulumi.CustomResourceState // The commit associated with the tag. Commits ProjectTagCommitArrayOutput `pulumi:"commits"` // The message of the annotated tag. - Message pulumi.StringPtrOutput `pulumi:"message"` + Message pulumi.StringOutput `pulumi:"message"` // The name of a tag. Name pulumi.StringOutput `pulumi:"name"` // The ID or URL-encoded path of the project owned by the authenticated user. @@ -290,8 +280,8 @@ func (o ProjectTagOutput) Commits() ProjectTagCommitArrayOutput { } // The message of the annotated tag. -func (o ProjectTagOutput) Message() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ProjectTag) pulumi.StringPtrOutput { return v.Message }).(pulumi.StringPtrOutput) +func (o ProjectTagOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectTag) pulumi.StringOutput { return v.Message }).(pulumi.StringOutput) } // The name of a tag. diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectTargetBranchRule.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectTargetBranchRule.go similarity index 86% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectTargetBranchRule.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectTargetBranchRule.go index c1e5c8c8a..86d2906c4 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectTargetBranchRule.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectTargetBranchRule.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,64 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ProjectTargetBranchRule` resource allows to configure default target branch rules when creating a merge request. +// The `ProjectTargetBranchRule` resource manages default target branch rules when creating merge requests. // -// **Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/ee/api/graphql/reference/#mutationprojecttargetbranchrulecreate) +// **Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/api/graphql/reference/#mutationprojecttargetbranchrulecreate) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := gitlab.NewProject(ctx, "example", &gitlab.ProjectArgs{ +// Name: pulumi.String("example project"), +// Description: pulumi.String("Lorem Ipsum"), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// // Basic example +// _, err = gitlab.NewProjectTargetBranchRule(ctx, "rule", &gitlab.ProjectTargetBranchRuleArgs{ +// Project: example.ID(), +// SourceBranchPattern: pulumi.String("develop"), +// TargetBranchName: pulumi.String("release"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectTargetBranchRule`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// A GitLab Project targer branch rule can be imported using a key composed of `:`, for example: +// +// ```sh +// $ pulumi import gitlab:index/projectTargetBranchRule:ProjectTargetBranchRule example "12345:1" +// ``` +// +// Where `project` may be the product ID or path with namespace depending on what you have in your config. type ProjectTargetBranchRule struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectVariable.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectVariable.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectVariable.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectVariable.go index cd2f11310..cefb54bcc 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectVariable.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectVariable.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -47,21 +47,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_variable`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectVariable`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_project_variable.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// GitLab project variables can be imported using an id made up of `project:key:environment_scope`, e.g. +// GitLab project variables can be imported using an id made up of `project:key:environment_scope`, for example: // // ```sh // $ pulumi import gitlab:index/projectVariable:ProjectVariable example '12345:project_variable_key:*' @@ -77,7 +67,7 @@ type ProjectVariable struct { Hidden pulumi.BoolOutput `pulumi:"hidden"` // The name of the variable. Key pulumi.StringOutput `pulumi:"key"` - // If set to `true`, the value of the variable will be masked in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#mask-a-cicd-variable). + // If set to `true`, the value of the variable will be masked in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Masked pulumi.BoolOutput `pulumi:"masked"` // The name or id of the project. Project pulumi.StringOutput `pulumi:"project"` @@ -138,7 +128,7 @@ type projectVariableState struct { Hidden *bool `pulumi:"hidden"` // The name of the variable. Key *string `pulumi:"key"` - // If set to `true`, the value of the variable will be masked in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#mask-a-cicd-variable). + // If set to `true`, the value of the variable will be masked in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Masked *bool `pulumi:"masked"` // The name or id of the project. Project *string `pulumi:"project"` @@ -161,7 +151,7 @@ type ProjectVariableState struct { Hidden pulumi.BoolPtrInput // The name of the variable. Key pulumi.StringPtrInput - // If set to `true`, the value of the variable will be masked in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#mask-a-cicd-variable). + // If set to `true`, the value of the variable will be masked in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Masked pulumi.BoolPtrInput // The name or id of the project. Project pulumi.StringPtrInput @@ -188,7 +178,7 @@ type projectVariableArgs struct { Hidden *bool `pulumi:"hidden"` // The name of the variable. Key string `pulumi:"key"` - // If set to `true`, the value of the variable will be masked in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#mask-a-cicd-variable). + // If set to `true`, the value of the variable will be masked in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Masked *bool `pulumi:"masked"` // The name or id of the project. Project string `pulumi:"project"` @@ -212,7 +202,7 @@ type ProjectVariableArgs struct { Hidden pulumi.BoolPtrInput // The name of the variable. Key pulumi.StringInput - // If set to `true`, the value of the variable will be masked in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#mask-a-cicd-variable). + // If set to `true`, the value of the variable will be masked in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Masked pulumi.BoolPtrInput // The name or id of the project. Project pulumi.StringInput @@ -333,7 +323,7 @@ func (o ProjectVariableOutput) Key() pulumi.StringOutput { return o.ApplyT(func(v *ProjectVariable) pulumi.StringOutput { return v.Key }).(pulumi.StringOutput) } -// If set to `true`, the value of the variable will be masked in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#mask-a-cicd-variable). +// If set to `true`, the value of the variable will be masked in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). func (o ProjectVariableOutput) Masked() pulumi.BoolOutput { return o.ApplyT(func(v *ProjectVariable) pulumi.BoolOutput { return v.Masked }).(pulumi.BoolOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectWikiPage.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectWikiPage.go similarity index 91% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectWikiPage.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectWikiPage.go index 6ef849bd6..ec289aefd 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/projectWikiPage.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/projectWikiPage.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -16,23 +16,42 @@ import ( // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/wikis/) // -// ## Import +// ## Example Usage +// +// ```go +// package main // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_project_wiki_page`. For example: +// import ( // -// terraform +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // -// import { +// ) // -// to = gitlab_project_wiki_page.example +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.NewProjectWikiPage(ctx, "example", &gitlab.ProjectWikiPageArgs{ +// Project: pulumi.String("12345"), +// Slug: "test-wiki-page", +// Title: pulumi.String("Test Wiki Page"), +// Content: pulumi.String("This is a test content for the wiki page.\nAnd this is a second line of content.\n"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } // -// id = "see CLI command below for ID" +// ``` +// +// ## Import // -// } +// Starting in Terraform v1.5.0, you can use an import block to import `ProjectWikiPage`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// You can import gitlab_project_wiki_page state using the project ID, e.g. +// You can import ProjectWikiPage state using the project ID, for example: // // ```sh // $ pulumi import gitlab:index/projectWikiPage:ProjectWikiPage test 12345:my-wiki-page diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/provider.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/provider.go new file mode 100644 index 000000000..7e43ef80a --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/provider.go @@ -0,0 +1,214 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The provider type for the gitlab package. By default, resources use package-wide configuration +// settings, however an explicit `Provider` instance may be created and passed during resource +// construction to achieve fine-grained programmatic control over provider settings. See the +// [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information. +type Provider struct { + pulumi.ProviderResourceState + + // This is the target GitLab base API endpoint. Providing a value is a requirement when working with GitLab CE or GitLab Enterprise e.g. `https://my.gitlab.server/api/v4/`. It is optional to provide this value and it can also be sourced from the `GITLAB_BASE_URL` environment variable. The value must end with a slash. + BaseUrl pulumi.StringPtrOutput `pulumi:"baseUrl"` + // This is a file containing the ca cert to verify the gitlab instance. This is available for use when working with GitLab CE or Gitlab Enterprise with a locally-issued or self-signed certificate chain. + CacertFile pulumi.StringPtrOutput `pulumi:"cacertFile"` + // File path to client certificate when GitLab instance is behind company proxy. File must contain PEM encoded data. + ClientCert pulumi.StringPtrOutput `pulumi:"clientCert"` + // File path to client key when GitLab instance is behind company proxy. File must contain PEM encoded data. Required when `clientCert` is set. + ClientKey pulumi.StringPtrOutput `pulumi:"clientKey"` + // The path to the configuration file to use. It may be sourced from the `GITLAB_CONFIG_FILE` environment variable. + ConfigFile pulumi.StringPtrOutput `pulumi:"configFile"` + // The context to use for authentication and configuration. The context must exist in the configuration file. It may be sourced from the `GITLAB_CONTEXT` environment variable. + Context pulumi.StringPtrOutput `pulumi:"context"` + // The OAuth2 Token, Project, Group, Personal Access Token or CI Job Token used to connect to GitLab. The OAuth method is used in this provider for authentication (using Bearer authorization token). See https://docs.gitlab.com/api/#authentication for details. It may be sourced from the `GITLAB_TOKEN` environment variable. + Token pulumi.StringPtrOutput `pulumi:"token"` +} + +// NewProvider registers a new resource with the given unique name, arguments, and options. +func NewProvider(ctx *pulumi.Context, + name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error) { + if args == nil { + args = &ProviderArgs{} + } + + if args.Token != nil { + args.Token = pulumi.ToSecret(args.Token).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "token", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Provider + err := ctx.RegisterResource("pulumi:providers:gitlab", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +type providerArgs struct { + // This is the target GitLab base API endpoint. Providing a value is a requirement when working with GitLab CE or GitLab Enterprise e.g. `https://my.gitlab.server/api/v4/`. It is optional to provide this value and it can also be sourced from the `GITLAB_BASE_URL` environment variable. The value must end with a slash. + BaseUrl *string `pulumi:"baseUrl"` + // This is a file containing the ca cert to verify the gitlab instance. This is available for use when working with GitLab CE or Gitlab Enterprise with a locally-issued or self-signed certificate chain. + CacertFile *string `pulumi:"cacertFile"` + // File path to client certificate when GitLab instance is behind company proxy. File must contain PEM encoded data. + ClientCert *string `pulumi:"clientCert"` + // File path to client key when GitLab instance is behind company proxy. File must contain PEM encoded data. Required when `clientCert` is set. + ClientKey *string `pulumi:"clientKey"` + // The path to the configuration file to use. It may be sourced from the `GITLAB_CONFIG_FILE` environment variable. + ConfigFile *string `pulumi:"configFile"` + // The context to use for authentication and configuration. The context must exist in the configuration file. It may be sourced from the `GITLAB_CONTEXT` environment variable. + Context *string `pulumi:"context"` + // (Experimental) By default the provider does a dummy request to get the current user in order to verify that the provider configuration is correct and the GitLab API is reachable. Set this to `false` to skip this check. This may be useful if the GitLab instance does not yet exist and is created within the same terraform module. It may be sourced from the `GITLAB_EARLY_AUTH_CHECK`. This is an experimental feature and may change in the future. Please make sure to always keep backups of your state. + EarlyAuthCheck *bool `pulumi:"earlyAuthCheck"` + // If automatic CI support should be enabled or not. This only works when not providing a token. + EnableAutoCiSupport *bool `pulumi:"enableAutoCiSupport"` + // A map of headers to append to all API request to the GitLab instance. + Headers map[string]string `pulumi:"headers"` + // When set to true this disables SSL verification of the connection to the GitLab instance. + Insecure *bool `pulumi:"insecure"` + // The number of retries to execute when receiving a 429 Rate Limit error. Each retry will exponentially back off. + Retries *int `pulumi:"retries"` + // The OAuth2 Token, Project, Group, Personal Access Token or CI Job Token used to connect to GitLab. The OAuth method is used in this provider for authentication (using Bearer authorization token). See https://docs.gitlab.com/api/#authentication for details. It may be sourced from the `GITLAB_TOKEN` environment variable. + Token *string `pulumi:"token"` +} + +// The set of arguments for constructing a Provider resource. +type ProviderArgs struct { + // This is the target GitLab base API endpoint. Providing a value is a requirement when working with GitLab CE or GitLab Enterprise e.g. `https://my.gitlab.server/api/v4/`. It is optional to provide this value and it can also be sourced from the `GITLAB_BASE_URL` environment variable. The value must end with a slash. + BaseUrl pulumi.StringPtrInput + // This is a file containing the ca cert to verify the gitlab instance. This is available for use when working with GitLab CE or Gitlab Enterprise with a locally-issued or self-signed certificate chain. + CacertFile pulumi.StringPtrInput + // File path to client certificate when GitLab instance is behind company proxy. File must contain PEM encoded data. + ClientCert pulumi.StringPtrInput + // File path to client key when GitLab instance is behind company proxy. File must contain PEM encoded data. Required when `clientCert` is set. + ClientKey pulumi.StringPtrInput + // The path to the configuration file to use. It may be sourced from the `GITLAB_CONFIG_FILE` environment variable. + ConfigFile pulumi.StringPtrInput + // The context to use for authentication and configuration. The context must exist in the configuration file. It may be sourced from the `GITLAB_CONTEXT` environment variable. + Context pulumi.StringPtrInput + // (Experimental) By default the provider does a dummy request to get the current user in order to verify that the provider configuration is correct and the GitLab API is reachable. Set this to `false` to skip this check. This may be useful if the GitLab instance does not yet exist and is created within the same terraform module. It may be sourced from the `GITLAB_EARLY_AUTH_CHECK`. This is an experimental feature and may change in the future. Please make sure to always keep backups of your state. + EarlyAuthCheck pulumi.BoolPtrInput + // If automatic CI support should be enabled or not. This only works when not providing a token. + EnableAutoCiSupport pulumi.BoolPtrInput + // A map of headers to append to all API request to the GitLab instance. + Headers pulumi.StringMapInput + // When set to true this disables SSL verification of the connection to the GitLab instance. + Insecure pulumi.BoolPtrInput + // The number of retries to execute when receiving a 429 Rate Limit error. Each retry will exponentially back off. + Retries pulumi.IntPtrInput + // The OAuth2 Token, Project, Group, Personal Access Token or CI Job Token used to connect to GitLab. The OAuth method is used in this provider for authentication (using Bearer authorization token). See https://docs.gitlab.com/api/#authentication for details. It may be sourced from the `GITLAB_TOKEN` environment variable. + Token pulumi.StringPtrInput +} + +func (ProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*providerArgs)(nil)).Elem() +} + +// This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider. +func (r *Provider) TerraformConfig(ctx *pulumi.Context) (ProviderTerraformConfigResultOutput, error) { + out, err := ctx.Call("pulumi:providers:gitlab/terraformConfig", nil, ProviderTerraformConfigResultOutput{}, r) + if err != nil { + return ProviderTerraformConfigResultOutput{}, err + } + return out.(ProviderTerraformConfigResultOutput), nil +} + +type ProviderTerraformConfigResult struct { + Result map[string]interface{} `pulumi:"result"` +} + +type ProviderTerraformConfigResultOutput struct{ *pulumi.OutputState } + +func (ProviderTerraformConfigResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ProviderTerraformConfigResult)(nil)).Elem() +} + +func (o ProviderTerraformConfigResultOutput) Result() pulumi.MapOutput { + return o.ApplyT(func(v ProviderTerraformConfigResult) map[string]interface{} { return v.Result }).(pulumi.MapOutput) +} + +type ProviderInput interface { + pulumi.Input + + ToProviderOutput() ProviderOutput + ToProviderOutputWithContext(ctx context.Context) ProviderOutput +} + +func (*Provider) ElementType() reflect.Type { + return reflect.TypeOf((**Provider)(nil)).Elem() +} + +func (i *Provider) ToProviderOutput() ProviderOutput { + return i.ToProviderOutputWithContext(context.Background()) +} + +func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProviderOutput) +} + +type ProviderOutput struct{ *pulumi.OutputState } + +func (ProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Provider)(nil)).Elem() +} + +func (o ProviderOutput) ToProviderOutput() ProviderOutput { + return o +} + +func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput { + return o +} + +// This is the target GitLab base API endpoint. Providing a value is a requirement when working with GitLab CE or GitLab Enterprise e.g. `https://my.gitlab.server/api/v4/`. It is optional to provide this value and it can also be sourced from the `GITLAB_BASE_URL` environment variable. The value must end with a slash. +func (o ProviderOutput) BaseUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.BaseUrl }).(pulumi.StringPtrOutput) +} + +// This is a file containing the ca cert to verify the gitlab instance. This is available for use when working with GitLab CE or Gitlab Enterprise with a locally-issued or self-signed certificate chain. +func (o ProviderOutput) CacertFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.CacertFile }).(pulumi.StringPtrOutput) +} + +// File path to client certificate when GitLab instance is behind company proxy. File must contain PEM encoded data. +func (o ProviderOutput) ClientCert() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ClientCert }).(pulumi.StringPtrOutput) +} + +// File path to client key when GitLab instance is behind company proxy. File must contain PEM encoded data. Required when `clientCert` is set. +func (o ProviderOutput) ClientKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ClientKey }).(pulumi.StringPtrOutput) +} + +// The path to the configuration file to use. It may be sourced from the `GITLAB_CONFIG_FILE` environment variable. +func (o ProviderOutput) ConfigFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ConfigFile }).(pulumi.StringPtrOutput) +} + +// The context to use for authentication and configuration. The context must exist in the configuration file. It may be sourced from the `GITLAB_CONTEXT` environment variable. +func (o ProviderOutput) Context() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Context }).(pulumi.StringPtrOutput) +} + +// The OAuth2 Token, Project, Group, Personal Access Token or CI Job Token used to connect to GitLab. The OAuth method is used in this provider for authentication (using Bearer authorization token). See https://docs.gitlab.com/api/#authentication for details. It may be sourced from the `GITLAB_TOKEN` environment variable. +func (o ProviderOutput) Token() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Token }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProviderInput)(nil)).Elem(), &Provider{}) + pulumi.RegisterOutputType(ProviderOutput{}) + pulumi.RegisterOutputType(ProviderTerraformConfigResultOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pulumi-plugin.json b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pulumi-plugin.json similarity index 66% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pulumi-plugin.json rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pulumi-plugin.json index aebb4b435..0b627b343 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pulumi-plugin.json +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "gitlab", - "version": "8.11.0" + "version": "9.11.0" } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pulumiTypes.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pulumiTypes.go similarity index 77% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pulumiTypes.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pulumiTypes.go index 1545b187e..d47c6b03c 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/pulumiTypes.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/pulumiTypes.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,6 +20,8 @@ type ApplicationSettingsDefaultBranchProtectionDefaults struct { AllowedToMerges []int `pulumi:"allowedToMerges"` // An array of access levels allowed to push. Supports Developer (30) or Maintainer (40). AllowedToPushes []int `pulumi:"allowedToPushes"` + // Require code owner approval before merging. + CodeOwnerApprovalRequired *bool `pulumi:"codeOwnerApprovalRequired"` // Allow developers to initial push. DeveloperCanInitialPush *bool `pulumi:"developerCanInitialPush"` } @@ -42,6 +44,8 @@ type ApplicationSettingsDefaultBranchProtectionDefaultsArgs struct { AllowedToMerges pulumi.IntArrayInput `pulumi:"allowedToMerges"` // An array of access levels allowed to push. Supports Developer (30) or Maintainer (40). AllowedToPushes pulumi.IntArrayInput `pulumi:"allowedToPushes"` + // Require code owner approval before merging. + CodeOwnerApprovalRequired pulumi.BoolPtrInput `pulumi:"codeOwnerApprovalRequired"` // Allow developers to initial push. DeveloperCanInitialPush pulumi.BoolPtrInput `pulumi:"developerCanInitialPush"` } @@ -138,6 +142,11 @@ func (o ApplicationSettingsDefaultBranchProtectionDefaultsOutput) AllowedToPushe return o.ApplyT(func(v ApplicationSettingsDefaultBranchProtectionDefaults) []int { return v.AllowedToPushes }).(pulumi.IntArrayOutput) } +// Require code owner approval before merging. +func (o ApplicationSettingsDefaultBranchProtectionDefaultsOutput) CodeOwnerApprovalRequired() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ApplicationSettingsDefaultBranchProtectionDefaults) *bool { return v.CodeOwnerApprovalRequired }).(pulumi.BoolPtrOutput) +} + // Allow developers to initial push. func (o ApplicationSettingsDefaultBranchProtectionDefaultsOutput) DeveloperCanInitialPush() pulumi.BoolPtrOutput { return o.ApplyT(func(v ApplicationSettingsDefaultBranchProtectionDefaults) *bool { return v.DeveloperCanInitialPush }).(pulumi.BoolPtrOutput) @@ -197,6 +206,16 @@ func (o ApplicationSettingsDefaultBranchProtectionDefaultsPtrOutput) AllowedToPu }).(pulumi.IntArrayOutput) } +// Require code owner approval before merging. +func (o ApplicationSettingsDefaultBranchProtectionDefaultsPtrOutput) CodeOwnerApprovalRequired() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ApplicationSettingsDefaultBranchProtectionDefaults) *bool { + if v == nil { + return nil + } + return v.CodeOwnerApprovalRequired + }).(pulumi.BoolPtrOutput) +} + // Allow developers to initial push. func (o ApplicationSettingsDefaultBranchProtectionDefaultsPtrOutput) DeveloperCanInitialPush() pulumi.BoolPtrOutput { return o.ApplyT(func(v *ApplicationSettingsDefaultBranchProtectionDefaults) *bool { @@ -395,7 +414,7 @@ func (o BranchCommitArrayOutput) Index(i pulumi.IntInput) BranchCommitOutput { } type BranchProtectionAllowedToMerge struct { - // Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. AccessLevel *string `pulumi:"accessLevel"` // Readable description of access level. AccessLevelDescription *string `pulumi:"accessLevelDescription"` @@ -417,7 +436,7 @@ type BranchProtectionAllowedToMergeInput interface { } type BranchProtectionAllowedToMergeArgs struct { - // Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"` // Readable description of access level. AccessLevelDescription pulumi.StringPtrInput `pulumi:"accessLevelDescription"` @@ -478,7 +497,7 @@ func (o BranchProtectionAllowedToMergeOutput) ToBranchProtectionAllowedToMergeOu return o } -// Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. +// Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. func (o BranchProtectionAllowedToMergeOutput) AccessLevel() pulumi.StringPtrOutput { return o.ApplyT(func(v BranchProtectionAllowedToMerge) *string { return v.AccessLevel }).(pulumi.StringPtrOutput) } @@ -519,7 +538,7 @@ func (o BranchProtectionAllowedToMergeArrayOutput) Index(i pulumi.IntInput) Bran } type BranchProtectionAllowedToPush struct { - // Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. AccessLevel *string `pulumi:"accessLevel"` // Readable description of access level. AccessLevelDescription *string `pulumi:"accessLevelDescription"` @@ -543,7 +562,7 @@ type BranchProtectionAllowedToPushInput interface { } type BranchProtectionAllowedToPushArgs struct { - // Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"` // Readable description of access level. AccessLevelDescription pulumi.StringPtrInput `pulumi:"accessLevelDescription"` @@ -606,7 +625,7 @@ func (o BranchProtectionAllowedToPushOutput) ToBranchProtectionAllowedToPushOutp return o } -// Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`. +// Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. func (o BranchProtectionAllowedToPushOutput) AccessLevel() pulumi.StringPtrOutput { return o.ApplyT(func(v BranchProtectionAllowedToPush) *string { return v.AccessLevel }).(pulumi.StringPtrOutput) } @@ -938,6 +957,8 @@ type GroupDefaultBranchProtectionDefaults struct { AllowedToMerges []string `pulumi:"allowedToMerges"` // An array of access levels allowed to push. Valid values are: `developer`, `maintainer`, `no one`. AllowedToPushes []string `pulumi:"allowedToPushes"` + // Require code owner approval before merging. + CodeOwnerApprovalRequired *bool `pulumi:"codeOwnerApprovalRequired"` // Allow developers to initial push. DeveloperCanInitialPush *bool `pulumi:"developerCanInitialPush"` } @@ -960,6 +981,8 @@ type GroupDefaultBranchProtectionDefaultsArgs struct { AllowedToMerges pulumi.StringArrayInput `pulumi:"allowedToMerges"` // An array of access levels allowed to push. Valid values are: `developer`, `maintainer`, `no one`. AllowedToPushes pulumi.StringArrayInput `pulumi:"allowedToPushes"` + // Require code owner approval before merging. + CodeOwnerApprovalRequired pulumi.BoolPtrInput `pulumi:"codeOwnerApprovalRequired"` // Allow developers to initial push. DeveloperCanInitialPush pulumi.BoolPtrInput `pulumi:"developerCanInitialPush"` } @@ -1056,6 +1079,11 @@ func (o GroupDefaultBranchProtectionDefaultsOutput) AllowedToPushes() pulumi.Str return o.ApplyT(func(v GroupDefaultBranchProtectionDefaults) []string { return v.AllowedToPushes }).(pulumi.StringArrayOutput) } +// Require code owner approval before merging. +func (o GroupDefaultBranchProtectionDefaultsOutput) CodeOwnerApprovalRequired() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GroupDefaultBranchProtectionDefaults) *bool { return v.CodeOwnerApprovalRequired }).(pulumi.BoolPtrOutput) +} + // Allow developers to initial push. func (o GroupDefaultBranchProtectionDefaultsOutput) DeveloperCanInitialPush() pulumi.BoolPtrOutput { return o.ApplyT(func(v GroupDefaultBranchProtectionDefaults) *bool { return v.DeveloperCanInitialPush }).(pulumi.BoolPtrOutput) @@ -1115,6 +1143,16 @@ func (o GroupDefaultBranchProtectionDefaultsPtrOutput) AllowedToPushes() pulumi. }).(pulumi.StringArrayOutput) } +// Require code owner approval before merging. +func (o GroupDefaultBranchProtectionDefaultsPtrOutput) CodeOwnerApprovalRequired() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GroupDefaultBranchProtectionDefaults) *bool { + if v == nil { + return nil + } + return v.CodeOwnerApprovalRequired + }).(pulumi.BoolPtrOutput) +} + // Allow developers to initial push. func (o GroupDefaultBranchProtectionDefaultsPtrOutput) DeveloperCanInitialPush() pulumi.BoolPtrOutput { return o.ApplyT(func(v *GroupDefaultBranchProtectionDefaults) *bool { @@ -2275,6 +2313,143 @@ func (o GroupServiceAccountAccessTokenRotationConfigurationPtrOutput) RotateBefo }).(pulumi.IntPtrOutput) } +type GroupServiceAccountTimeouts struct { + // How long to wait for the service account to be fully deleted. Defaults to 10 minutes. + Delete *string `pulumi:"delete"` +} + +// GroupServiceAccountTimeoutsInput is an input type that accepts GroupServiceAccountTimeoutsArgs and GroupServiceAccountTimeoutsOutput values. +// You can construct a concrete instance of `GroupServiceAccountTimeoutsInput` via: +// +// GroupServiceAccountTimeoutsArgs{...} +type GroupServiceAccountTimeoutsInput interface { + pulumi.Input + + ToGroupServiceAccountTimeoutsOutput() GroupServiceAccountTimeoutsOutput + ToGroupServiceAccountTimeoutsOutputWithContext(context.Context) GroupServiceAccountTimeoutsOutput +} + +type GroupServiceAccountTimeoutsArgs struct { + // How long to wait for the service account to be fully deleted. Defaults to 10 minutes. + Delete pulumi.StringPtrInput `pulumi:"delete"` +} + +func (GroupServiceAccountTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GroupServiceAccountTimeouts)(nil)).Elem() +} + +func (i GroupServiceAccountTimeoutsArgs) ToGroupServiceAccountTimeoutsOutput() GroupServiceAccountTimeoutsOutput { + return i.ToGroupServiceAccountTimeoutsOutputWithContext(context.Background()) +} + +func (i GroupServiceAccountTimeoutsArgs) ToGroupServiceAccountTimeoutsOutputWithContext(ctx context.Context) GroupServiceAccountTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupServiceAccountTimeoutsOutput) +} + +func (i GroupServiceAccountTimeoutsArgs) ToGroupServiceAccountTimeoutsPtrOutput() GroupServiceAccountTimeoutsPtrOutput { + return i.ToGroupServiceAccountTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i GroupServiceAccountTimeoutsArgs) ToGroupServiceAccountTimeoutsPtrOutputWithContext(ctx context.Context) GroupServiceAccountTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupServiceAccountTimeoutsOutput).ToGroupServiceAccountTimeoutsPtrOutputWithContext(ctx) +} + +// GroupServiceAccountTimeoutsPtrInput is an input type that accepts GroupServiceAccountTimeoutsArgs, GroupServiceAccountTimeoutsPtr and GroupServiceAccountTimeoutsPtrOutput values. +// You can construct a concrete instance of `GroupServiceAccountTimeoutsPtrInput` via: +// +// GroupServiceAccountTimeoutsArgs{...} +// +// or: +// +// nil +type GroupServiceAccountTimeoutsPtrInput interface { + pulumi.Input + + ToGroupServiceAccountTimeoutsPtrOutput() GroupServiceAccountTimeoutsPtrOutput + ToGroupServiceAccountTimeoutsPtrOutputWithContext(context.Context) GroupServiceAccountTimeoutsPtrOutput +} + +type groupServiceAccountTimeoutsPtrType GroupServiceAccountTimeoutsArgs + +func GroupServiceAccountTimeoutsPtr(v *GroupServiceAccountTimeoutsArgs) GroupServiceAccountTimeoutsPtrInput { + return (*groupServiceAccountTimeoutsPtrType)(v) +} + +func (*groupServiceAccountTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GroupServiceAccountTimeouts)(nil)).Elem() +} + +func (i *groupServiceAccountTimeoutsPtrType) ToGroupServiceAccountTimeoutsPtrOutput() GroupServiceAccountTimeoutsPtrOutput { + return i.ToGroupServiceAccountTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *groupServiceAccountTimeoutsPtrType) ToGroupServiceAccountTimeoutsPtrOutputWithContext(ctx context.Context) GroupServiceAccountTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupServiceAccountTimeoutsPtrOutput) +} + +type GroupServiceAccountTimeoutsOutput struct{ *pulumi.OutputState } + +func (GroupServiceAccountTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GroupServiceAccountTimeouts)(nil)).Elem() +} + +func (o GroupServiceAccountTimeoutsOutput) ToGroupServiceAccountTimeoutsOutput() GroupServiceAccountTimeoutsOutput { + return o +} + +func (o GroupServiceAccountTimeoutsOutput) ToGroupServiceAccountTimeoutsOutputWithContext(ctx context.Context) GroupServiceAccountTimeoutsOutput { + return o +} + +func (o GroupServiceAccountTimeoutsOutput) ToGroupServiceAccountTimeoutsPtrOutput() GroupServiceAccountTimeoutsPtrOutput { + return o.ToGroupServiceAccountTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o GroupServiceAccountTimeoutsOutput) ToGroupServiceAccountTimeoutsPtrOutputWithContext(ctx context.Context) GroupServiceAccountTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GroupServiceAccountTimeouts) *GroupServiceAccountTimeouts { + return &v + }).(GroupServiceAccountTimeoutsPtrOutput) +} + +// How long to wait for the service account to be fully deleted. Defaults to 10 minutes. +func (o GroupServiceAccountTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v GroupServiceAccountTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +} + +type GroupServiceAccountTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (GroupServiceAccountTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GroupServiceAccountTimeouts)(nil)).Elem() +} + +func (o GroupServiceAccountTimeoutsPtrOutput) ToGroupServiceAccountTimeoutsPtrOutput() GroupServiceAccountTimeoutsPtrOutput { + return o +} + +func (o GroupServiceAccountTimeoutsPtrOutput) ToGroupServiceAccountTimeoutsPtrOutputWithContext(ctx context.Context) GroupServiceAccountTimeoutsPtrOutput { + return o +} + +func (o GroupServiceAccountTimeoutsPtrOutput) Elem() GroupServiceAccountTimeoutsOutput { + return o.ApplyT(func(v *GroupServiceAccountTimeouts) GroupServiceAccountTimeouts { + if v != nil { + return *v + } + var ret GroupServiceAccountTimeouts + return ret + }).(GroupServiceAccountTimeoutsOutput) +} + +// How long to wait for the service account to be fully deleted. Defaults to 10 minutes. +func (o GroupServiceAccountTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GroupServiceAccountTimeouts) *string { + if v == nil { + return nil + } + return v.Delete + }).(pulumi.StringPtrOutput) +} + type InstanceServiceAccountTimeouts struct { // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. Delete *string `pulumi:"delete"` @@ -2568,6 +2743,112 @@ func (o PersonalAccessTokenRotationConfigurationPtrOutput) RotateBeforeDays() pu }).(pulumi.IntPtrOutput) } +type PipelineScheduleInputType struct { + // The name of the input. + Name string `pulumi:"name"` + // The value of the input. + Value string `pulumi:"value"` +} + +// PipelineScheduleInputTypeInput is an input type that accepts PipelineScheduleInputTypeArgs and PipelineScheduleInputTypeOutput values. +// You can construct a concrete instance of `PipelineScheduleInputTypeInput` via: +// +// PipelineScheduleInputTypeArgs{...} +type PipelineScheduleInputTypeInput interface { + pulumi.Input + + ToPipelineScheduleInputTypeOutput() PipelineScheduleInputTypeOutput + ToPipelineScheduleInputTypeOutputWithContext(context.Context) PipelineScheduleInputTypeOutput +} + +type PipelineScheduleInputTypeArgs struct { + // The name of the input. + Name pulumi.StringInput `pulumi:"name"` + // The value of the input. + Value pulumi.StringInput `pulumi:"value"` +} + +func (PipelineScheduleInputTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PipelineScheduleInputType)(nil)).Elem() +} + +func (i PipelineScheduleInputTypeArgs) ToPipelineScheduleInputTypeOutput() PipelineScheduleInputTypeOutput { + return i.ToPipelineScheduleInputTypeOutputWithContext(context.Background()) +} + +func (i PipelineScheduleInputTypeArgs) ToPipelineScheduleInputTypeOutputWithContext(ctx context.Context) PipelineScheduleInputTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineScheduleInputTypeOutput) +} + +// PipelineScheduleInputTypeArrayInput is an input type that accepts PipelineScheduleInputTypeArray and PipelineScheduleInputTypeArrayOutput values. +// You can construct a concrete instance of `PipelineScheduleInputTypeArrayInput` via: +// +// PipelineScheduleInputTypeArray{ PipelineScheduleInputTypeArgs{...} } +type PipelineScheduleInputTypeArrayInput interface { + pulumi.Input + + ToPipelineScheduleInputTypeArrayOutput() PipelineScheduleInputTypeArrayOutput + ToPipelineScheduleInputTypeArrayOutputWithContext(context.Context) PipelineScheduleInputTypeArrayOutput +} + +type PipelineScheduleInputTypeArray []PipelineScheduleInputTypeInput + +func (PipelineScheduleInputTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PipelineScheduleInputType)(nil)).Elem() +} + +func (i PipelineScheduleInputTypeArray) ToPipelineScheduleInputTypeArrayOutput() PipelineScheduleInputTypeArrayOutput { + return i.ToPipelineScheduleInputTypeArrayOutputWithContext(context.Background()) +} + +func (i PipelineScheduleInputTypeArray) ToPipelineScheduleInputTypeArrayOutputWithContext(ctx context.Context) PipelineScheduleInputTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineScheduleInputTypeArrayOutput) +} + +type PipelineScheduleInputTypeOutput struct{ *pulumi.OutputState } + +func (PipelineScheduleInputTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PipelineScheduleInputType)(nil)).Elem() +} + +func (o PipelineScheduleInputTypeOutput) ToPipelineScheduleInputTypeOutput() PipelineScheduleInputTypeOutput { + return o +} + +func (o PipelineScheduleInputTypeOutput) ToPipelineScheduleInputTypeOutputWithContext(ctx context.Context) PipelineScheduleInputTypeOutput { + return o +} + +// The name of the input. +func (o PipelineScheduleInputTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v PipelineScheduleInputType) string { return v.Name }).(pulumi.StringOutput) +} + +// The value of the input. +func (o PipelineScheduleInputTypeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v PipelineScheduleInputType) string { return v.Value }).(pulumi.StringOutput) +} + +type PipelineScheduleInputTypeArrayOutput struct{ *pulumi.OutputState } + +func (PipelineScheduleInputTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PipelineScheduleInputType)(nil)).Elem() +} + +func (o PipelineScheduleInputTypeArrayOutput) ToPipelineScheduleInputTypeArrayOutput() PipelineScheduleInputTypeArrayOutput { + return o +} + +func (o PipelineScheduleInputTypeArrayOutput) ToPipelineScheduleInputTypeArrayOutputWithContext(ctx context.Context) PipelineScheduleInputTypeArrayOutput { + return o +} + +func (o PipelineScheduleInputTypeArrayOutput) Index(i pulumi.IntInput) PipelineScheduleInputTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PipelineScheduleInputType { + return vs[0].([]PipelineScheduleInputType)[vs[1].(int)] + }).(PipelineScheduleInputTypeOutput) +} + type ProjectAccessTokenRotationConfiguration struct { // The duration (in days) the new token should be valid for. ExpirationDays int `pulumi:"expirationDays"` @@ -2732,10 +3013,6 @@ type ProjectContainerExpirationPolicy struct { // The number of images to keep. KeepN *int `pulumi:"keepN"` // The regular expression to match image names to delete. - // - // Deprecated: `nameRegex` has been deprecated. Use `nameRegexDelete` instead. - NameRegex *string `pulumi:"nameRegex"` - // The regular expression to match image names to delete. NameRegexDelete *string `pulumi:"nameRegexDelete"` // The regular expression to match image names to keep. NameRegexKeep *string `pulumi:"nameRegexKeep"` @@ -2764,10 +3041,6 @@ type ProjectContainerExpirationPolicyArgs struct { // The number of images to keep. KeepN pulumi.IntPtrInput `pulumi:"keepN"` // The regular expression to match image names to delete. - // - // Deprecated: `nameRegex` has been deprecated. Use `nameRegexDelete` instead. - NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"` - // The regular expression to match image names to delete. NameRegexDelete pulumi.StringPtrInput `pulumi:"nameRegexDelete"` // The regular expression to match image names to keep. NameRegexKeep pulumi.StringPtrInput `pulumi:"nameRegexKeep"` @@ -2869,13 +3142,6 @@ func (o ProjectContainerExpirationPolicyOutput) KeepN() pulumi.IntPtrOutput { return o.ApplyT(func(v ProjectContainerExpirationPolicy) *int { return v.KeepN }).(pulumi.IntPtrOutput) } -// The regular expression to match image names to delete. -// -// Deprecated: `nameRegex` has been deprecated. Use `nameRegexDelete` instead. -func (o ProjectContainerExpirationPolicyOutput) NameRegex() pulumi.StringPtrOutput { - return o.ApplyT(func(v ProjectContainerExpirationPolicy) *string { return v.NameRegex }).(pulumi.StringPtrOutput) -} - // The regular expression to match image names to delete. func (o ProjectContainerExpirationPolicyOutput) NameRegexDelete() pulumi.StringPtrOutput { return o.ApplyT(func(v ProjectContainerExpirationPolicy) *string { return v.NameRegexDelete }).(pulumi.StringPtrOutput) @@ -2950,18 +3216,6 @@ func (o ProjectContainerExpirationPolicyPtrOutput) KeepN() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } -// The regular expression to match image names to delete. -// -// Deprecated: `nameRegex` has been deprecated. Use `nameRegexDelete` instead. -func (o ProjectContainerExpirationPolicyPtrOutput) NameRegex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ProjectContainerExpirationPolicy) *string { - if v == nil { - return nil - } - return v.NameRegex - }).(pulumi.StringPtrOutput) -} - // The regular expression to match image names to delete. func (o ProjectContainerExpirationPolicyPtrOutput) NameRegexDelete() pulumi.StringPtrOutput { return o.ApplyT(func(v *ProjectContainerExpirationPolicy) *string { @@ -3002,6 +3256,143 @@ func (o ProjectContainerExpirationPolicyPtrOutput) OlderThan() pulumi.StringPtrO }).(pulumi.StringPtrOutput) } +type ProjectContainerTagProtectionTimeouts struct { + // How long to wait for the container tag protection rule to be created. Defaults to 5 minutes. + Create *string `pulumi:"create"` +} + +// ProjectContainerTagProtectionTimeoutsInput is an input type that accepts ProjectContainerTagProtectionTimeoutsArgs and ProjectContainerTagProtectionTimeoutsOutput values. +// You can construct a concrete instance of `ProjectContainerTagProtectionTimeoutsInput` via: +// +// ProjectContainerTagProtectionTimeoutsArgs{...} +type ProjectContainerTagProtectionTimeoutsInput interface { + pulumi.Input + + ToProjectContainerTagProtectionTimeoutsOutput() ProjectContainerTagProtectionTimeoutsOutput + ToProjectContainerTagProtectionTimeoutsOutputWithContext(context.Context) ProjectContainerTagProtectionTimeoutsOutput +} + +type ProjectContainerTagProtectionTimeoutsArgs struct { + // How long to wait for the container tag protection rule to be created. Defaults to 5 minutes. + Create pulumi.StringPtrInput `pulumi:"create"` +} + +func (ProjectContainerTagProtectionTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ProjectContainerTagProtectionTimeouts)(nil)).Elem() +} + +func (i ProjectContainerTagProtectionTimeoutsArgs) ToProjectContainerTagProtectionTimeoutsOutput() ProjectContainerTagProtectionTimeoutsOutput { + return i.ToProjectContainerTagProtectionTimeoutsOutputWithContext(context.Background()) +} + +func (i ProjectContainerTagProtectionTimeoutsArgs) ToProjectContainerTagProtectionTimeoutsOutputWithContext(ctx context.Context) ProjectContainerTagProtectionTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectContainerTagProtectionTimeoutsOutput) +} + +func (i ProjectContainerTagProtectionTimeoutsArgs) ToProjectContainerTagProtectionTimeoutsPtrOutput() ProjectContainerTagProtectionTimeoutsPtrOutput { + return i.ToProjectContainerTagProtectionTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i ProjectContainerTagProtectionTimeoutsArgs) ToProjectContainerTagProtectionTimeoutsPtrOutputWithContext(ctx context.Context) ProjectContainerTagProtectionTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectContainerTagProtectionTimeoutsOutput).ToProjectContainerTagProtectionTimeoutsPtrOutputWithContext(ctx) +} + +// ProjectContainerTagProtectionTimeoutsPtrInput is an input type that accepts ProjectContainerTagProtectionTimeoutsArgs, ProjectContainerTagProtectionTimeoutsPtr and ProjectContainerTagProtectionTimeoutsPtrOutput values. +// You can construct a concrete instance of `ProjectContainerTagProtectionTimeoutsPtrInput` via: +// +// ProjectContainerTagProtectionTimeoutsArgs{...} +// +// or: +// +// nil +type ProjectContainerTagProtectionTimeoutsPtrInput interface { + pulumi.Input + + ToProjectContainerTagProtectionTimeoutsPtrOutput() ProjectContainerTagProtectionTimeoutsPtrOutput + ToProjectContainerTagProtectionTimeoutsPtrOutputWithContext(context.Context) ProjectContainerTagProtectionTimeoutsPtrOutput +} + +type projectContainerTagProtectionTimeoutsPtrType ProjectContainerTagProtectionTimeoutsArgs + +func ProjectContainerTagProtectionTimeoutsPtr(v *ProjectContainerTagProtectionTimeoutsArgs) ProjectContainerTagProtectionTimeoutsPtrInput { + return (*projectContainerTagProtectionTimeoutsPtrType)(v) +} + +func (*projectContainerTagProtectionTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectContainerTagProtectionTimeouts)(nil)).Elem() +} + +func (i *projectContainerTagProtectionTimeoutsPtrType) ToProjectContainerTagProtectionTimeoutsPtrOutput() ProjectContainerTagProtectionTimeoutsPtrOutput { + return i.ToProjectContainerTagProtectionTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *projectContainerTagProtectionTimeoutsPtrType) ToProjectContainerTagProtectionTimeoutsPtrOutputWithContext(ctx context.Context) ProjectContainerTagProtectionTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectContainerTagProtectionTimeoutsPtrOutput) +} + +type ProjectContainerTagProtectionTimeoutsOutput struct{ *pulumi.OutputState } + +func (ProjectContainerTagProtectionTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ProjectContainerTagProtectionTimeouts)(nil)).Elem() +} + +func (o ProjectContainerTagProtectionTimeoutsOutput) ToProjectContainerTagProtectionTimeoutsOutput() ProjectContainerTagProtectionTimeoutsOutput { + return o +} + +func (o ProjectContainerTagProtectionTimeoutsOutput) ToProjectContainerTagProtectionTimeoutsOutputWithContext(ctx context.Context) ProjectContainerTagProtectionTimeoutsOutput { + return o +} + +func (o ProjectContainerTagProtectionTimeoutsOutput) ToProjectContainerTagProtectionTimeoutsPtrOutput() ProjectContainerTagProtectionTimeoutsPtrOutput { + return o.ToProjectContainerTagProtectionTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o ProjectContainerTagProtectionTimeoutsOutput) ToProjectContainerTagProtectionTimeoutsPtrOutputWithContext(ctx context.Context) ProjectContainerTagProtectionTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ProjectContainerTagProtectionTimeouts) *ProjectContainerTagProtectionTimeouts { + return &v + }).(ProjectContainerTagProtectionTimeoutsPtrOutput) +} + +// How long to wait for the container tag protection rule to be created. Defaults to 5 minutes. +func (o ProjectContainerTagProtectionTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProjectContainerTagProtectionTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) +} + +type ProjectContainerTagProtectionTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (ProjectContainerTagProtectionTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectContainerTagProtectionTimeouts)(nil)).Elem() +} + +func (o ProjectContainerTagProtectionTimeoutsPtrOutput) ToProjectContainerTagProtectionTimeoutsPtrOutput() ProjectContainerTagProtectionTimeoutsPtrOutput { + return o +} + +func (o ProjectContainerTagProtectionTimeoutsPtrOutput) ToProjectContainerTagProtectionTimeoutsPtrOutputWithContext(ctx context.Context) ProjectContainerTagProtectionTimeoutsPtrOutput { + return o +} + +func (o ProjectContainerTagProtectionTimeoutsPtrOutput) Elem() ProjectContainerTagProtectionTimeoutsOutput { + return o.ApplyT(func(v *ProjectContainerTagProtectionTimeouts) ProjectContainerTagProtectionTimeouts { + if v != nil { + return *v + } + var ret ProjectContainerTagProtectionTimeouts + return ret + }).(ProjectContainerTagProtectionTimeoutsOutput) +} + +// How long to wait for the container tag protection rule to be created. Defaults to 5 minutes. +func (o ProjectContainerTagProtectionTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectContainerTagProtectionTimeouts) *string { + if v == nil { + return nil + } + return v.Create + }).(pulumi.StringPtrOutput) +} + type ProjectHookCustomHeader struct { // Key of the custom header. Key string `pulumi:"key"` @@ -3356,21 +3747,145 @@ func (o ProjectIssueTaskCompletionStatusArrayOutput) Index(i pulumi.IntInput) Pr }).(ProjectIssueTaskCompletionStatusOutput) } -type ProjectProtectedEnvironmentApprovalRule struct { - // Levels of access allowed to approve a deployment to this protected environment. Mutually exclusive with `userId` and `groupId`. Valid values are `developer`, `maintainer`. - AccessLevel *string `pulumi:"accessLevel"` - // Readable description of level of access. - AccessLevelDescription *string `pulumi:"accessLevelDescription"` - // The ID of the group allowed to approve a deployment to this protected environment. The project must be shared with the group. Mutually exclusive with `accessLevel` and `userId`. - GroupId *int `pulumi:"groupId"` - // Group inheritance allows deploy access levels to take inherited group membership into account. Valid values are `0`, `1`. `0` => Direct group membership only, `1` => All inherited groups. Default: `0` - GroupInheritanceType *int `pulumi:"groupInheritanceType"` - // The unique ID of the Approval Rules object. - Id *int `pulumi:"id"` - // The number of approval required to allow deployment to this protected environment. This is mutually exclusive with user_id. - RequiredApprovals *int `pulumi:"requiredApprovals"` - // The ID of the user allowed to approve a deployment to this protected environment. The user must be a member of the project. Mutually exclusive with `accessLevel` and `groupId`. - UserId *int `pulumi:"userId"` +type ProjectPagesSettingsDeployment struct { + // Date the deployment was created. + CreatedAt *string `pulumi:"createdAt"` + // The path prefix of the deployment when using parallel deployments. + PathPrefix *string `pulumi:"pathPrefix"` + // The root directory of the deployment. + RootDirectory *string `pulumi:"rootDirectory"` + // The URL of the deployment. + Url *string `pulumi:"url"` +} + +// ProjectPagesSettingsDeploymentInput is an input type that accepts ProjectPagesSettingsDeploymentArgs and ProjectPagesSettingsDeploymentOutput values. +// You can construct a concrete instance of `ProjectPagesSettingsDeploymentInput` via: +// +// ProjectPagesSettingsDeploymentArgs{...} +type ProjectPagesSettingsDeploymentInput interface { + pulumi.Input + + ToProjectPagesSettingsDeploymentOutput() ProjectPagesSettingsDeploymentOutput + ToProjectPagesSettingsDeploymentOutputWithContext(context.Context) ProjectPagesSettingsDeploymentOutput +} + +type ProjectPagesSettingsDeploymentArgs struct { + // Date the deployment was created. + CreatedAt pulumi.StringPtrInput `pulumi:"createdAt"` + // The path prefix of the deployment when using parallel deployments. + PathPrefix pulumi.StringPtrInput `pulumi:"pathPrefix"` + // The root directory of the deployment. + RootDirectory pulumi.StringPtrInput `pulumi:"rootDirectory"` + // The URL of the deployment. + Url pulumi.StringPtrInput `pulumi:"url"` +} + +func (ProjectPagesSettingsDeploymentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ProjectPagesSettingsDeployment)(nil)).Elem() +} + +func (i ProjectPagesSettingsDeploymentArgs) ToProjectPagesSettingsDeploymentOutput() ProjectPagesSettingsDeploymentOutput { + return i.ToProjectPagesSettingsDeploymentOutputWithContext(context.Background()) +} + +func (i ProjectPagesSettingsDeploymentArgs) ToProjectPagesSettingsDeploymentOutputWithContext(ctx context.Context) ProjectPagesSettingsDeploymentOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPagesSettingsDeploymentOutput) +} + +// ProjectPagesSettingsDeploymentArrayInput is an input type that accepts ProjectPagesSettingsDeploymentArray and ProjectPagesSettingsDeploymentArrayOutput values. +// You can construct a concrete instance of `ProjectPagesSettingsDeploymentArrayInput` via: +// +// ProjectPagesSettingsDeploymentArray{ ProjectPagesSettingsDeploymentArgs{...} } +type ProjectPagesSettingsDeploymentArrayInput interface { + pulumi.Input + + ToProjectPagesSettingsDeploymentArrayOutput() ProjectPagesSettingsDeploymentArrayOutput + ToProjectPagesSettingsDeploymentArrayOutputWithContext(context.Context) ProjectPagesSettingsDeploymentArrayOutput +} + +type ProjectPagesSettingsDeploymentArray []ProjectPagesSettingsDeploymentInput + +func (ProjectPagesSettingsDeploymentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ProjectPagesSettingsDeployment)(nil)).Elem() +} + +func (i ProjectPagesSettingsDeploymentArray) ToProjectPagesSettingsDeploymentArrayOutput() ProjectPagesSettingsDeploymentArrayOutput { + return i.ToProjectPagesSettingsDeploymentArrayOutputWithContext(context.Background()) +} + +func (i ProjectPagesSettingsDeploymentArray) ToProjectPagesSettingsDeploymentArrayOutputWithContext(ctx context.Context) ProjectPagesSettingsDeploymentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPagesSettingsDeploymentArrayOutput) +} + +type ProjectPagesSettingsDeploymentOutput struct{ *pulumi.OutputState } + +func (ProjectPagesSettingsDeploymentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ProjectPagesSettingsDeployment)(nil)).Elem() +} + +func (o ProjectPagesSettingsDeploymentOutput) ToProjectPagesSettingsDeploymentOutput() ProjectPagesSettingsDeploymentOutput { + return o +} + +func (o ProjectPagesSettingsDeploymentOutput) ToProjectPagesSettingsDeploymentOutputWithContext(ctx context.Context) ProjectPagesSettingsDeploymentOutput { + return o +} + +// Date the deployment was created. +func (o ProjectPagesSettingsDeploymentOutput) CreatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProjectPagesSettingsDeployment) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) +} + +// The path prefix of the deployment when using parallel deployments. +func (o ProjectPagesSettingsDeploymentOutput) PathPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProjectPagesSettingsDeployment) *string { return v.PathPrefix }).(pulumi.StringPtrOutput) +} + +// The root directory of the deployment. +func (o ProjectPagesSettingsDeploymentOutput) RootDirectory() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProjectPagesSettingsDeployment) *string { return v.RootDirectory }).(pulumi.StringPtrOutput) +} + +// The URL of the deployment. +func (o ProjectPagesSettingsDeploymentOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProjectPagesSettingsDeployment) *string { return v.Url }).(pulumi.StringPtrOutput) +} + +type ProjectPagesSettingsDeploymentArrayOutput struct{ *pulumi.OutputState } + +func (ProjectPagesSettingsDeploymentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ProjectPagesSettingsDeployment)(nil)).Elem() +} + +func (o ProjectPagesSettingsDeploymentArrayOutput) ToProjectPagesSettingsDeploymentArrayOutput() ProjectPagesSettingsDeploymentArrayOutput { + return o +} + +func (o ProjectPagesSettingsDeploymentArrayOutput) ToProjectPagesSettingsDeploymentArrayOutputWithContext(ctx context.Context) ProjectPagesSettingsDeploymentArrayOutput { + return o +} + +func (o ProjectPagesSettingsDeploymentArrayOutput) Index(i pulumi.IntInput) ProjectPagesSettingsDeploymentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ProjectPagesSettingsDeployment { + return vs[0].([]ProjectPagesSettingsDeployment)[vs[1].(int)] + }).(ProjectPagesSettingsDeploymentOutput) +} + +type ProjectProtectedEnvironmentApprovalRule struct { + // Levels of access allowed to approve a deployment to this protected environment. Mutually exclusive with `userId` and `groupId`. Valid values are `developer`, `maintainer`. + AccessLevel *string `pulumi:"accessLevel"` + // Readable description of level of access. + AccessLevelDescription *string `pulumi:"accessLevelDescription"` + // The ID of the group allowed to approve a deployment to this protected environment. The project must be shared with the group. Mutually exclusive with `accessLevel` and `userId`. + GroupId *int `pulumi:"groupId"` + // Group inheritance allows deploy access levels to take inherited group membership into account. Valid values are `0`, `1`. `0` => Direct group membership only, `1` => All inherited groups. Default: `0` + GroupInheritanceType *int `pulumi:"groupInheritanceType"` + // The unique ID of the Approval Rules object. + Id *int `pulumi:"id"` + // The number of approval required to allow deployment to this protected environment. This is mutually exclusive with user_id. + RequiredApprovals *int `pulumi:"requiredApprovals"` + // The ID of the user allowed to approve a deployment to this protected environment. The user must be a member of the project. Mutually exclusive with `accessLevel` and `groupId`. + UserId *int `pulumi:"userId"` } // ProjectProtectedEnvironmentApprovalRuleInput is an input type that accepts ProjectProtectedEnvironmentApprovalRuleArgs and ProjectProtectedEnvironmentApprovalRuleOutput values. @@ -3649,6 +4164,150 @@ func (o ProjectProtectedEnvironmentDeployAccessLevelArrayOutput) Index(i pulumi. }).(ProjectProtectedEnvironmentDeployAccessLevelOutput) } +type ProjectProtectedEnvironmentDeployAccessLevelsAttribute struct { + // Levels of access required to deploy to this protected environment. Mutually exclusive with `userId` and `groupId`. Valid values are `developer`, `maintainer`. + AccessLevel *string `pulumi:"accessLevel"` + // Readable description of level of access. + AccessLevelDescription *string `pulumi:"accessLevelDescription"` + // The ID of the group allowed to deploy to this protected environment. The project must be shared with the group. Mutually exclusive with `accessLevel` and `userId`. + GroupId *int `pulumi:"groupId"` + // Group inheritance allows deploy access levels to take inherited group membership into account. Valid values are `0`, `1`. `0` => Direct group membership only, `1` => All inherited groups. Default: `0` + GroupInheritanceType *int `pulumi:"groupInheritanceType"` + // The unique ID of the Deploy Access Level object. + Id *int `pulumi:"id"` + // The ID of the user allowed to deploy to this protected environment. The user must be a member of the project. Mutually exclusive with `accessLevel` and `groupId`. + UserId *int `pulumi:"userId"` +} + +// ProjectProtectedEnvironmentDeployAccessLevelsAttributeInput is an input type that accepts ProjectProtectedEnvironmentDeployAccessLevelsAttributeArgs and ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput values. +// You can construct a concrete instance of `ProjectProtectedEnvironmentDeployAccessLevelsAttributeInput` via: +// +// ProjectProtectedEnvironmentDeployAccessLevelsAttributeArgs{...} +type ProjectProtectedEnvironmentDeployAccessLevelsAttributeInput interface { + pulumi.Input + + ToProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput() ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput + ToProjectProtectedEnvironmentDeployAccessLevelsAttributeOutputWithContext(context.Context) ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput +} + +type ProjectProtectedEnvironmentDeployAccessLevelsAttributeArgs struct { + // Levels of access required to deploy to this protected environment. Mutually exclusive with `userId` and `groupId`. Valid values are `developer`, `maintainer`. + AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"` + // Readable description of level of access. + AccessLevelDescription pulumi.StringPtrInput `pulumi:"accessLevelDescription"` + // The ID of the group allowed to deploy to this protected environment. The project must be shared with the group. Mutually exclusive with `accessLevel` and `userId`. + GroupId pulumi.IntPtrInput `pulumi:"groupId"` + // Group inheritance allows deploy access levels to take inherited group membership into account. Valid values are `0`, `1`. `0` => Direct group membership only, `1` => All inherited groups. Default: `0` + GroupInheritanceType pulumi.IntPtrInput `pulumi:"groupInheritanceType"` + // The unique ID of the Deploy Access Level object. + Id pulumi.IntPtrInput `pulumi:"id"` + // The ID of the user allowed to deploy to this protected environment. The user must be a member of the project. Mutually exclusive with `accessLevel` and `groupId`. + UserId pulumi.IntPtrInput `pulumi:"userId"` +} + +func (ProjectProtectedEnvironmentDeployAccessLevelsAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ProjectProtectedEnvironmentDeployAccessLevelsAttribute)(nil)).Elem() +} + +func (i ProjectProtectedEnvironmentDeployAccessLevelsAttributeArgs) ToProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput() ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput { + return i.ToProjectProtectedEnvironmentDeployAccessLevelsAttributeOutputWithContext(context.Background()) +} + +func (i ProjectProtectedEnvironmentDeployAccessLevelsAttributeArgs) ToProjectProtectedEnvironmentDeployAccessLevelsAttributeOutputWithContext(ctx context.Context) ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput) +} + +// ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayInput is an input type that accepts ProjectProtectedEnvironmentDeployAccessLevelsAttributeArray and ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput values. +// You can construct a concrete instance of `ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayInput` via: +// +// ProjectProtectedEnvironmentDeployAccessLevelsAttributeArray{ ProjectProtectedEnvironmentDeployAccessLevelsAttributeArgs{...} } +type ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayInput interface { + pulumi.Input + + ToProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput() ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput + ToProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutputWithContext(context.Context) ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput +} + +type ProjectProtectedEnvironmentDeployAccessLevelsAttributeArray []ProjectProtectedEnvironmentDeployAccessLevelsAttributeInput + +func (ProjectProtectedEnvironmentDeployAccessLevelsAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ProjectProtectedEnvironmentDeployAccessLevelsAttribute)(nil)).Elem() +} + +func (i ProjectProtectedEnvironmentDeployAccessLevelsAttributeArray) ToProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput() ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput { + return i.ToProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutputWithContext(context.Background()) +} + +func (i ProjectProtectedEnvironmentDeployAccessLevelsAttributeArray) ToProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutputWithContext(ctx context.Context) ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput) +} + +type ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput struct{ *pulumi.OutputState } + +func (ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ProjectProtectedEnvironmentDeployAccessLevelsAttribute)(nil)).Elem() +} + +func (o ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput) ToProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput() ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput { + return o +} + +func (o ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput) ToProjectProtectedEnvironmentDeployAccessLevelsAttributeOutputWithContext(ctx context.Context) ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput { + return o +} + +// Levels of access required to deploy to this protected environment. Mutually exclusive with `userId` and `groupId`. Valid values are `developer`, `maintainer`. +func (o ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput) AccessLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProjectProtectedEnvironmentDeployAccessLevelsAttribute) *string { return v.AccessLevel }).(pulumi.StringPtrOutput) +} + +// Readable description of level of access. +func (o ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput) AccessLevelDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProjectProtectedEnvironmentDeployAccessLevelsAttribute) *string { + return v.AccessLevelDescription + }).(pulumi.StringPtrOutput) +} + +// The ID of the group allowed to deploy to this protected environment. The project must be shared with the group. Mutually exclusive with `accessLevel` and `userId`. +func (o ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput) GroupId() pulumi.IntPtrOutput { + return o.ApplyT(func(v ProjectProtectedEnvironmentDeployAccessLevelsAttribute) *int { return v.GroupId }).(pulumi.IntPtrOutput) +} + +// Group inheritance allows deploy access levels to take inherited group membership into account. Valid values are `0`, `1`. `0` => Direct group membership only, `1` => All inherited groups. Default: `0` +func (o ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput) GroupInheritanceType() pulumi.IntPtrOutput { + return o.ApplyT(func(v ProjectProtectedEnvironmentDeployAccessLevelsAttribute) *int { return v.GroupInheritanceType }).(pulumi.IntPtrOutput) +} + +// The unique ID of the Deploy Access Level object. +func (o ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput) Id() pulumi.IntPtrOutput { + return o.ApplyT(func(v ProjectProtectedEnvironmentDeployAccessLevelsAttribute) *int { return v.Id }).(pulumi.IntPtrOutput) +} + +// The ID of the user allowed to deploy to this protected environment. The user must be a member of the project. Mutually exclusive with `accessLevel` and `groupId`. +func (o ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput) UserId() pulumi.IntPtrOutput { + return o.ApplyT(func(v ProjectProtectedEnvironmentDeployAccessLevelsAttribute) *int { return v.UserId }).(pulumi.IntPtrOutput) +} + +type ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput struct{ *pulumi.OutputState } + +func (ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ProjectProtectedEnvironmentDeployAccessLevelsAttribute)(nil)).Elem() +} + +func (o ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput) ToProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput() ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput { + return o +} + +func (o ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput) ToProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutputWithContext(ctx context.Context) ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput { + return o +} + +func (o ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput) Index(i pulumi.IntInput) ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ProjectProtectedEnvironmentDeployAccessLevelsAttribute { + return vs[0].([]ProjectProtectedEnvironmentDeployAccessLevelsAttribute)[vs[1].(int)] + }).(ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput) +} + type ProjectPushRulesType struct { // All commit author emails must match this regex, e.g. `@my-company.com$`. AuthorEmailRegex *string `pulumi:"authorEmailRegex"` @@ -3672,9 +4331,9 @@ type ProjectPushRulesType struct { MemberCheck *bool `pulumi:"memberCheck"` // GitLab will reject any files that are likely to contain secrets. PreventSecrets *bool `pulumi:"preventSecrets"` - // Reject commit when it’s not DCO certified. + // Reject commit when it's not DCO certified. RejectNonDcoCommits *bool `pulumi:"rejectNonDcoCommits"` - // Reject commit when it’s not signed through GPG. + // Reject commit when it's not signed through GPG. RejectUnsignedCommits *bool `pulumi:"rejectUnsignedCommits"` } @@ -3712,9 +4371,9 @@ type ProjectPushRulesTypeArgs struct { MemberCheck pulumi.BoolPtrInput `pulumi:"memberCheck"` // GitLab will reject any files that are likely to contain secrets. PreventSecrets pulumi.BoolPtrInput `pulumi:"preventSecrets"` - // Reject commit when it’s not DCO certified. + // Reject commit when it's not DCO certified. RejectNonDcoCommits pulumi.BoolPtrInput `pulumi:"rejectNonDcoCommits"` - // Reject commit when it’s not signed through GPG. + // Reject commit when it's not signed through GPG. RejectUnsignedCommits pulumi.BoolPtrInput `pulumi:"rejectUnsignedCommits"` } @@ -3850,12 +4509,12 @@ func (o ProjectPushRulesTypeOutput) PreventSecrets() pulumi.BoolPtrOutput { return o.ApplyT(func(v ProjectPushRulesType) *bool { return v.PreventSecrets }).(pulumi.BoolPtrOutput) } -// Reject commit when it’s not DCO certified. +// Reject commit when it's not DCO certified. func (o ProjectPushRulesTypeOutput) RejectNonDcoCommits() pulumi.BoolPtrOutput { return o.ApplyT(func(v ProjectPushRulesType) *bool { return v.RejectNonDcoCommits }).(pulumi.BoolPtrOutput) } -// Reject commit when it’s not signed through GPG. +// Reject commit when it's not signed through GPG. func (o ProjectPushRulesTypeOutput) RejectUnsignedCommits() pulumi.BoolPtrOutput { return o.ApplyT(func(v ProjectPushRulesType) *bool { return v.RejectUnsignedCommits }).(pulumi.BoolPtrOutput) } @@ -3994,7 +4653,7 @@ func (o ProjectPushRulesTypePtrOutput) PreventSecrets() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// Reject commit when it’s not DCO certified. +// Reject commit when it's not DCO certified. func (o ProjectPushRulesTypePtrOutput) RejectNonDcoCommits() pulumi.BoolPtrOutput { return o.ApplyT(func(v *ProjectPushRulesType) *bool { if v == nil { @@ -4004,7 +4663,7 @@ func (o ProjectPushRulesTypePtrOutput) RejectNonDcoCommits() pulumi.BoolPtrOutpu }).(pulumi.BoolPtrOutput) } -// Reject commit when it’s not signed through GPG. +// Reject commit when it's not signed through GPG. func (o ProjectPushRulesTypePtrOutput) RejectUnsignedCommits() pulumi.BoolPtrOutput { return o.ApplyT(func(v *ProjectPushRulesType) *bool { if v == nil { @@ -5274,13 +5933,15 @@ func (o ReleaseLinksPtrOutput) Self() pulumi.StringPtrOutput { } type TagProtectionAllowedToCreate struct { - // Access levels allowed to create protected tags. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to create protected tags. Valid values are: `no one`, `developer`, `maintainer`, `admin`. AccessLevel *string `pulumi:"accessLevel"` // Readable description of access level. AccessLevelDescription *string `pulumi:"accessLevelDescription"` - // The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `userId`. + // The ID of a GitLab deploy key allowed to perform the relevant action. Mutually exclusive with `groupId` and `userId`. + DeployKeyId *int `pulumi:"deployKeyId"` + // The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `userId`. GroupId *int `pulumi:"groupId"` - // The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `groupId`. + // The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `groupId`. UserId *int `pulumi:"userId"` } @@ -5296,13 +5957,15 @@ type TagProtectionAllowedToCreateInput interface { } type TagProtectionAllowedToCreateArgs struct { - // Access levels allowed to create protected tags. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to create protected tags. Valid values are: `no one`, `developer`, `maintainer`, `admin`. AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"` // Readable description of access level. AccessLevelDescription pulumi.StringPtrInput `pulumi:"accessLevelDescription"` - // The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `userId`. + // The ID of a GitLab deploy key allowed to perform the relevant action. Mutually exclusive with `groupId` and `userId`. + DeployKeyId pulumi.IntPtrInput `pulumi:"deployKeyId"` + // The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `userId`. GroupId pulumi.IntPtrInput `pulumi:"groupId"` - // The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `groupId`. + // The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `groupId`. UserId pulumi.IntPtrInput `pulumi:"userId"` } @@ -5357,7 +6020,7 @@ func (o TagProtectionAllowedToCreateOutput) ToTagProtectionAllowedToCreateOutput return o } -// Access levels allowed to create protected tags. Valid values are: `no one`, `developer`, `maintainer`. +// Access levels allowed to create protected tags. Valid values are: `no one`, `developer`, `maintainer`, `admin`. func (o TagProtectionAllowedToCreateOutput) AccessLevel() pulumi.StringPtrOutput { return o.ApplyT(func(v TagProtectionAllowedToCreate) *string { return v.AccessLevel }).(pulumi.StringPtrOutput) } @@ -5367,12 +6030,17 @@ func (o TagProtectionAllowedToCreateOutput) AccessLevelDescription() pulumi.Stri return o.ApplyT(func(v TagProtectionAllowedToCreate) *string { return v.AccessLevelDescription }).(pulumi.StringPtrOutput) } -// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `userId`. +// The ID of a GitLab deploy key allowed to perform the relevant action. Mutually exclusive with `groupId` and `userId`. +func (o TagProtectionAllowedToCreateOutput) DeployKeyId() pulumi.IntPtrOutput { + return o.ApplyT(func(v TagProtectionAllowedToCreate) *int { return v.DeployKeyId }).(pulumi.IntPtrOutput) +} + +// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `userId`. func (o TagProtectionAllowedToCreateOutput) GroupId() pulumi.IntPtrOutput { return o.ApplyT(func(v TagProtectionAllowedToCreate) *int { return v.GroupId }).(pulumi.IntPtrOutput) } -// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `groupId`. +// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `groupId`. func (o TagProtectionAllowedToCreateOutput) UserId() pulumi.IntPtrOutput { return o.ApplyT(func(v TagProtectionAllowedToCreate) *int { return v.UserId }).(pulumi.IntPtrOutput) } @@ -6026,7 +6694,7 @@ func (o GetGroupAccessTokensAccessTokenArrayOutput) Index(i pulumi.IntInput) Get } type GetGroupBillableMemberMembershipsMembership struct { - // Access-level of the member. For details see: https://docs.gitlab.com/api/access_requests/#valid-access-levels + // Access-level of the member. For details see: https://docs.gitlab.com/user/permissions/#default-roles AccessLevel string `pulumi:"accessLevel"` // Datetime when the membership was first added. CreatedAt string `pulumi:"createdAt"` @@ -6054,7 +6722,7 @@ type GetGroupBillableMemberMembershipsMembershipInput interface { } type GetGroupBillableMemberMembershipsMembershipArgs struct { - // Access-level of the member. For details see: https://docs.gitlab.com/api/access_requests/#valid-access-levels + // Access-level of the member. For details see: https://docs.gitlab.com/user/permissions/#default-roles AccessLevel pulumi.StringInput `pulumi:"accessLevel"` // Datetime when the membership was first added. CreatedAt pulumi.StringInput `pulumi:"createdAt"` @@ -6121,7 +6789,7 @@ func (o GetGroupBillableMemberMembershipsMembershipOutput) ToGetGroupBillableMem return o } -// Access-level of the member. For details see: https://docs.gitlab.com/api/access_requests/#valid-access-levels +// Access-level of the member. For details see: https://docs.gitlab.com/user/permissions/#default-roles func (o GetGroupBillableMemberMembershipsMembershipOutput) AccessLevel() pulumi.StringOutput { return o.ApplyT(func(v GetGroupBillableMemberMembershipsMembership) string { return v.AccessLevel }).(pulumi.StringOutput) } @@ -6185,6 +6853,8 @@ type GetGroupHooksHook struct { CustomWebhookTemplate string `pulumi:"customWebhookTemplate"` // Invoke the hook for deployment events. DeploymentEvents bool `pulumi:"deploymentEvents"` + // Invoke the hook for emoji events. + EmojiEvents bool `pulumi:"emojiEvents"` // Enable ssl verification when invoking the hook. EnableSslVerification bool `pulumi:"enableSslVerification"` // The ID or full path of the group. @@ -6213,10 +6883,14 @@ type GetGroupHooksHook struct { SubgroupEvents bool `pulumi:"subgroupEvents"` // Invoke the hook for tag push events. TagPushEvents bool `pulumi:"tagPushEvents"` - // A token to present when invoking the hook. The token is not available for imported resources. + // A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. + // + // Deprecated: The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. Token string `pulumi:"token"` // The url of the hook to invoke. Url string `pulumi:"url"` + // Invoke the hook for vulnerability events. + VulnerabilityEvents bool `pulumi:"vulnerabilityEvents"` // Invoke the hook for wiki page events. WikiPageEvents bool `pulumi:"wikiPageEvents"` } @@ -6241,6 +6915,8 @@ type GetGroupHooksHookArgs struct { CustomWebhookTemplate pulumi.StringInput `pulumi:"customWebhookTemplate"` // Invoke the hook for deployment events. DeploymentEvents pulumi.BoolInput `pulumi:"deploymentEvents"` + // Invoke the hook for emoji events. + EmojiEvents pulumi.BoolInput `pulumi:"emojiEvents"` // Enable ssl verification when invoking the hook. EnableSslVerification pulumi.BoolInput `pulumi:"enableSslVerification"` // The ID or full path of the group. @@ -6269,10 +6945,14 @@ type GetGroupHooksHookArgs struct { SubgroupEvents pulumi.BoolInput `pulumi:"subgroupEvents"` // Invoke the hook for tag push events. TagPushEvents pulumi.BoolInput `pulumi:"tagPushEvents"` - // A token to present when invoking the hook. The token is not available for imported resources. + // A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. + // + // Deprecated: The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. Token pulumi.StringInput `pulumi:"token"` // The url of the hook to invoke. Url pulumi.StringInput `pulumi:"url"` + // Invoke the hook for vulnerability events. + VulnerabilityEvents pulumi.BoolInput `pulumi:"vulnerabilityEvents"` // Invoke the hook for wiki page events. WikiPageEvents pulumi.BoolInput `pulumi:"wikiPageEvents"` } @@ -6348,6 +7028,11 @@ func (o GetGroupHooksHookOutput) DeploymentEvents() pulumi.BoolOutput { return o.ApplyT(func(v GetGroupHooksHook) bool { return v.DeploymentEvents }).(pulumi.BoolOutput) } +// Invoke the hook for emoji events. +func (o GetGroupHooksHookOutput) EmojiEvents() pulumi.BoolOutput { + return o.ApplyT(func(v GetGroupHooksHook) bool { return v.EmojiEvents }).(pulumi.BoolOutput) +} + // Enable ssl verification when invoking the hook. func (o GetGroupHooksHookOutput) EnableSslVerification() pulumi.BoolOutput { return o.ApplyT(func(v GetGroupHooksHook) bool { return v.EnableSslVerification }).(pulumi.BoolOutput) @@ -6418,7 +7103,9 @@ func (o GetGroupHooksHookOutput) TagPushEvents() pulumi.BoolOutput { return o.ApplyT(func(v GetGroupHooksHook) bool { return v.TagPushEvents }).(pulumi.BoolOutput) } -// A token to present when invoking the hook. The token is not available for imported resources. +// A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. +// +// Deprecated: The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. func (o GetGroupHooksHookOutput) Token() pulumi.StringOutput { return o.ApplyT(func(v GetGroupHooksHook) string { return v.Token }).(pulumi.StringOutput) } @@ -6428,6 +7115,11 @@ func (o GetGroupHooksHookOutput) Url() pulumi.StringOutput { return o.ApplyT(func(v GetGroupHooksHook) string { return v.Url }).(pulumi.StringOutput) } +// Invoke the hook for vulnerability events. +func (o GetGroupHooksHookOutput) VulnerabilityEvents() pulumi.BoolOutput { + return o.ApplyT(func(v GetGroupHooksHook) bool { return v.VulnerabilityEvents }).(pulumi.BoolOutput) +} + // Invoke the hook for wiki page events. func (o GetGroupHooksHookOutput) WikiPageEvents() pulumi.BoolOutput { return o.ApplyT(func(v GetGroupHooksHook) bool { return v.WikiPageEvents }).(pulumi.BoolOutput) @@ -6460,6 +7152,8 @@ type GetGroupMembershipMember struct { AvatarUrl string `pulumi:"avatarUrl"` // Expiration date for the group membership. ExpiresAt string `pulumi:"expiresAt"` + // SAML identity linked to the group member. + GroupSamlIdentity GetGroupMembershipMemberGroupSamlIdentity `pulumi:"groupSamlIdentity"` // The unique id assigned to the user by the gitlab server. Id int `pulumi:"id"` // The name of the user. @@ -6490,6 +7184,8 @@ type GetGroupMembershipMemberArgs struct { AvatarUrl pulumi.StringInput `pulumi:"avatarUrl"` // Expiration date for the group membership. ExpiresAt pulumi.StringInput `pulumi:"expiresAt"` + // SAML identity linked to the group member. + GroupSamlIdentity GetGroupMembershipMemberGroupSamlIdentityInput `pulumi:"groupSamlIdentity"` // The unique id assigned to the user by the gitlab server. Id pulumi.IntInput `pulumi:"id"` // The name of the user. @@ -6568,6 +7264,11 @@ func (o GetGroupMembershipMemberOutput) ExpiresAt() pulumi.StringOutput { return o.ApplyT(func(v GetGroupMembershipMember) string { return v.ExpiresAt }).(pulumi.StringOutput) } +// SAML identity linked to the group member. +func (o GetGroupMembershipMemberOutput) GroupSamlIdentity() GetGroupMembershipMemberGroupSamlIdentityOutput { + return o.ApplyT(func(v GetGroupMembershipMember) GetGroupMembershipMemberGroupSamlIdentity { return v.GroupSamlIdentity }).(GetGroupMembershipMemberGroupSamlIdentityOutput) +} + // The unique id assigned to the user by the gitlab server. func (o GetGroupMembershipMemberOutput) Id() pulumi.IntOutput { return o.ApplyT(func(v GetGroupMembershipMember) int { return v.Id }).(pulumi.IntOutput) @@ -6613,6 +7314,76 @@ func (o GetGroupMembershipMemberArrayOutput) Index(i pulumi.IntInput) GetGroupMe }).(GetGroupMembershipMemberOutput) } +type GetGroupMembershipMemberGroupSamlIdentity struct { + // The external UID of the group SAML identity. + ExternUid string `pulumi:"externUid"` + // The provider of the SAML identity. + Provider string `pulumi:"provider"` + // The ID of the SAML provider. + SamlProviderId int `pulumi:"samlProviderId"` +} + +// GetGroupMembershipMemberGroupSamlIdentityInput is an input type that accepts GetGroupMembershipMemberGroupSamlIdentityArgs and GetGroupMembershipMemberGroupSamlIdentityOutput values. +// You can construct a concrete instance of `GetGroupMembershipMemberGroupSamlIdentityInput` via: +// +// GetGroupMembershipMemberGroupSamlIdentityArgs{...} +type GetGroupMembershipMemberGroupSamlIdentityInput interface { + pulumi.Input + + ToGetGroupMembershipMemberGroupSamlIdentityOutput() GetGroupMembershipMemberGroupSamlIdentityOutput + ToGetGroupMembershipMemberGroupSamlIdentityOutputWithContext(context.Context) GetGroupMembershipMemberGroupSamlIdentityOutput +} + +type GetGroupMembershipMemberGroupSamlIdentityArgs struct { + // The external UID of the group SAML identity. + ExternUid pulumi.StringInput `pulumi:"externUid"` + // The provider of the SAML identity. + Provider pulumi.StringInput `pulumi:"provider"` + // The ID of the SAML provider. + SamlProviderId pulumi.IntInput `pulumi:"samlProviderId"` +} + +func (GetGroupMembershipMemberGroupSamlIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGroupMembershipMemberGroupSamlIdentity)(nil)).Elem() +} + +func (i GetGroupMembershipMemberGroupSamlIdentityArgs) ToGetGroupMembershipMemberGroupSamlIdentityOutput() GetGroupMembershipMemberGroupSamlIdentityOutput { + return i.ToGetGroupMembershipMemberGroupSamlIdentityOutputWithContext(context.Background()) +} + +func (i GetGroupMembershipMemberGroupSamlIdentityArgs) ToGetGroupMembershipMemberGroupSamlIdentityOutputWithContext(ctx context.Context) GetGroupMembershipMemberGroupSamlIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGroupMembershipMemberGroupSamlIdentityOutput) +} + +type GetGroupMembershipMemberGroupSamlIdentityOutput struct{ *pulumi.OutputState } + +func (GetGroupMembershipMemberGroupSamlIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGroupMembershipMemberGroupSamlIdentity)(nil)).Elem() +} + +func (o GetGroupMembershipMemberGroupSamlIdentityOutput) ToGetGroupMembershipMemberGroupSamlIdentityOutput() GetGroupMembershipMemberGroupSamlIdentityOutput { + return o +} + +func (o GetGroupMembershipMemberGroupSamlIdentityOutput) ToGetGroupMembershipMemberGroupSamlIdentityOutputWithContext(ctx context.Context) GetGroupMembershipMemberGroupSamlIdentityOutput { + return o +} + +// The external UID of the group SAML identity. +func (o GetGroupMembershipMemberGroupSamlIdentityOutput) ExternUid() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupMembershipMemberGroupSamlIdentity) string { return v.ExternUid }).(pulumi.StringOutput) +} + +// The provider of the SAML identity. +func (o GetGroupMembershipMemberGroupSamlIdentityOutput) Provider() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupMembershipMemberGroupSamlIdentity) string { return v.Provider }).(pulumi.StringOutput) +} + +// The ID of the SAML provider. +func (o GetGroupMembershipMemberGroupSamlIdentityOutput) SamlProviderId() pulumi.IntOutput { + return o.ApplyT(func(v GetGroupMembershipMemberGroupSamlIdentity) int { return v.SamlProviderId }).(pulumi.IntOutput) +} + type GetGroupProvisionedUsersProvisionedUser struct { // The avatar URL of the provisioned user. AvatarUrl string `pulumi:"avatarUrl"` @@ -6926,41 +7697,286 @@ func (o GetGroupProvisionedUsersProvisionedUserArrayOutput) Index(i pulumi.IntIn }).(GetGroupProvisionedUsersProvisionedUserOutput) } -type GetGroupSharedWithGroup struct { - // Share with group expiration date. - ExpiresAt string `pulumi:"expiresAt"` - // The accessLevel permission level of the shared group. - GroupAccessLevel int `pulumi:"groupAccessLevel"` - // The full path of the group shared with. - GroupFullPath string `pulumi:"groupFullPath"` - // The ID of the group shared with. - GroupId int `pulumi:"groupId"` - // The name of the group shared with. - GroupName string `pulumi:"groupName"` +type GetGroupSamlLinksSamlLink struct { + // The base access level for members of the SAML group. + AccessLevel string `pulumi:"accessLevel"` + // Member Role ID (custom role for members of the SAML group. + MemberRoleId int `pulumi:"memberRoleId"` + // Name of the SAML group. + Name string `pulumi:"name"` } -// GetGroupSharedWithGroupInput is an input type that accepts GetGroupSharedWithGroupArgs and GetGroupSharedWithGroupOutput values. -// You can construct a concrete instance of `GetGroupSharedWithGroupInput` via: +// GetGroupSamlLinksSamlLinkInput is an input type that accepts GetGroupSamlLinksSamlLinkArgs and GetGroupSamlLinksSamlLinkOutput values. +// You can construct a concrete instance of `GetGroupSamlLinksSamlLinkInput` via: // -// GetGroupSharedWithGroupArgs{...} -type GetGroupSharedWithGroupInput interface { +// GetGroupSamlLinksSamlLinkArgs{...} +type GetGroupSamlLinksSamlLinkInput interface { pulumi.Input - ToGetGroupSharedWithGroupOutput() GetGroupSharedWithGroupOutput - ToGetGroupSharedWithGroupOutputWithContext(context.Context) GetGroupSharedWithGroupOutput + ToGetGroupSamlLinksSamlLinkOutput() GetGroupSamlLinksSamlLinkOutput + ToGetGroupSamlLinksSamlLinkOutputWithContext(context.Context) GetGroupSamlLinksSamlLinkOutput } -type GetGroupSharedWithGroupArgs struct { - // Share with group expiration date. - ExpiresAt pulumi.StringInput `pulumi:"expiresAt"` - // The accessLevel permission level of the shared group. - GroupAccessLevel pulumi.IntInput `pulumi:"groupAccessLevel"` - // The full path of the group shared with. - GroupFullPath pulumi.StringInput `pulumi:"groupFullPath"` - // The ID of the group shared with. - GroupId pulumi.IntInput `pulumi:"groupId"` - // The name of the group shared with. - GroupName pulumi.StringInput `pulumi:"groupName"` +type GetGroupSamlLinksSamlLinkArgs struct { + // The base access level for members of the SAML group. + AccessLevel pulumi.StringInput `pulumi:"accessLevel"` + // Member Role ID (custom role for members of the SAML group. + MemberRoleId pulumi.IntInput `pulumi:"memberRoleId"` + // Name of the SAML group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetGroupSamlLinksSamlLinkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGroupSamlLinksSamlLink)(nil)).Elem() +} + +func (i GetGroupSamlLinksSamlLinkArgs) ToGetGroupSamlLinksSamlLinkOutput() GetGroupSamlLinksSamlLinkOutput { + return i.ToGetGroupSamlLinksSamlLinkOutputWithContext(context.Background()) +} + +func (i GetGroupSamlLinksSamlLinkArgs) ToGetGroupSamlLinksSamlLinkOutputWithContext(ctx context.Context) GetGroupSamlLinksSamlLinkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGroupSamlLinksSamlLinkOutput) +} + +// GetGroupSamlLinksSamlLinkArrayInput is an input type that accepts GetGroupSamlLinksSamlLinkArray and GetGroupSamlLinksSamlLinkArrayOutput values. +// You can construct a concrete instance of `GetGroupSamlLinksSamlLinkArrayInput` via: +// +// GetGroupSamlLinksSamlLinkArray{ GetGroupSamlLinksSamlLinkArgs{...} } +type GetGroupSamlLinksSamlLinkArrayInput interface { + pulumi.Input + + ToGetGroupSamlLinksSamlLinkArrayOutput() GetGroupSamlLinksSamlLinkArrayOutput + ToGetGroupSamlLinksSamlLinkArrayOutputWithContext(context.Context) GetGroupSamlLinksSamlLinkArrayOutput +} + +type GetGroupSamlLinksSamlLinkArray []GetGroupSamlLinksSamlLinkInput + +func (GetGroupSamlLinksSamlLinkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGroupSamlLinksSamlLink)(nil)).Elem() +} + +func (i GetGroupSamlLinksSamlLinkArray) ToGetGroupSamlLinksSamlLinkArrayOutput() GetGroupSamlLinksSamlLinkArrayOutput { + return i.ToGetGroupSamlLinksSamlLinkArrayOutputWithContext(context.Background()) +} + +func (i GetGroupSamlLinksSamlLinkArray) ToGetGroupSamlLinksSamlLinkArrayOutputWithContext(ctx context.Context) GetGroupSamlLinksSamlLinkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGroupSamlLinksSamlLinkArrayOutput) +} + +type GetGroupSamlLinksSamlLinkOutput struct{ *pulumi.OutputState } + +func (GetGroupSamlLinksSamlLinkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGroupSamlLinksSamlLink)(nil)).Elem() +} + +func (o GetGroupSamlLinksSamlLinkOutput) ToGetGroupSamlLinksSamlLinkOutput() GetGroupSamlLinksSamlLinkOutput { + return o +} + +func (o GetGroupSamlLinksSamlLinkOutput) ToGetGroupSamlLinksSamlLinkOutputWithContext(ctx context.Context) GetGroupSamlLinksSamlLinkOutput { + return o +} + +// The base access level for members of the SAML group. +func (o GetGroupSamlLinksSamlLinkOutput) AccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupSamlLinksSamlLink) string { return v.AccessLevel }).(pulumi.StringOutput) +} + +// Member Role ID (custom role for members of the SAML group. +func (o GetGroupSamlLinksSamlLinkOutput) MemberRoleId() pulumi.IntOutput { + return o.ApplyT(func(v GetGroupSamlLinksSamlLink) int { return v.MemberRoleId }).(pulumi.IntOutput) +} + +// Name of the SAML group. +func (o GetGroupSamlLinksSamlLinkOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupSamlLinksSamlLink) string { return v.Name }).(pulumi.StringOutput) +} + +type GetGroupSamlLinksSamlLinkArrayOutput struct{ *pulumi.OutputState } + +func (GetGroupSamlLinksSamlLinkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGroupSamlLinksSamlLink)(nil)).Elem() +} + +func (o GetGroupSamlLinksSamlLinkArrayOutput) ToGetGroupSamlLinksSamlLinkArrayOutput() GetGroupSamlLinksSamlLinkArrayOutput { + return o +} + +func (o GetGroupSamlLinksSamlLinkArrayOutput) ToGetGroupSamlLinksSamlLinkArrayOutputWithContext(ctx context.Context) GetGroupSamlLinksSamlLinkArrayOutput { + return o +} + +func (o GetGroupSamlLinksSamlLinkArrayOutput) Index(i pulumi.IntInput) GetGroupSamlLinksSamlLinkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGroupSamlLinksSamlLink { + return vs[0].([]GetGroupSamlLinksSamlLink)[vs[1].(int)] + }).(GetGroupSamlLinksSamlLinkOutput) +} + +type GetGroupServiceAccountAccessTokensAccessToken struct { + Active bool `pulumi:"active"` + CreatedAt string `pulumi:"createdAt"` + ExpiresAt string `pulumi:"expiresAt"` + Id string `pulumi:"id"` + Name string `pulumi:"name"` + Revoked bool `pulumi:"revoked"` + Scopes []string `pulumi:"scopes"` +} + +// GetGroupServiceAccountAccessTokensAccessTokenInput is an input type that accepts GetGroupServiceAccountAccessTokensAccessTokenArgs and GetGroupServiceAccountAccessTokensAccessTokenOutput values. +// You can construct a concrete instance of `GetGroupServiceAccountAccessTokensAccessTokenInput` via: +// +// GetGroupServiceAccountAccessTokensAccessTokenArgs{...} +type GetGroupServiceAccountAccessTokensAccessTokenInput interface { + pulumi.Input + + ToGetGroupServiceAccountAccessTokensAccessTokenOutput() GetGroupServiceAccountAccessTokensAccessTokenOutput + ToGetGroupServiceAccountAccessTokensAccessTokenOutputWithContext(context.Context) GetGroupServiceAccountAccessTokensAccessTokenOutput +} + +type GetGroupServiceAccountAccessTokensAccessTokenArgs struct { + Active pulumi.BoolInput `pulumi:"active"` + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + ExpiresAt pulumi.StringInput `pulumi:"expiresAt"` + Id pulumi.StringInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + Revoked pulumi.BoolInput `pulumi:"revoked"` + Scopes pulumi.StringArrayInput `pulumi:"scopes"` +} + +func (GetGroupServiceAccountAccessTokensAccessTokenArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGroupServiceAccountAccessTokensAccessToken)(nil)).Elem() +} + +func (i GetGroupServiceAccountAccessTokensAccessTokenArgs) ToGetGroupServiceAccountAccessTokensAccessTokenOutput() GetGroupServiceAccountAccessTokensAccessTokenOutput { + return i.ToGetGroupServiceAccountAccessTokensAccessTokenOutputWithContext(context.Background()) +} + +func (i GetGroupServiceAccountAccessTokensAccessTokenArgs) ToGetGroupServiceAccountAccessTokensAccessTokenOutputWithContext(ctx context.Context) GetGroupServiceAccountAccessTokensAccessTokenOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGroupServiceAccountAccessTokensAccessTokenOutput) +} + +// GetGroupServiceAccountAccessTokensAccessTokenArrayInput is an input type that accepts GetGroupServiceAccountAccessTokensAccessTokenArray and GetGroupServiceAccountAccessTokensAccessTokenArrayOutput values. +// You can construct a concrete instance of `GetGroupServiceAccountAccessTokensAccessTokenArrayInput` via: +// +// GetGroupServiceAccountAccessTokensAccessTokenArray{ GetGroupServiceAccountAccessTokensAccessTokenArgs{...} } +type GetGroupServiceAccountAccessTokensAccessTokenArrayInput interface { + pulumi.Input + + ToGetGroupServiceAccountAccessTokensAccessTokenArrayOutput() GetGroupServiceAccountAccessTokensAccessTokenArrayOutput + ToGetGroupServiceAccountAccessTokensAccessTokenArrayOutputWithContext(context.Context) GetGroupServiceAccountAccessTokensAccessTokenArrayOutput +} + +type GetGroupServiceAccountAccessTokensAccessTokenArray []GetGroupServiceAccountAccessTokensAccessTokenInput + +func (GetGroupServiceAccountAccessTokensAccessTokenArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGroupServiceAccountAccessTokensAccessToken)(nil)).Elem() +} + +func (i GetGroupServiceAccountAccessTokensAccessTokenArray) ToGetGroupServiceAccountAccessTokensAccessTokenArrayOutput() GetGroupServiceAccountAccessTokensAccessTokenArrayOutput { + return i.ToGetGroupServiceAccountAccessTokensAccessTokenArrayOutputWithContext(context.Background()) +} + +func (i GetGroupServiceAccountAccessTokensAccessTokenArray) ToGetGroupServiceAccountAccessTokensAccessTokenArrayOutputWithContext(ctx context.Context) GetGroupServiceAccountAccessTokensAccessTokenArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGroupServiceAccountAccessTokensAccessTokenArrayOutput) +} + +type GetGroupServiceAccountAccessTokensAccessTokenOutput struct{ *pulumi.OutputState } + +func (GetGroupServiceAccountAccessTokensAccessTokenOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGroupServiceAccountAccessTokensAccessToken)(nil)).Elem() +} + +func (o GetGroupServiceAccountAccessTokensAccessTokenOutput) ToGetGroupServiceAccountAccessTokensAccessTokenOutput() GetGroupServiceAccountAccessTokensAccessTokenOutput { + return o +} + +func (o GetGroupServiceAccountAccessTokensAccessTokenOutput) ToGetGroupServiceAccountAccessTokensAccessTokenOutputWithContext(ctx context.Context) GetGroupServiceAccountAccessTokensAccessTokenOutput { + return o +} + +func (o GetGroupServiceAccountAccessTokensAccessTokenOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v GetGroupServiceAccountAccessTokensAccessToken) bool { return v.Active }).(pulumi.BoolOutput) +} + +func (o GetGroupServiceAccountAccessTokensAccessTokenOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupServiceAccountAccessTokensAccessToken) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o GetGroupServiceAccountAccessTokensAccessTokenOutput) ExpiresAt() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupServiceAccountAccessTokensAccessToken) string { return v.ExpiresAt }).(pulumi.StringOutput) +} + +func (o GetGroupServiceAccountAccessTokensAccessTokenOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupServiceAccountAccessTokensAccessToken) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetGroupServiceAccountAccessTokensAccessTokenOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupServiceAccountAccessTokensAccessToken) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetGroupServiceAccountAccessTokensAccessTokenOutput) Revoked() pulumi.BoolOutput { + return o.ApplyT(func(v GetGroupServiceAccountAccessTokensAccessToken) bool { return v.Revoked }).(pulumi.BoolOutput) +} + +func (o GetGroupServiceAccountAccessTokensAccessTokenOutput) Scopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetGroupServiceAccountAccessTokensAccessToken) []string { return v.Scopes }).(pulumi.StringArrayOutput) +} + +type GetGroupServiceAccountAccessTokensAccessTokenArrayOutput struct{ *pulumi.OutputState } + +func (GetGroupServiceAccountAccessTokensAccessTokenArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGroupServiceAccountAccessTokensAccessToken)(nil)).Elem() +} + +func (o GetGroupServiceAccountAccessTokensAccessTokenArrayOutput) ToGetGroupServiceAccountAccessTokensAccessTokenArrayOutput() GetGroupServiceAccountAccessTokensAccessTokenArrayOutput { + return o +} + +func (o GetGroupServiceAccountAccessTokensAccessTokenArrayOutput) ToGetGroupServiceAccountAccessTokensAccessTokenArrayOutputWithContext(ctx context.Context) GetGroupServiceAccountAccessTokensAccessTokenArrayOutput { + return o +} + +func (o GetGroupServiceAccountAccessTokensAccessTokenArrayOutput) Index(i pulumi.IntInput) GetGroupServiceAccountAccessTokensAccessTokenOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGroupServiceAccountAccessTokensAccessToken { + return vs[0].([]GetGroupServiceAccountAccessTokensAccessToken)[vs[1].(int)] + }).(GetGroupServiceAccountAccessTokensAccessTokenOutput) +} + +type GetGroupSharedWithGroup struct { + // Share with group expiration date. + ExpiresAt string `pulumi:"expiresAt"` + // The accessLevel permission level of the shared group. + GroupAccessLevel int `pulumi:"groupAccessLevel"` + // The full path of the group shared with. + GroupFullPath string `pulumi:"groupFullPath"` + // The ID of the group shared with. + GroupId int `pulumi:"groupId"` + // The name of the group shared with. + GroupName string `pulumi:"groupName"` +} + +// GetGroupSharedWithGroupInput is an input type that accepts GetGroupSharedWithGroupArgs and GetGroupSharedWithGroupOutput values. +// You can construct a concrete instance of `GetGroupSharedWithGroupInput` via: +// +// GetGroupSharedWithGroupArgs{...} +type GetGroupSharedWithGroupInput interface { + pulumi.Input + + ToGetGroupSharedWithGroupOutput() GetGroupSharedWithGroupOutput + ToGetGroupSharedWithGroupOutputWithContext(context.Context) GetGroupSharedWithGroupOutput +} + +type GetGroupSharedWithGroupArgs struct { + // Share with group expiration date. + ExpiresAt pulumi.StringInput `pulumi:"expiresAt"` + // The accessLevel permission level of the shared group. + GroupAccessLevel pulumi.IntInput `pulumi:"groupAccessLevel"` + // The full path of the group shared with. + GroupFullPath pulumi.StringInput `pulumi:"groupFullPath"` + // The ID of the group shared with. + GroupId pulumi.IntInput `pulumi:"groupId"` + // The name of the group shared with. + GroupName pulumi.StringInput `pulumi:"groupName"` } func (GetGroupSharedWithGroupArgs) ElementType() reflect.Type { @@ -7060,34 +8076,62 @@ func (o GetGroupSharedWithGroupArrayOutput) Index(i pulumi.IntInput) GetGroupSha } type GetGroupSubgroupsSubgroup struct { - AllowedEmailDomainsList string `pulumi:"allowedEmailDomainsList"` - AutoDevopsEnabled bool `pulumi:"autoDevopsEnabled"` - AvatarUrl string `pulumi:"avatarUrl"` - CreatedAt string `pulumi:"createdAt"` - DefaultBranchProtection int `pulumi:"defaultBranchProtection"` - Description string `pulumi:"description"` - EmailsEnabled bool `pulumi:"emailsEnabled"` - FileTemplateProjectId int `pulumi:"fileTemplateProjectId"` - FullName string `pulumi:"fullName"` - FullPath string `pulumi:"fullPath"` - GroupId int `pulumi:"groupId"` - IpRestrictionRanges string `pulumi:"ipRestrictionRanges"` - LfsEnabled bool `pulumi:"lfsEnabled"` - MentionsDisabled bool `pulumi:"mentionsDisabled"` - Name string `pulumi:"name"` - ParentId int `pulumi:"parentId"` - Path string `pulumi:"path"` - ProjectCreationLevel string `pulumi:"projectCreationLevel"` - RequestAccessEnabled bool `pulumi:"requestAccessEnabled"` - RequireTwoFactorAuthentication bool `pulumi:"requireTwoFactorAuthentication"` - ShareWithGroupLock bool `pulumi:"shareWithGroupLock"` - SharedRunnersSetting string `pulumi:"sharedRunnersSetting"` - Statistics map[string]string `pulumi:"statistics"` - SubgroupCreationLevel string `pulumi:"subgroupCreationLevel"` - TwoFactorGracePeriod int `pulumi:"twoFactorGracePeriod"` - Visibility string `pulumi:"visibility"` - WebUrl string `pulumi:"webUrl"` - WikiAccessLevel string `pulumi:"wikiAccessLevel"` + // A list of email address domains to allow group access. + AllowedEmailDomainsList string `pulumi:"allowedEmailDomainsList"` + // Default to Auto DevOps pipeline for all projects within this group. + AutoDevopsEnabled bool `pulumi:"autoDevopsEnabled"` + // The URL of the avatar image. + AvatarUrl string `pulumi:"avatarUrl"` + // Group created at date. + CreatedAt string `pulumi:"createdAt"` + // Whether developers and maintainers can push to the applicable default branch. + DefaultBranchProtection int `pulumi:"defaultBranchProtection"` + // The description of the group. + Description string `pulumi:"description"` + // Enable email notifications. + EmailsEnabled bool `pulumi:"emailsEnabled"` + // The ID of the project that will be used for file templates. + FileTemplateProjectId int `pulumi:"fileTemplateProjectId"` + // The full name of the group. + FullName string `pulumi:"fullName"` + // The full path of the group. + FullPath string `pulumi:"fullPath"` + // The ID of the group. + GroupId int `pulumi:"groupId"` + // A list of IP addresses or subnet masks to restrict group access. + IpRestrictionRanges string `pulumi:"ipRestrictionRanges"` + // Is LFS enabled for projects in this group. + LfsEnabled bool `pulumi:"lfsEnabled"` + // Disable the capability of a group from getting mentioned. + MentionsDisabled bool `pulumi:"mentionsDisabled"` + // The name of this group. + Name string `pulumi:"name"` + // ID of the parent group. + ParentId int `pulumi:"parentId"` + // The path of the group. + Path string `pulumi:"path"` + // Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator` + ProjectCreationLevel string `pulumi:"projectCreationLevel"` + // Is request for access enabled to the group. + RequestAccessEnabled bool `pulumi:"requestAccessEnabled"` + // Require all users in this group to setup Two-factor authentication. + RequireTwoFactorAuthentication bool `pulumi:"requireTwoFactorAuthentication"` + // Prevent sharing a project with another group within this group. + ShareWithGroupLock bool `pulumi:"shareWithGroupLock"` + // Enable or disable shared runners for a group's subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. + SharedRunnersSetting string `pulumi:"sharedRunnersSetting"` + // Group statistics. + Statistics map[string]string `pulumi:"statistics"` + // Allowed to create subgroups. Valid values are: `owner`, `maintainer`. + SubgroupCreationLevel string `pulumi:"subgroupCreationLevel"` + // Time before Two-factor authentication is enforced (in hours). + TwoFactorGracePeriod int `pulumi:"twoFactorGracePeriod"` + // Limited by visibility `public`, `internal`, or `private`. + Visibility string `pulumi:"visibility"` + // Web URL of the group. + WebUrl string `pulumi:"webUrl"` + // The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are `disabled`, `private`, `enabled`. + WikiAccessLevel string `pulumi:"wikiAccessLevel"` } // GetGroupSubgroupsSubgroupInput is an input type that accepts GetGroupSubgroupsSubgroupArgs and GetGroupSubgroupsSubgroupOutput values. @@ -7102,34 +8146,62 @@ type GetGroupSubgroupsSubgroupInput interface { } type GetGroupSubgroupsSubgroupArgs struct { - AllowedEmailDomainsList pulumi.StringInput `pulumi:"allowedEmailDomainsList"` - AutoDevopsEnabled pulumi.BoolInput `pulumi:"autoDevopsEnabled"` - AvatarUrl pulumi.StringInput `pulumi:"avatarUrl"` - CreatedAt pulumi.StringInput `pulumi:"createdAt"` - DefaultBranchProtection pulumi.IntInput `pulumi:"defaultBranchProtection"` - Description pulumi.StringInput `pulumi:"description"` - EmailsEnabled pulumi.BoolInput `pulumi:"emailsEnabled"` - FileTemplateProjectId pulumi.IntInput `pulumi:"fileTemplateProjectId"` - FullName pulumi.StringInput `pulumi:"fullName"` - FullPath pulumi.StringInput `pulumi:"fullPath"` - GroupId pulumi.IntInput `pulumi:"groupId"` - IpRestrictionRanges pulumi.StringInput `pulumi:"ipRestrictionRanges"` - LfsEnabled pulumi.BoolInput `pulumi:"lfsEnabled"` - MentionsDisabled pulumi.BoolInput `pulumi:"mentionsDisabled"` - Name pulumi.StringInput `pulumi:"name"` - ParentId pulumi.IntInput `pulumi:"parentId"` - Path pulumi.StringInput `pulumi:"path"` - ProjectCreationLevel pulumi.StringInput `pulumi:"projectCreationLevel"` - RequestAccessEnabled pulumi.BoolInput `pulumi:"requestAccessEnabled"` - RequireTwoFactorAuthentication pulumi.BoolInput `pulumi:"requireTwoFactorAuthentication"` - ShareWithGroupLock pulumi.BoolInput `pulumi:"shareWithGroupLock"` - SharedRunnersSetting pulumi.StringInput `pulumi:"sharedRunnersSetting"` - Statistics pulumi.StringMapInput `pulumi:"statistics"` - SubgroupCreationLevel pulumi.StringInput `pulumi:"subgroupCreationLevel"` - TwoFactorGracePeriod pulumi.IntInput `pulumi:"twoFactorGracePeriod"` - Visibility pulumi.StringInput `pulumi:"visibility"` - WebUrl pulumi.StringInput `pulumi:"webUrl"` - WikiAccessLevel pulumi.StringInput `pulumi:"wikiAccessLevel"` + // A list of email address domains to allow group access. + AllowedEmailDomainsList pulumi.StringInput `pulumi:"allowedEmailDomainsList"` + // Default to Auto DevOps pipeline for all projects within this group. + AutoDevopsEnabled pulumi.BoolInput `pulumi:"autoDevopsEnabled"` + // The URL of the avatar image. + AvatarUrl pulumi.StringInput `pulumi:"avatarUrl"` + // Group created at date. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Whether developers and maintainers can push to the applicable default branch. + DefaultBranchProtection pulumi.IntInput `pulumi:"defaultBranchProtection"` + // The description of the group. + Description pulumi.StringInput `pulumi:"description"` + // Enable email notifications. + EmailsEnabled pulumi.BoolInput `pulumi:"emailsEnabled"` + // The ID of the project that will be used for file templates. + FileTemplateProjectId pulumi.IntInput `pulumi:"fileTemplateProjectId"` + // The full name of the group. + FullName pulumi.StringInput `pulumi:"fullName"` + // The full path of the group. + FullPath pulumi.StringInput `pulumi:"fullPath"` + // The ID of the group. + GroupId pulumi.IntInput `pulumi:"groupId"` + // A list of IP addresses or subnet masks to restrict group access. + IpRestrictionRanges pulumi.StringInput `pulumi:"ipRestrictionRanges"` + // Is LFS enabled for projects in this group. + LfsEnabled pulumi.BoolInput `pulumi:"lfsEnabled"` + // Disable the capability of a group from getting mentioned. + MentionsDisabled pulumi.BoolInput `pulumi:"mentionsDisabled"` + // The name of this group. + Name pulumi.StringInput `pulumi:"name"` + // ID of the parent group. + ParentId pulumi.IntInput `pulumi:"parentId"` + // The path of the group. + Path pulumi.StringInput `pulumi:"path"` + // Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator` + ProjectCreationLevel pulumi.StringInput `pulumi:"projectCreationLevel"` + // Is request for access enabled to the group. + RequestAccessEnabled pulumi.BoolInput `pulumi:"requestAccessEnabled"` + // Require all users in this group to setup Two-factor authentication. + RequireTwoFactorAuthentication pulumi.BoolInput `pulumi:"requireTwoFactorAuthentication"` + // Prevent sharing a project with another group within this group. + ShareWithGroupLock pulumi.BoolInput `pulumi:"shareWithGroupLock"` + // Enable or disable shared runners for a group's subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. + SharedRunnersSetting pulumi.StringInput `pulumi:"sharedRunnersSetting"` + // Group statistics. + Statistics pulumi.StringMapInput `pulumi:"statistics"` + // Allowed to create subgroups. Valid values are: `owner`, `maintainer`. + SubgroupCreationLevel pulumi.StringInput `pulumi:"subgroupCreationLevel"` + // Time before Two-factor authentication is enforced (in hours). + TwoFactorGracePeriod pulumi.IntInput `pulumi:"twoFactorGracePeriod"` + // Limited by visibility `public`, `internal`, or `private`. + Visibility pulumi.StringInput `pulumi:"visibility"` + // Web URL of the group. + WebUrl pulumi.StringInput `pulumi:"webUrl"` + // The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are `disabled`, `private`, `enabled`. + WikiAccessLevel pulumi.StringInput `pulumi:"wikiAccessLevel"` } func (GetGroupSubgroupsSubgroupArgs) ElementType() reflect.Type { @@ -7183,114 +8255,142 @@ func (o GetGroupSubgroupsSubgroupOutput) ToGetGroupSubgroupsSubgroupOutputWithCo return o } +// A list of email address domains to allow group access. func (o GetGroupSubgroupsSubgroupOutput) AllowedEmailDomainsList() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) string { return v.AllowedEmailDomainsList }).(pulumi.StringOutput) } +// Default to Auto DevOps pipeline for all projects within this group. func (o GetGroupSubgroupsSubgroupOutput) AutoDevopsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) bool { return v.AutoDevopsEnabled }).(pulumi.BoolOutput) } +// The URL of the avatar image. func (o GetGroupSubgroupsSubgroupOutput) AvatarUrl() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) string { return v.AvatarUrl }).(pulumi.StringOutput) } +// Group created at date. func (o GetGroupSubgroupsSubgroupOutput) CreatedAt() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) string { return v.CreatedAt }).(pulumi.StringOutput) } +// Whether developers and maintainers can push to the applicable default branch. func (o GetGroupSubgroupsSubgroupOutput) DefaultBranchProtection() pulumi.IntOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) int { return v.DefaultBranchProtection }).(pulumi.IntOutput) } +// The description of the group. func (o GetGroupSubgroupsSubgroupOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) string { return v.Description }).(pulumi.StringOutput) } +// Enable email notifications. func (o GetGroupSubgroupsSubgroupOutput) EmailsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) bool { return v.EmailsEnabled }).(pulumi.BoolOutput) } +// The ID of the project that will be used for file templates. func (o GetGroupSubgroupsSubgroupOutput) FileTemplateProjectId() pulumi.IntOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) int { return v.FileTemplateProjectId }).(pulumi.IntOutput) } +// The full name of the group. func (o GetGroupSubgroupsSubgroupOutput) FullName() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) string { return v.FullName }).(pulumi.StringOutput) } +// The full path of the group. func (o GetGroupSubgroupsSubgroupOutput) FullPath() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) string { return v.FullPath }).(pulumi.StringOutput) } +// The ID of the group. func (o GetGroupSubgroupsSubgroupOutput) GroupId() pulumi.IntOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) int { return v.GroupId }).(pulumi.IntOutput) } +// A list of IP addresses or subnet masks to restrict group access. func (o GetGroupSubgroupsSubgroupOutput) IpRestrictionRanges() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) string { return v.IpRestrictionRanges }).(pulumi.StringOutput) } +// Is LFS enabled for projects in this group. func (o GetGroupSubgroupsSubgroupOutput) LfsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) bool { return v.LfsEnabled }).(pulumi.BoolOutput) } +// Disable the capability of a group from getting mentioned. func (o GetGroupSubgroupsSubgroupOutput) MentionsDisabled() pulumi.BoolOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) bool { return v.MentionsDisabled }).(pulumi.BoolOutput) } +// The name of this group. func (o GetGroupSubgroupsSubgroupOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) string { return v.Name }).(pulumi.StringOutput) } +// ID of the parent group. func (o GetGroupSubgroupsSubgroupOutput) ParentId() pulumi.IntOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) int { return v.ParentId }).(pulumi.IntOutput) } +// The path of the group. func (o GetGroupSubgroupsSubgroupOutput) Path() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) string { return v.Path }).(pulumi.StringOutput) } +// Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator` func (o GetGroupSubgroupsSubgroupOutput) ProjectCreationLevel() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) string { return v.ProjectCreationLevel }).(pulumi.StringOutput) } +// Is request for access enabled to the group. func (o GetGroupSubgroupsSubgroupOutput) RequestAccessEnabled() pulumi.BoolOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) bool { return v.RequestAccessEnabled }).(pulumi.BoolOutput) } +// Require all users in this group to setup Two-factor authentication. func (o GetGroupSubgroupsSubgroupOutput) RequireTwoFactorAuthentication() pulumi.BoolOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) bool { return v.RequireTwoFactorAuthentication }).(pulumi.BoolOutput) } +// Prevent sharing a project with another group within this group. func (o GetGroupSubgroupsSubgroupOutput) ShareWithGroupLock() pulumi.BoolOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) bool { return v.ShareWithGroupLock }).(pulumi.BoolOutput) } +// Enable or disable shared runners for a group's subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. func (o GetGroupSubgroupsSubgroupOutput) SharedRunnersSetting() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) string { return v.SharedRunnersSetting }).(pulumi.StringOutput) } +// Group statistics. func (o GetGroupSubgroupsSubgroupOutput) Statistics() pulumi.StringMapOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) map[string]string { return v.Statistics }).(pulumi.StringMapOutput) } +// Allowed to create subgroups. Valid values are: `owner`, `maintainer`. func (o GetGroupSubgroupsSubgroupOutput) SubgroupCreationLevel() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) string { return v.SubgroupCreationLevel }).(pulumi.StringOutput) } +// Time before Two-factor authentication is enforced (in hours). func (o GetGroupSubgroupsSubgroupOutput) TwoFactorGracePeriod() pulumi.IntOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) int { return v.TwoFactorGracePeriod }).(pulumi.IntOutput) } +// Limited by visibility `public`, `internal`, or `private`. func (o GetGroupSubgroupsSubgroupOutput) Visibility() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) string { return v.Visibility }).(pulumi.StringOutput) } +// Web URL of the group. func (o GetGroupSubgroupsSubgroupOutput) WebUrl() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) string { return v.WebUrl }).(pulumi.StringOutput) } +// The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are `disabled`, `private`, `enabled`. func (o GetGroupSubgroupsSubgroupOutput) WikiAccessLevel() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) string { return v.WikiAccessLevel }).(pulumi.StringOutput) } @@ -7458,7 +8558,9 @@ func (o GetGroupVariablesVariableArrayOutput) Index(i pulumi.IntInput) GetGroupV } type GetGroupsGroup struct { - // Whether developers and maintainers can push to the applicable default branch. + // Whether developers and maintainers can push to the applicable default branch. Will be removed in 19.0. + // + // Deprecated: Will be removed in 19.0. DefaultBranchProtection int `pulumi:"defaultBranchProtection"` // The description of the group. Description string `pulumi:"description"` @@ -7468,21 +8570,23 @@ type GetGroupsGroup struct { FullPath string `pulumi:"fullPath"` // The ID of the group. GroupId int `pulumi:"groupId"` - // Boolean, is LFS enabled for projects in this group. + // Is LFS enabled for projects in this group. LfsEnabled bool `pulumi:"lfsEnabled"` // The name of this group. Name string `pulumi:"name"` - // Integer, ID of the parent group. + // ID of the parent group. ParentId int `pulumi:"parentId"` // The path of the group. Path string `pulumi:"path"` // When enabled, users can not fork projects from this group to external namespaces. PreventForkingOutsideGroup bool `pulumi:"preventForkingOutsideGroup"` - // Boolean, is request for access enabled to the group. + // When enabled, users cannot invite other groups outside of the top-level group’s hierarchy. This option is only available for top-level groups. + PreventSharingGroupsOutsideHierarchy bool `pulumi:"preventSharingGroupsOutsideHierarchy"` + // Is request for access enabled to the group. RequestAccessEnabled bool `pulumi:"requestAccessEnabled"` // The group level registration token to use during runner setup. RunnersToken string `pulumi:"runnersToken"` - // Enable or disable shared runners for a group’s subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. + // Enable or disable shared runners for a group's subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. SharedRunnersSetting string `pulumi:"sharedRunnersSetting"` // Visibility level of the group. Possible values are `private`, `internal`, `public`. VisibilityLevel string `pulumi:"visibilityLevel"` @@ -7504,7 +8608,9 @@ type GetGroupsGroupInput interface { } type GetGroupsGroupArgs struct { - // Whether developers and maintainers can push to the applicable default branch. + // Whether developers and maintainers can push to the applicable default branch. Will be removed in 19.0. + // + // Deprecated: Will be removed in 19.0. DefaultBranchProtection pulumi.IntInput `pulumi:"defaultBranchProtection"` // The description of the group. Description pulumi.StringInput `pulumi:"description"` @@ -7514,21 +8620,23 @@ type GetGroupsGroupArgs struct { FullPath pulumi.StringInput `pulumi:"fullPath"` // The ID of the group. GroupId pulumi.IntInput `pulumi:"groupId"` - // Boolean, is LFS enabled for projects in this group. + // Is LFS enabled for projects in this group. LfsEnabled pulumi.BoolInput `pulumi:"lfsEnabled"` // The name of this group. Name pulumi.StringInput `pulumi:"name"` - // Integer, ID of the parent group. + // ID of the parent group. ParentId pulumi.IntInput `pulumi:"parentId"` // The path of the group. Path pulumi.StringInput `pulumi:"path"` // When enabled, users can not fork projects from this group to external namespaces. PreventForkingOutsideGroup pulumi.BoolInput `pulumi:"preventForkingOutsideGroup"` - // Boolean, is request for access enabled to the group. + // When enabled, users cannot invite other groups outside of the top-level group’s hierarchy. This option is only available for top-level groups. + PreventSharingGroupsOutsideHierarchy pulumi.BoolInput `pulumi:"preventSharingGroupsOutsideHierarchy"` + // Is request for access enabled to the group. RequestAccessEnabled pulumi.BoolInput `pulumi:"requestAccessEnabled"` // The group level registration token to use during runner setup. RunnersToken pulumi.StringInput `pulumi:"runnersToken"` - // Enable or disable shared runners for a group’s subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. + // Enable or disable shared runners for a group's subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. SharedRunnersSetting pulumi.StringInput `pulumi:"sharedRunnersSetting"` // Visibility level of the group. Possible values are `private`, `internal`, `public`. VisibilityLevel pulumi.StringInput `pulumi:"visibilityLevel"` @@ -7589,7 +8697,9 @@ func (o GetGroupsGroupOutput) ToGetGroupsGroupOutputWithContext(ctx context.Cont return o } -// Whether developers and maintainers can push to the applicable default branch. +// Whether developers and maintainers can push to the applicable default branch. Will be removed in 19.0. +// +// Deprecated: Will be removed in 19.0. func (o GetGroupsGroupOutput) DefaultBranchProtection() pulumi.IntOutput { return o.ApplyT(func(v GetGroupsGroup) int { return v.DefaultBranchProtection }).(pulumi.IntOutput) } @@ -7614,7 +8724,7 @@ func (o GetGroupsGroupOutput) GroupId() pulumi.IntOutput { return o.ApplyT(func(v GetGroupsGroup) int { return v.GroupId }).(pulumi.IntOutput) } -// Boolean, is LFS enabled for projects in this group. +// Is LFS enabled for projects in this group. func (o GetGroupsGroupOutput) LfsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v GetGroupsGroup) bool { return v.LfsEnabled }).(pulumi.BoolOutput) } @@ -7624,7 +8734,7 @@ func (o GetGroupsGroupOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v GetGroupsGroup) string { return v.Name }).(pulumi.StringOutput) } -// Integer, ID of the parent group. +// ID of the parent group. func (o GetGroupsGroupOutput) ParentId() pulumi.IntOutput { return o.ApplyT(func(v GetGroupsGroup) int { return v.ParentId }).(pulumi.IntOutput) } @@ -7639,7 +8749,12 @@ func (o GetGroupsGroupOutput) PreventForkingOutsideGroup() pulumi.BoolOutput { return o.ApplyT(func(v GetGroupsGroup) bool { return v.PreventForkingOutsideGroup }).(pulumi.BoolOutput) } -// Boolean, is request for access enabled to the group. +// When enabled, users cannot invite other groups outside of the top-level group’s hierarchy. This option is only available for top-level groups. +func (o GetGroupsGroupOutput) PreventSharingGroupsOutsideHierarchy() pulumi.BoolOutput { + return o.ApplyT(func(v GetGroupsGroup) bool { return v.PreventSharingGroupsOutsideHierarchy }).(pulumi.BoolOutput) +} + +// Is request for access enabled to the group. func (o GetGroupsGroupOutput) RequestAccessEnabled() pulumi.BoolOutput { return o.ApplyT(func(v GetGroupsGroup) bool { return v.RequestAccessEnabled }).(pulumi.BoolOutput) } @@ -7649,7 +8764,7 @@ func (o GetGroupsGroupOutput) RunnersToken() pulumi.StringOutput { return o.ApplyT(func(v GetGroupsGroup) string { return v.RunnersToken }).(pulumi.StringOutput) } -// Enable or disable shared runners for a group’s subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. +// Enable or disable shared runners for a group's subgroups and projects. Valid values are: `enabled`, `disabledAndOverridable`, `disabledAndUnoverridable`, `disabledWithOverride`. func (o GetGroupsGroupOutput) SharedRunnersSetting() pulumi.StringOutput { return o.ApplyT(func(v GetGroupsGroup) string { return v.SharedRunnersSetting }).(pulumi.StringOutput) } @@ -7989,15 +9104,15 @@ type GetInstanceVariablesVariable struct { Description string `pulumi:"description"` // The name of the variable. Key string `pulumi:"key"` - // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`. + // If set to `true`, the value of the variable will be hidden in job logs. Masked bool `pulumi:"masked"` - // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. + // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Protected bool `pulumi:"protected"` - // Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded. + // If set to `true`, the variable will be treated as a raw string. Raw bool `pulumi:"raw"` // The value of the variable. Value string `pulumi:"value"` - // The type of a variable. Valid values are: `envVar`, `file`. Default is `envVar`. + // The type of the variable, either `envVar` or `file`. VariableType string `pulumi:"variableType"` } @@ -8017,15 +9132,15 @@ type GetInstanceVariablesVariableArgs struct { Description pulumi.StringInput `pulumi:"description"` // The name of the variable. Key pulumi.StringInput `pulumi:"key"` - // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`. + // If set to `true`, the value of the variable will be hidden in job logs. Masked pulumi.BoolInput `pulumi:"masked"` - // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. + // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Protected pulumi.BoolInput `pulumi:"protected"` - // Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded. + // If set to `true`, the variable will be treated as a raw string. Raw pulumi.BoolInput `pulumi:"raw"` // The value of the variable. Value pulumi.StringInput `pulumi:"value"` - // The type of a variable. Valid values are: `envVar`, `file`. Default is `envVar`. + // The type of the variable, either `envVar` or `file`. VariableType pulumi.StringInput `pulumi:"variableType"` } @@ -8090,17 +9205,17 @@ func (o GetInstanceVariablesVariableOutput) Key() pulumi.StringOutput { return o.ApplyT(func(v GetInstanceVariablesVariable) string { return v.Key }).(pulumi.StringOutput) } -// If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`. +// If set to `true`, the value of the variable will be hidden in job logs. func (o GetInstanceVariablesVariableOutput) Masked() pulumi.BoolOutput { return o.ApplyT(func(v GetInstanceVariablesVariable) bool { return v.Masked }).(pulumi.BoolOutput) } -// If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. +// If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. func (o GetInstanceVariablesVariableOutput) Protected() pulumi.BoolOutput { return o.ApplyT(func(v GetInstanceVariablesVariable) bool { return v.Protected }).(pulumi.BoolOutput) } -// Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded. +// If set to `true`, the variable will be treated as a raw string. func (o GetInstanceVariablesVariableOutput) Raw() pulumi.BoolOutput { return o.ApplyT(func(v GetInstanceVariablesVariable) bool { return v.Raw }).(pulumi.BoolOutput) } @@ -8110,7 +9225,7 @@ func (o GetInstanceVariablesVariableOutput) Value() pulumi.StringOutput { return o.ApplyT(func(v GetInstanceVariablesVariable) string { return v.Value }).(pulumi.StringOutput) } -// The type of a variable. Valid values are: `envVar`, `file`. Default is `envVar`. +// The type of the variable, either `envVar` or `file`. func (o GetInstanceVariablesVariableOutput) VariableType() pulumi.StringOutput { return o.ApplyT(func(v GetInstanceVariablesVariable) string { return v.VariableType }).(pulumi.StringOutput) } @@ -8214,54 +9329,160 @@ func (o GetMetadataKasOutput) Version() pulumi.StringOutput { return o.ApplyT(func(v GetMetadataKas) string { return v.Version }).(pulumi.StringOutput) } -type GetPipelineScheduleLastPipeline struct { - // The pipeline ID. - Id int `pulumi:"id"` - // The ref of the pipeline. - Ref string `pulumi:"ref"` - // The SHA of the pipeline. - Sha string `pulumi:"sha"` - // The status of pipelines, one of: created, waiting*for*resource, preparing, pending, running, success, failed, canceled, skipped, manual, scheduled. - Status string `pulumi:"status"` +type GetPipelineScheduleInput struct { + // The name of the input. + Name string `pulumi:"name"` + // The value of the input. + Value string `pulumi:"value"` } -// GetPipelineScheduleLastPipelineInput is an input type that accepts GetPipelineScheduleLastPipelineArgs and GetPipelineScheduleLastPipelineOutput values. -// You can construct a concrete instance of `GetPipelineScheduleLastPipelineInput` via: +// GetPipelineScheduleInputInput is an input type that accepts GetPipelineScheduleInputArgs and GetPipelineScheduleInputOutput values. +// You can construct a concrete instance of `GetPipelineScheduleInputInput` via: // -// GetPipelineScheduleLastPipelineArgs{...} -type GetPipelineScheduleLastPipelineInput interface { +// GetPipelineScheduleInputArgs{...} +type GetPipelineScheduleInputInput interface { pulumi.Input - ToGetPipelineScheduleLastPipelineOutput() GetPipelineScheduleLastPipelineOutput - ToGetPipelineScheduleLastPipelineOutputWithContext(context.Context) GetPipelineScheduleLastPipelineOutput + ToGetPipelineScheduleInputOutput() GetPipelineScheduleInputOutput + ToGetPipelineScheduleInputOutputWithContext(context.Context) GetPipelineScheduleInputOutput } -type GetPipelineScheduleLastPipelineArgs struct { - // The pipeline ID. - Id pulumi.IntInput `pulumi:"id"` - // The ref of the pipeline. - Ref pulumi.StringInput `pulumi:"ref"` - // The SHA of the pipeline. - Sha pulumi.StringInput `pulumi:"sha"` - // The status of pipelines, one of: created, waiting*for*resource, preparing, pending, running, success, failed, canceled, skipped, manual, scheduled. - Status pulumi.StringInput `pulumi:"status"` +type GetPipelineScheduleInputArgs struct { + // The name of the input. + Name pulumi.StringInput `pulumi:"name"` + // The value of the input. + Value pulumi.StringInput `pulumi:"value"` } -func (GetPipelineScheduleLastPipelineArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetPipelineScheduleLastPipeline)(nil)).Elem() +func (GetPipelineScheduleInputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPipelineScheduleInput)(nil)).Elem() } -func (i GetPipelineScheduleLastPipelineArgs) ToGetPipelineScheduleLastPipelineOutput() GetPipelineScheduleLastPipelineOutput { - return i.ToGetPipelineScheduleLastPipelineOutputWithContext(context.Background()) +func (i GetPipelineScheduleInputArgs) ToGetPipelineScheduleInputOutput() GetPipelineScheduleInputOutput { + return i.ToGetPipelineScheduleInputOutputWithContext(context.Background()) } -func (i GetPipelineScheduleLastPipelineArgs) ToGetPipelineScheduleLastPipelineOutputWithContext(ctx context.Context) GetPipelineScheduleLastPipelineOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetPipelineScheduleLastPipelineOutput) +func (i GetPipelineScheduleInputArgs) ToGetPipelineScheduleInputOutputWithContext(ctx context.Context) GetPipelineScheduleInputOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPipelineScheduleInputOutput) } -type GetPipelineScheduleLastPipelineOutput struct{ *pulumi.OutputState } +// GetPipelineScheduleInputArrayInput is an input type that accepts GetPipelineScheduleInputArray and GetPipelineScheduleInputArrayOutput values. +// You can construct a concrete instance of `GetPipelineScheduleInputArrayInput` via: +// +// GetPipelineScheduleInputArray{ GetPipelineScheduleInputArgs{...} } +type GetPipelineScheduleInputArrayInput interface { + pulumi.Input -func (GetPipelineScheduleLastPipelineOutput) ElementType() reflect.Type { + ToGetPipelineScheduleInputArrayOutput() GetPipelineScheduleInputArrayOutput + ToGetPipelineScheduleInputArrayOutputWithContext(context.Context) GetPipelineScheduleInputArrayOutput +} + +type GetPipelineScheduleInputArray []GetPipelineScheduleInputInput + +func (GetPipelineScheduleInputArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPipelineScheduleInput)(nil)).Elem() +} + +func (i GetPipelineScheduleInputArray) ToGetPipelineScheduleInputArrayOutput() GetPipelineScheduleInputArrayOutput { + return i.ToGetPipelineScheduleInputArrayOutputWithContext(context.Background()) +} + +func (i GetPipelineScheduleInputArray) ToGetPipelineScheduleInputArrayOutputWithContext(ctx context.Context) GetPipelineScheduleInputArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPipelineScheduleInputArrayOutput) +} + +type GetPipelineScheduleInputOutput struct{ *pulumi.OutputState } + +func (GetPipelineScheduleInputOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPipelineScheduleInput)(nil)).Elem() +} + +func (o GetPipelineScheduleInputOutput) ToGetPipelineScheduleInputOutput() GetPipelineScheduleInputOutput { + return o +} + +func (o GetPipelineScheduleInputOutput) ToGetPipelineScheduleInputOutputWithContext(ctx context.Context) GetPipelineScheduleInputOutput { + return o +} + +// The name of the input. +func (o GetPipelineScheduleInputOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPipelineScheduleInput) string { return v.Name }).(pulumi.StringOutput) +} + +// The value of the input. +func (o GetPipelineScheduleInputOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetPipelineScheduleInput) string { return v.Value }).(pulumi.StringOutput) +} + +type GetPipelineScheduleInputArrayOutput struct{ *pulumi.OutputState } + +func (GetPipelineScheduleInputArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPipelineScheduleInput)(nil)).Elem() +} + +func (o GetPipelineScheduleInputArrayOutput) ToGetPipelineScheduleInputArrayOutput() GetPipelineScheduleInputArrayOutput { + return o +} + +func (o GetPipelineScheduleInputArrayOutput) ToGetPipelineScheduleInputArrayOutputWithContext(ctx context.Context) GetPipelineScheduleInputArrayOutput { + return o +} + +func (o GetPipelineScheduleInputArrayOutput) Index(i pulumi.IntInput) GetPipelineScheduleInputOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPipelineScheduleInput { + return vs[0].([]GetPipelineScheduleInput)[vs[1].(int)] + }).(GetPipelineScheduleInputOutput) +} + +type GetPipelineScheduleLastPipeline struct { + // The pipeline ID. + Id int `pulumi:"id"` + // The ref of the pipeline. + Ref string `pulumi:"ref"` + // The SHA of the pipeline. + Sha string `pulumi:"sha"` + // The status of pipelines, one of: created, waiting*for*resource, preparing, pending, running, success, failed, canceled, skipped, manual, scheduled. + Status string `pulumi:"status"` +} + +// GetPipelineScheduleLastPipelineInput is an input type that accepts GetPipelineScheduleLastPipelineArgs and GetPipelineScheduleLastPipelineOutput values. +// You can construct a concrete instance of `GetPipelineScheduleLastPipelineInput` via: +// +// GetPipelineScheduleLastPipelineArgs{...} +type GetPipelineScheduleLastPipelineInput interface { + pulumi.Input + + ToGetPipelineScheduleLastPipelineOutput() GetPipelineScheduleLastPipelineOutput + ToGetPipelineScheduleLastPipelineOutputWithContext(context.Context) GetPipelineScheduleLastPipelineOutput +} + +type GetPipelineScheduleLastPipelineArgs struct { + // The pipeline ID. + Id pulumi.IntInput `pulumi:"id"` + // The ref of the pipeline. + Ref pulumi.StringInput `pulumi:"ref"` + // The SHA of the pipeline. + Sha pulumi.StringInput `pulumi:"sha"` + // The status of pipelines, one of: created, waiting*for*resource, preparing, pending, running, success, failed, canceled, skipped, manual, scheduled. + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetPipelineScheduleLastPipelineArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPipelineScheduleLastPipeline)(nil)).Elem() +} + +func (i GetPipelineScheduleLastPipelineArgs) ToGetPipelineScheduleLastPipelineOutput() GetPipelineScheduleLastPipelineOutput { + return i.ToGetPipelineScheduleLastPipelineOutputWithContext(context.Background()) +} + +func (i GetPipelineScheduleLastPipelineArgs) ToGetPipelineScheduleLastPipelineOutputWithContext(ctx context.Context) GetPipelineScheduleLastPipelineOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPipelineScheduleLastPipelineOutput) +} + +type GetPipelineScheduleLastPipelineOutput struct{ *pulumi.OutputState } + +func (GetPipelineScheduleLastPipelineOutput) ElementType() reflect.Type { return reflect.TypeOf((*GetPipelineScheduleLastPipeline)(nil)).Elem() } @@ -8780,10 +10001,348 @@ func (o GetPipelineSchedulesPipelineScheduleOwnerOutput) WebUrl() pulumi.StringO return o.ApplyT(func(v GetPipelineSchedulesPipelineScheduleOwner) string { return v.WebUrl }).(pulumi.StringOutput) } +type GetProjectAccessTokensAccessToken struct { + AccessLevel string `pulumi:"accessLevel"` + Active bool `pulumi:"active"` + CreatedAt string `pulumi:"createdAt"` + Description string `pulumi:"description"` + ExpiresAt string `pulumi:"expiresAt"` + Id string `pulumi:"id"` + LastUsedAt string `pulumi:"lastUsedAt"` + Name string `pulumi:"name"` + Project string `pulumi:"project"` + Revoked bool `pulumi:"revoked"` + Scopes []string `pulumi:"scopes"` + UserId int `pulumi:"userId"` +} + +// GetProjectAccessTokensAccessTokenInput is an input type that accepts GetProjectAccessTokensAccessTokenArgs and GetProjectAccessTokensAccessTokenOutput values. +// You can construct a concrete instance of `GetProjectAccessTokensAccessTokenInput` via: +// +// GetProjectAccessTokensAccessTokenArgs{...} +type GetProjectAccessTokensAccessTokenInput interface { + pulumi.Input + + ToGetProjectAccessTokensAccessTokenOutput() GetProjectAccessTokensAccessTokenOutput + ToGetProjectAccessTokensAccessTokenOutputWithContext(context.Context) GetProjectAccessTokensAccessTokenOutput +} + +type GetProjectAccessTokensAccessTokenArgs struct { + AccessLevel pulumi.StringInput `pulumi:"accessLevel"` + Active pulumi.BoolInput `pulumi:"active"` + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + Description pulumi.StringInput `pulumi:"description"` + ExpiresAt pulumi.StringInput `pulumi:"expiresAt"` + Id pulumi.StringInput `pulumi:"id"` + LastUsedAt pulumi.StringInput `pulumi:"lastUsedAt"` + Name pulumi.StringInput `pulumi:"name"` + Project pulumi.StringInput `pulumi:"project"` + Revoked pulumi.BoolInput `pulumi:"revoked"` + Scopes pulumi.StringArrayInput `pulumi:"scopes"` + UserId pulumi.IntInput `pulumi:"userId"` +} + +func (GetProjectAccessTokensAccessTokenArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectAccessTokensAccessToken)(nil)).Elem() +} + +func (i GetProjectAccessTokensAccessTokenArgs) ToGetProjectAccessTokensAccessTokenOutput() GetProjectAccessTokensAccessTokenOutput { + return i.ToGetProjectAccessTokensAccessTokenOutputWithContext(context.Background()) +} + +func (i GetProjectAccessTokensAccessTokenArgs) ToGetProjectAccessTokensAccessTokenOutputWithContext(ctx context.Context) GetProjectAccessTokensAccessTokenOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectAccessTokensAccessTokenOutput) +} + +// GetProjectAccessTokensAccessTokenArrayInput is an input type that accepts GetProjectAccessTokensAccessTokenArray and GetProjectAccessTokensAccessTokenArrayOutput values. +// You can construct a concrete instance of `GetProjectAccessTokensAccessTokenArrayInput` via: +// +// GetProjectAccessTokensAccessTokenArray{ GetProjectAccessTokensAccessTokenArgs{...} } +type GetProjectAccessTokensAccessTokenArrayInput interface { + pulumi.Input + + ToGetProjectAccessTokensAccessTokenArrayOutput() GetProjectAccessTokensAccessTokenArrayOutput + ToGetProjectAccessTokensAccessTokenArrayOutputWithContext(context.Context) GetProjectAccessTokensAccessTokenArrayOutput +} + +type GetProjectAccessTokensAccessTokenArray []GetProjectAccessTokensAccessTokenInput + +func (GetProjectAccessTokensAccessTokenArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectAccessTokensAccessToken)(nil)).Elem() +} + +func (i GetProjectAccessTokensAccessTokenArray) ToGetProjectAccessTokensAccessTokenArrayOutput() GetProjectAccessTokensAccessTokenArrayOutput { + return i.ToGetProjectAccessTokensAccessTokenArrayOutputWithContext(context.Background()) +} + +func (i GetProjectAccessTokensAccessTokenArray) ToGetProjectAccessTokensAccessTokenArrayOutputWithContext(ctx context.Context) GetProjectAccessTokensAccessTokenArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectAccessTokensAccessTokenArrayOutput) +} + +type GetProjectAccessTokensAccessTokenOutput struct{ *pulumi.OutputState } + +func (GetProjectAccessTokensAccessTokenOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectAccessTokensAccessToken)(nil)).Elem() +} + +func (o GetProjectAccessTokensAccessTokenOutput) ToGetProjectAccessTokensAccessTokenOutput() GetProjectAccessTokensAccessTokenOutput { + return o +} + +func (o GetProjectAccessTokensAccessTokenOutput) ToGetProjectAccessTokensAccessTokenOutputWithContext(ctx context.Context) GetProjectAccessTokensAccessTokenOutput { + return o +} + +func (o GetProjectAccessTokensAccessTokenOutput) AccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectAccessTokensAccessToken) string { return v.AccessLevel }).(pulumi.StringOutput) +} + +func (o GetProjectAccessTokensAccessTokenOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectAccessTokensAccessToken) bool { return v.Active }).(pulumi.BoolOutput) +} + +func (o GetProjectAccessTokensAccessTokenOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectAccessTokensAccessToken) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o GetProjectAccessTokensAccessTokenOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectAccessTokensAccessToken) string { return v.Description }).(pulumi.StringOutput) +} + +func (o GetProjectAccessTokensAccessTokenOutput) ExpiresAt() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectAccessTokensAccessToken) string { return v.ExpiresAt }).(pulumi.StringOutput) +} + +func (o GetProjectAccessTokensAccessTokenOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectAccessTokensAccessToken) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetProjectAccessTokensAccessTokenOutput) LastUsedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectAccessTokensAccessToken) string { return v.LastUsedAt }).(pulumi.StringOutput) +} + +func (o GetProjectAccessTokensAccessTokenOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectAccessTokensAccessToken) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetProjectAccessTokensAccessTokenOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectAccessTokensAccessToken) string { return v.Project }).(pulumi.StringOutput) +} + +func (o GetProjectAccessTokensAccessTokenOutput) Revoked() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectAccessTokensAccessToken) bool { return v.Revoked }).(pulumi.BoolOutput) +} + +func (o GetProjectAccessTokensAccessTokenOutput) Scopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetProjectAccessTokensAccessToken) []string { return v.Scopes }).(pulumi.StringArrayOutput) +} + +func (o GetProjectAccessTokensAccessTokenOutput) UserId() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectAccessTokensAccessToken) int { return v.UserId }).(pulumi.IntOutput) +} + +type GetProjectAccessTokensAccessTokenArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectAccessTokensAccessTokenArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectAccessTokensAccessToken)(nil)).Elem() +} + +func (o GetProjectAccessTokensAccessTokenArrayOutput) ToGetProjectAccessTokensAccessTokenArrayOutput() GetProjectAccessTokensAccessTokenArrayOutput { + return o +} + +func (o GetProjectAccessTokensAccessTokenArrayOutput) ToGetProjectAccessTokensAccessTokenArrayOutputWithContext(ctx context.Context) GetProjectAccessTokensAccessTokenArrayOutput { + return o +} + +func (o GetProjectAccessTokensAccessTokenArrayOutput) Index(i pulumi.IntInput) GetProjectAccessTokensAccessTokenOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectAccessTokensAccessToken { + return vs[0].([]GetProjectAccessTokensAccessToken)[vs[1].(int)] + }).(GetProjectAccessTokensAccessTokenOutput) +} + +type GetProjectApprovalRulesApprovalRule struct { + // If true, applies the rule to all protected branches, ignoring the protected branches attribute. + AppliesToAllProtectedBranches bool `pulumi:"appliesToAllProtectedBranches"` + // The number of approvals required for this rule. + ApprovalsRequired int `pulumi:"approvalsRequired"` + // List of all approver IDs that are eligible to approve this rule. + EligibleApproverIds []int `pulumi:"eligibleApproverIds"` + // List of group IDs that are eligible to approve this rule. + GroupIds []int `pulumi:"groupIds"` + // The ID of the approval rule. + Id int `pulumi:"id"` + // The name of the approval rule. + Name string `pulumi:"name"` + // List of protected branch IDs that this rule applies to. + ProtectedBranchIds []int `pulumi:"protectedBranchIds"` + // The report type. Required when the rule type is `reportApprover`. The supported report types are `licenseScanning` and `codeCoverage`. + ReportType string `pulumi:"reportType"` + // The type of the approval rule. Can be `anyApprover`, `regular` or `reportApprover`. + RuleType string `pulumi:"ruleType"` + // List of user IDs that are eligible to approve this rule. + UserIds []int `pulumi:"userIds"` +} + +// GetProjectApprovalRulesApprovalRuleInput is an input type that accepts GetProjectApprovalRulesApprovalRuleArgs and GetProjectApprovalRulesApprovalRuleOutput values. +// You can construct a concrete instance of `GetProjectApprovalRulesApprovalRuleInput` via: +// +// GetProjectApprovalRulesApprovalRuleArgs{...} +type GetProjectApprovalRulesApprovalRuleInput interface { + pulumi.Input + + ToGetProjectApprovalRulesApprovalRuleOutput() GetProjectApprovalRulesApprovalRuleOutput + ToGetProjectApprovalRulesApprovalRuleOutputWithContext(context.Context) GetProjectApprovalRulesApprovalRuleOutput +} + +type GetProjectApprovalRulesApprovalRuleArgs struct { + // If true, applies the rule to all protected branches, ignoring the protected branches attribute. + AppliesToAllProtectedBranches pulumi.BoolInput `pulumi:"appliesToAllProtectedBranches"` + // The number of approvals required for this rule. + ApprovalsRequired pulumi.IntInput `pulumi:"approvalsRequired"` + // List of all approver IDs that are eligible to approve this rule. + EligibleApproverIds pulumi.IntArrayInput `pulumi:"eligibleApproverIds"` + // List of group IDs that are eligible to approve this rule. + GroupIds pulumi.IntArrayInput `pulumi:"groupIds"` + // The ID of the approval rule. + Id pulumi.IntInput `pulumi:"id"` + // The name of the approval rule. + Name pulumi.StringInput `pulumi:"name"` + // List of protected branch IDs that this rule applies to. + ProtectedBranchIds pulumi.IntArrayInput `pulumi:"protectedBranchIds"` + // The report type. Required when the rule type is `reportApprover`. The supported report types are `licenseScanning` and `codeCoverage`. + ReportType pulumi.StringInput `pulumi:"reportType"` + // The type of the approval rule. Can be `anyApprover`, `regular` or `reportApprover`. + RuleType pulumi.StringInput `pulumi:"ruleType"` + // List of user IDs that are eligible to approve this rule. + UserIds pulumi.IntArrayInput `pulumi:"userIds"` +} + +func (GetProjectApprovalRulesApprovalRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectApprovalRulesApprovalRule)(nil)).Elem() +} + +func (i GetProjectApprovalRulesApprovalRuleArgs) ToGetProjectApprovalRulesApprovalRuleOutput() GetProjectApprovalRulesApprovalRuleOutput { + return i.ToGetProjectApprovalRulesApprovalRuleOutputWithContext(context.Background()) +} + +func (i GetProjectApprovalRulesApprovalRuleArgs) ToGetProjectApprovalRulesApprovalRuleOutputWithContext(ctx context.Context) GetProjectApprovalRulesApprovalRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectApprovalRulesApprovalRuleOutput) +} + +// GetProjectApprovalRulesApprovalRuleArrayInput is an input type that accepts GetProjectApprovalRulesApprovalRuleArray and GetProjectApprovalRulesApprovalRuleArrayOutput values. +// You can construct a concrete instance of `GetProjectApprovalRulesApprovalRuleArrayInput` via: +// +// GetProjectApprovalRulesApprovalRuleArray{ GetProjectApprovalRulesApprovalRuleArgs{...} } +type GetProjectApprovalRulesApprovalRuleArrayInput interface { + pulumi.Input + + ToGetProjectApprovalRulesApprovalRuleArrayOutput() GetProjectApprovalRulesApprovalRuleArrayOutput + ToGetProjectApprovalRulesApprovalRuleArrayOutputWithContext(context.Context) GetProjectApprovalRulesApprovalRuleArrayOutput +} + +type GetProjectApprovalRulesApprovalRuleArray []GetProjectApprovalRulesApprovalRuleInput + +func (GetProjectApprovalRulesApprovalRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectApprovalRulesApprovalRule)(nil)).Elem() +} + +func (i GetProjectApprovalRulesApprovalRuleArray) ToGetProjectApprovalRulesApprovalRuleArrayOutput() GetProjectApprovalRulesApprovalRuleArrayOutput { + return i.ToGetProjectApprovalRulesApprovalRuleArrayOutputWithContext(context.Background()) +} + +func (i GetProjectApprovalRulesApprovalRuleArray) ToGetProjectApprovalRulesApprovalRuleArrayOutputWithContext(ctx context.Context) GetProjectApprovalRulesApprovalRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectApprovalRulesApprovalRuleArrayOutput) +} + +type GetProjectApprovalRulesApprovalRuleOutput struct{ *pulumi.OutputState } + +func (GetProjectApprovalRulesApprovalRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectApprovalRulesApprovalRule)(nil)).Elem() +} + +func (o GetProjectApprovalRulesApprovalRuleOutput) ToGetProjectApprovalRulesApprovalRuleOutput() GetProjectApprovalRulesApprovalRuleOutput { + return o +} + +func (o GetProjectApprovalRulesApprovalRuleOutput) ToGetProjectApprovalRulesApprovalRuleOutputWithContext(ctx context.Context) GetProjectApprovalRulesApprovalRuleOutput { + return o +} + +// If true, applies the rule to all protected branches, ignoring the protected branches attribute. +func (o GetProjectApprovalRulesApprovalRuleOutput) AppliesToAllProtectedBranches() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectApprovalRulesApprovalRule) bool { return v.AppliesToAllProtectedBranches }).(pulumi.BoolOutput) +} + +// The number of approvals required for this rule. +func (o GetProjectApprovalRulesApprovalRuleOutput) ApprovalsRequired() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectApprovalRulesApprovalRule) int { return v.ApprovalsRequired }).(pulumi.IntOutput) +} + +// List of all approver IDs that are eligible to approve this rule. +func (o GetProjectApprovalRulesApprovalRuleOutput) EligibleApproverIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetProjectApprovalRulesApprovalRule) []int { return v.EligibleApproverIds }).(pulumi.IntArrayOutput) +} + +// List of group IDs that are eligible to approve this rule. +func (o GetProjectApprovalRulesApprovalRuleOutput) GroupIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetProjectApprovalRulesApprovalRule) []int { return v.GroupIds }).(pulumi.IntArrayOutput) +} + +// The ID of the approval rule. +func (o GetProjectApprovalRulesApprovalRuleOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectApprovalRulesApprovalRule) int { return v.Id }).(pulumi.IntOutput) +} + +// The name of the approval rule. +func (o GetProjectApprovalRulesApprovalRuleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectApprovalRulesApprovalRule) string { return v.Name }).(pulumi.StringOutput) +} + +// List of protected branch IDs that this rule applies to. +func (o GetProjectApprovalRulesApprovalRuleOutput) ProtectedBranchIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetProjectApprovalRulesApprovalRule) []int { return v.ProtectedBranchIds }).(pulumi.IntArrayOutput) +} + +// The report type. Required when the rule type is `reportApprover`. The supported report types are `licenseScanning` and `codeCoverage`. +func (o GetProjectApprovalRulesApprovalRuleOutput) ReportType() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectApprovalRulesApprovalRule) string { return v.ReportType }).(pulumi.StringOutput) +} + +// The type of the approval rule. Can be `anyApprover`, `regular` or `reportApprover`. +func (o GetProjectApprovalRulesApprovalRuleOutput) RuleType() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectApprovalRulesApprovalRule) string { return v.RuleType }).(pulumi.StringOutput) +} + +// List of user IDs that are eligible to approve this rule. +func (o GetProjectApprovalRulesApprovalRuleOutput) UserIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetProjectApprovalRulesApprovalRule) []int { return v.UserIds }).(pulumi.IntArrayOutput) +} + +type GetProjectApprovalRulesApprovalRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectApprovalRulesApprovalRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectApprovalRulesApprovalRule)(nil)).Elem() +} + +func (o GetProjectApprovalRulesApprovalRuleArrayOutput) ToGetProjectApprovalRulesApprovalRuleArrayOutput() GetProjectApprovalRulesApprovalRuleArrayOutput { + return o +} + +func (o GetProjectApprovalRulesApprovalRuleArrayOutput) ToGetProjectApprovalRulesApprovalRuleArrayOutputWithContext(ctx context.Context) GetProjectApprovalRulesApprovalRuleArrayOutput { + return o +} + +func (o GetProjectApprovalRulesApprovalRuleArrayOutput) Index(i pulumi.IntInput) GetProjectApprovalRulesApprovalRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectApprovalRulesApprovalRule { + return vs[0].([]GetProjectApprovalRulesApprovalRule)[vs[1].(int)] + }).(GetProjectApprovalRulesApprovalRuleOutput) +} + type GetProjectBranchesBranch struct { // Bool, true if you can push to the branch. CanPush bool `pulumi:"canPush"` - // The commit associated with this branch. + // The commit associated with the branch ref. Commits []GetProjectBranchesBranchCommit `pulumi:"commits"` // Bool, true if branch is the default branch for the project. Default bool `pulumi:"default"` @@ -8815,7 +10374,7 @@ type GetProjectBranchesBranchInput interface { type GetProjectBranchesBranchArgs struct { // Bool, true if you can push to the branch. CanPush pulumi.BoolInput `pulumi:"canPush"` - // The commit associated with this branch. + // The commit associated with the branch ref. Commits GetProjectBranchesBranchCommitArrayInput `pulumi:"commits"` // Bool, true if branch is the default branch for the project. Default pulumi.BoolInput `pulumi:"default"` @@ -8889,7 +10448,7 @@ func (o GetProjectBranchesBranchOutput) CanPush() pulumi.BoolOutput { return o.ApplyT(func(v GetProjectBranchesBranch) bool { return v.CanPush }).(pulumi.BoolOutput) } -// The commit associated with this branch. +// The commit associated with the branch ref. func (o GetProjectBranchesBranchOutput) Commits() GetProjectBranchesBranchCommitArrayOutput { return o.ApplyT(func(v GetProjectBranchesBranch) []GetProjectBranchesBranchCommit { return v.Commits }).(GetProjectBranchesBranchCommitArrayOutput) } @@ -9144,10 +10703,6 @@ type GetProjectContainerExpirationPolicy struct { // The number of images to keep. KeepN int `pulumi:"keepN"` // The regular expression to match image names to delete. - // - // Deprecated: `nameRegex` has been deprecated. Use `nameRegexDelete` instead. - NameRegex string `pulumi:"nameRegex"` - // The regular expression to match image names to delete. NameRegexDelete string `pulumi:"nameRegexDelete"` // The regular expression to match image names to keep. NameRegexKeep string `pulumi:"nameRegexKeep"` @@ -9176,10 +10731,6 @@ type GetProjectContainerExpirationPolicyArgs struct { // The number of images to keep. KeepN pulumi.IntInput `pulumi:"keepN"` // The regular expression to match image names to delete. - // - // Deprecated: `nameRegex` has been deprecated. Use `nameRegexDelete` instead. - NameRegex pulumi.StringInput `pulumi:"nameRegex"` - // The regular expression to match image names to delete. NameRegexDelete pulumi.StringInput `pulumi:"nameRegexDelete"` // The regular expression to match image names to keep. NameRegexKeep pulumi.StringInput `pulumi:"nameRegexKeep"` @@ -9255,13 +10806,6 @@ func (o GetProjectContainerExpirationPolicyOutput) KeepN() pulumi.IntOutput { return o.ApplyT(func(v GetProjectContainerExpirationPolicy) int { return v.KeepN }).(pulumi.IntOutput) } -// The regular expression to match image names to delete. -// -// Deprecated: `nameRegex` has been deprecated. Use `nameRegexDelete` instead. -func (o GetProjectContainerExpirationPolicyOutput) NameRegex() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectContainerExpirationPolicy) string { return v.NameRegex }).(pulumi.StringOutput) -} - // The regular expression to match image names to delete. func (o GetProjectContainerExpirationPolicyOutput) NameRegexDelete() pulumi.StringOutput { return o.ApplyT(func(v GetProjectContainerExpirationPolicy) string { return v.NameRegexDelete }).(pulumi.StringOutput) @@ -9517,6 +11061,8 @@ func (o GetProjectEnvironmentsEnvironmentArrayOutput) Index(i pulumi.IntInput) G } type GetProjectHooksHook struct { + // Filter push events by branch. + BranchFilterStrategy string `pulumi:"branchFilterStrategy"` // Invoke the hook for confidential issues events. ConfidentialIssuesEvents bool `pulumi:"confidentialIssuesEvents"` // Invoke the hook for confidential notes events. @@ -9525,6 +11071,8 @@ type GetProjectHooksHook struct { CustomWebhookTemplate string `pulumi:"customWebhookTemplate"` // Invoke the hook for deployment events. DeploymentEvents bool `pulumi:"deploymentEvents"` + // Invoke the hook for emoji events. + EmojiEvents bool `pulumi:"emojiEvents"` // Enable ssl verification when invoking the hook. EnableSslVerification bool `pulumi:"enableSslVerification"` // The id of the project hook. @@ -9551,10 +11099,14 @@ type GetProjectHooksHook struct { ReleasesEvents bool `pulumi:"releasesEvents"` // Invoke the hook for tag push events. TagPushEvents bool `pulumi:"tagPushEvents"` - // A token to present when invoking the hook. The token is not available for imported resources. + // A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank. Will be removed in 19.0. + // + // Deprecated: The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. Token string `pulumi:"token"` // The url of the hook to invoke. Url string `pulumi:"url"` + // Invoke the hook for vulnerability events. + VulnerabilityEvents bool `pulumi:"vulnerabilityEvents"` // Invoke the hook for wiki page events. WikiPageEvents bool `pulumi:"wikiPageEvents"` } @@ -9571,6 +11123,8 @@ type GetProjectHooksHookInput interface { } type GetProjectHooksHookArgs struct { + // Filter push events by branch. + BranchFilterStrategy pulumi.StringInput `pulumi:"branchFilterStrategy"` // Invoke the hook for confidential issues events. ConfidentialIssuesEvents pulumi.BoolInput `pulumi:"confidentialIssuesEvents"` // Invoke the hook for confidential notes events. @@ -9579,6 +11133,8 @@ type GetProjectHooksHookArgs struct { CustomWebhookTemplate pulumi.StringInput `pulumi:"customWebhookTemplate"` // Invoke the hook for deployment events. DeploymentEvents pulumi.BoolInput `pulumi:"deploymentEvents"` + // Invoke the hook for emoji events. + EmojiEvents pulumi.BoolInput `pulumi:"emojiEvents"` // Enable ssl verification when invoking the hook. EnableSslVerification pulumi.BoolInput `pulumi:"enableSslVerification"` // The id of the project hook. @@ -9605,10 +11161,14 @@ type GetProjectHooksHookArgs struct { ReleasesEvents pulumi.BoolInput `pulumi:"releasesEvents"` // Invoke the hook for tag push events. TagPushEvents pulumi.BoolInput `pulumi:"tagPushEvents"` - // A token to present when invoking the hook. The token is not available for imported resources. + // A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank. Will be removed in 19.0. + // + // Deprecated: The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. Token pulumi.StringInput `pulumi:"token"` // The url of the hook to invoke. Url pulumi.StringInput `pulumi:"url"` + // Invoke the hook for vulnerability events. + VulnerabilityEvents pulumi.BoolInput `pulumi:"vulnerabilityEvents"` // Invoke the hook for wiki page events. WikiPageEvents pulumi.BoolInput `pulumi:"wikiPageEvents"` } @@ -9664,6 +11224,11 @@ func (o GetProjectHooksHookOutput) ToGetProjectHooksHookOutputWithContext(ctx co return o } +// Filter push events by branch. +func (o GetProjectHooksHookOutput) BranchFilterStrategy() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectHooksHook) string { return v.BranchFilterStrategy }).(pulumi.StringOutput) +} + // Invoke the hook for confidential issues events. func (o GetProjectHooksHookOutput) ConfidentialIssuesEvents() pulumi.BoolOutput { return o.ApplyT(func(v GetProjectHooksHook) bool { return v.ConfidentialIssuesEvents }).(pulumi.BoolOutput) @@ -9684,6 +11249,11 @@ func (o GetProjectHooksHookOutput) DeploymentEvents() pulumi.BoolOutput { return o.ApplyT(func(v GetProjectHooksHook) bool { return v.DeploymentEvents }).(pulumi.BoolOutput) } +// Invoke the hook for emoji events. +func (o GetProjectHooksHookOutput) EmojiEvents() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectHooksHook) bool { return v.EmojiEvents }).(pulumi.BoolOutput) +} + // Enable ssl verification when invoking the hook. func (o GetProjectHooksHookOutput) EnableSslVerification() pulumi.BoolOutput { return o.ApplyT(func(v GetProjectHooksHook) bool { return v.EnableSslVerification }).(pulumi.BoolOutput) @@ -9749,7 +11319,9 @@ func (o GetProjectHooksHookOutput) TagPushEvents() pulumi.BoolOutput { return o.ApplyT(func(v GetProjectHooksHook) bool { return v.TagPushEvents }).(pulumi.BoolOutput) } -// A token to present when invoking the hook. The token is not available for imported resources. +// A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank. Will be removed in 19.0. +// +// Deprecated: The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0. func (o GetProjectHooksHookOutput) Token() pulumi.StringOutput { return o.ApplyT(func(v GetProjectHooksHook) string { return v.Token }).(pulumi.StringOutput) } @@ -9759,6 +11331,11 @@ func (o GetProjectHooksHookOutput) Url() pulumi.StringOutput { return o.ApplyT(func(v GetProjectHooksHook) string { return v.Url }).(pulumi.StringOutput) } +// Invoke the hook for vulnerability events. +func (o GetProjectHooksHookOutput) VulnerabilityEvents() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectHooksHook) bool { return v.VulnerabilityEvents }).(pulumi.BoolOutput) +} + // Invoke the hook for wiki page events. func (o GetProjectHooksHookOutput) WikiPageEvents() pulumi.BoolOutput { return o.ApplyT(func(v GetProjectHooksHook) bool { return v.WikiPageEvents }).(pulumi.BoolOutput) @@ -9784,6 +11361,333 @@ func (o GetProjectHooksHookArrayOutput) Index(i pulumi.IntInput) GetProjectHooks }).(GetProjectHooksHookOutput) } +type GetProjectIssueLabelEventsEvent struct { + // The action performed on the label (add, remove). + Action string `pulumi:"action"` + // The date and time when the label event was created. + CreatedAt string `pulumi:"createdAt"` + // The ID of the label event. + Id int `pulumi:"id"` + // The label that was added or removed. + Label GetProjectIssueLabelEventsEventLabel `pulumi:"label"` + // The ID of the resource associated with the label event. + ResourceId int `pulumi:"resourceId"` + // The type of the resource associated with the label event. + ResourceType string `pulumi:"resourceType"` + // The user who performed the action. + User GetProjectIssueLabelEventsEventUser `pulumi:"user"` +} + +// GetProjectIssueLabelEventsEventInput is an input type that accepts GetProjectIssueLabelEventsEventArgs and GetProjectIssueLabelEventsEventOutput values. +// You can construct a concrete instance of `GetProjectIssueLabelEventsEventInput` via: +// +// GetProjectIssueLabelEventsEventArgs{...} +type GetProjectIssueLabelEventsEventInput interface { + pulumi.Input + + ToGetProjectIssueLabelEventsEventOutput() GetProjectIssueLabelEventsEventOutput + ToGetProjectIssueLabelEventsEventOutputWithContext(context.Context) GetProjectIssueLabelEventsEventOutput +} + +type GetProjectIssueLabelEventsEventArgs struct { + // The action performed on the label (add, remove). + Action pulumi.StringInput `pulumi:"action"` + // The date and time when the label event was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The ID of the label event. + Id pulumi.IntInput `pulumi:"id"` + // The label that was added or removed. + Label GetProjectIssueLabelEventsEventLabelInput `pulumi:"label"` + // The ID of the resource associated with the label event. + ResourceId pulumi.IntInput `pulumi:"resourceId"` + // The type of the resource associated with the label event. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The user who performed the action. + User GetProjectIssueLabelEventsEventUserInput `pulumi:"user"` +} + +func (GetProjectIssueLabelEventsEventArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectIssueLabelEventsEvent)(nil)).Elem() +} + +func (i GetProjectIssueLabelEventsEventArgs) ToGetProjectIssueLabelEventsEventOutput() GetProjectIssueLabelEventsEventOutput { + return i.ToGetProjectIssueLabelEventsEventOutputWithContext(context.Background()) +} + +func (i GetProjectIssueLabelEventsEventArgs) ToGetProjectIssueLabelEventsEventOutputWithContext(ctx context.Context) GetProjectIssueLabelEventsEventOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectIssueLabelEventsEventOutput) +} + +// GetProjectIssueLabelEventsEventArrayInput is an input type that accepts GetProjectIssueLabelEventsEventArray and GetProjectIssueLabelEventsEventArrayOutput values. +// You can construct a concrete instance of `GetProjectIssueLabelEventsEventArrayInput` via: +// +// GetProjectIssueLabelEventsEventArray{ GetProjectIssueLabelEventsEventArgs{...} } +type GetProjectIssueLabelEventsEventArrayInput interface { + pulumi.Input + + ToGetProjectIssueLabelEventsEventArrayOutput() GetProjectIssueLabelEventsEventArrayOutput + ToGetProjectIssueLabelEventsEventArrayOutputWithContext(context.Context) GetProjectIssueLabelEventsEventArrayOutput +} + +type GetProjectIssueLabelEventsEventArray []GetProjectIssueLabelEventsEventInput + +func (GetProjectIssueLabelEventsEventArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectIssueLabelEventsEvent)(nil)).Elem() +} + +func (i GetProjectIssueLabelEventsEventArray) ToGetProjectIssueLabelEventsEventArrayOutput() GetProjectIssueLabelEventsEventArrayOutput { + return i.ToGetProjectIssueLabelEventsEventArrayOutputWithContext(context.Background()) +} + +func (i GetProjectIssueLabelEventsEventArray) ToGetProjectIssueLabelEventsEventArrayOutputWithContext(ctx context.Context) GetProjectIssueLabelEventsEventArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectIssueLabelEventsEventArrayOutput) +} + +type GetProjectIssueLabelEventsEventOutput struct{ *pulumi.OutputState } + +func (GetProjectIssueLabelEventsEventOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectIssueLabelEventsEvent)(nil)).Elem() +} + +func (o GetProjectIssueLabelEventsEventOutput) ToGetProjectIssueLabelEventsEventOutput() GetProjectIssueLabelEventsEventOutput { + return o +} + +func (o GetProjectIssueLabelEventsEventOutput) ToGetProjectIssueLabelEventsEventOutputWithContext(ctx context.Context) GetProjectIssueLabelEventsEventOutput { + return o +} + +// The action performed on the label (add, remove). +func (o GetProjectIssueLabelEventsEventOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEvent) string { return v.Action }).(pulumi.StringOutput) +} + +// The date and time when the label event was created. +func (o GetProjectIssueLabelEventsEventOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEvent) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The ID of the label event. +func (o GetProjectIssueLabelEventsEventOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEvent) int { return v.Id }).(pulumi.IntOutput) +} + +// The label that was added or removed. +func (o GetProjectIssueLabelEventsEventOutput) Label() GetProjectIssueLabelEventsEventLabelOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEvent) GetProjectIssueLabelEventsEventLabel { return v.Label }).(GetProjectIssueLabelEventsEventLabelOutput) +} + +// The ID of the resource associated with the label event. +func (o GetProjectIssueLabelEventsEventOutput) ResourceId() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEvent) int { return v.ResourceId }).(pulumi.IntOutput) +} + +// The type of the resource associated with the label event. +func (o GetProjectIssueLabelEventsEventOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEvent) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The user who performed the action. +func (o GetProjectIssueLabelEventsEventOutput) User() GetProjectIssueLabelEventsEventUserOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEvent) GetProjectIssueLabelEventsEventUser { return v.User }).(GetProjectIssueLabelEventsEventUserOutput) +} + +type GetProjectIssueLabelEventsEventArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectIssueLabelEventsEventArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectIssueLabelEventsEvent)(nil)).Elem() +} + +func (o GetProjectIssueLabelEventsEventArrayOutput) ToGetProjectIssueLabelEventsEventArrayOutput() GetProjectIssueLabelEventsEventArrayOutput { + return o +} + +func (o GetProjectIssueLabelEventsEventArrayOutput) ToGetProjectIssueLabelEventsEventArrayOutputWithContext(ctx context.Context) GetProjectIssueLabelEventsEventArrayOutput { + return o +} + +func (o GetProjectIssueLabelEventsEventArrayOutput) Index(i pulumi.IntInput) GetProjectIssueLabelEventsEventOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectIssueLabelEventsEvent { + return vs[0].([]GetProjectIssueLabelEventsEvent)[vs[1].(int)] + }).(GetProjectIssueLabelEventsEventOutput) +} + +type GetProjectIssueLabelEventsEventLabel struct { + // The color of the label. + Color string `pulumi:"color"` + // The description of the label. + Description string `pulumi:"description"` + // The ID of the label. + Id int `pulumi:"id"` + // The name of the label. + Name string `pulumi:"name"` +} + +// GetProjectIssueLabelEventsEventLabelInput is an input type that accepts GetProjectIssueLabelEventsEventLabelArgs and GetProjectIssueLabelEventsEventLabelOutput values. +// You can construct a concrete instance of `GetProjectIssueLabelEventsEventLabelInput` via: +// +// GetProjectIssueLabelEventsEventLabelArgs{...} +type GetProjectIssueLabelEventsEventLabelInput interface { + pulumi.Input + + ToGetProjectIssueLabelEventsEventLabelOutput() GetProjectIssueLabelEventsEventLabelOutput + ToGetProjectIssueLabelEventsEventLabelOutputWithContext(context.Context) GetProjectIssueLabelEventsEventLabelOutput +} + +type GetProjectIssueLabelEventsEventLabelArgs struct { + // The color of the label. + Color pulumi.StringInput `pulumi:"color"` + // The description of the label. + Description pulumi.StringInput `pulumi:"description"` + // The ID of the label. + Id pulumi.IntInput `pulumi:"id"` + // The name of the label. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetProjectIssueLabelEventsEventLabelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectIssueLabelEventsEventLabel)(nil)).Elem() +} + +func (i GetProjectIssueLabelEventsEventLabelArgs) ToGetProjectIssueLabelEventsEventLabelOutput() GetProjectIssueLabelEventsEventLabelOutput { + return i.ToGetProjectIssueLabelEventsEventLabelOutputWithContext(context.Background()) +} + +func (i GetProjectIssueLabelEventsEventLabelArgs) ToGetProjectIssueLabelEventsEventLabelOutputWithContext(ctx context.Context) GetProjectIssueLabelEventsEventLabelOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectIssueLabelEventsEventLabelOutput) +} + +type GetProjectIssueLabelEventsEventLabelOutput struct{ *pulumi.OutputState } + +func (GetProjectIssueLabelEventsEventLabelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectIssueLabelEventsEventLabel)(nil)).Elem() +} + +func (o GetProjectIssueLabelEventsEventLabelOutput) ToGetProjectIssueLabelEventsEventLabelOutput() GetProjectIssueLabelEventsEventLabelOutput { + return o +} + +func (o GetProjectIssueLabelEventsEventLabelOutput) ToGetProjectIssueLabelEventsEventLabelOutputWithContext(ctx context.Context) GetProjectIssueLabelEventsEventLabelOutput { + return o +} + +// The color of the label. +func (o GetProjectIssueLabelEventsEventLabelOutput) Color() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEventLabel) string { return v.Color }).(pulumi.StringOutput) +} + +// The description of the label. +func (o GetProjectIssueLabelEventsEventLabelOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEventLabel) string { return v.Description }).(pulumi.StringOutput) +} + +// The ID of the label. +func (o GetProjectIssueLabelEventsEventLabelOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEventLabel) int { return v.Id }).(pulumi.IntOutput) +} + +// The name of the label. +func (o GetProjectIssueLabelEventsEventLabelOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEventLabel) string { return v.Name }).(pulumi.StringOutput) +} + +type GetProjectIssueLabelEventsEventUser struct { + // The avatar URL of the user. + AvatarUrl string `pulumi:"avatarUrl"` + // The ID of the user. + Id int `pulumi:"id"` + // The name of the user. + Name string `pulumi:"name"` + // The state of the user. + State string `pulumi:"state"` + // The username of the user. + Username string `pulumi:"username"` + // The web URL of the user. + WebUrl string `pulumi:"webUrl"` +} + +// GetProjectIssueLabelEventsEventUserInput is an input type that accepts GetProjectIssueLabelEventsEventUserArgs and GetProjectIssueLabelEventsEventUserOutput values. +// You can construct a concrete instance of `GetProjectIssueLabelEventsEventUserInput` via: +// +// GetProjectIssueLabelEventsEventUserArgs{...} +type GetProjectIssueLabelEventsEventUserInput interface { + pulumi.Input + + ToGetProjectIssueLabelEventsEventUserOutput() GetProjectIssueLabelEventsEventUserOutput + ToGetProjectIssueLabelEventsEventUserOutputWithContext(context.Context) GetProjectIssueLabelEventsEventUserOutput +} + +type GetProjectIssueLabelEventsEventUserArgs struct { + // The avatar URL of the user. + AvatarUrl pulumi.StringInput `pulumi:"avatarUrl"` + // The ID of the user. + Id pulumi.IntInput `pulumi:"id"` + // The name of the user. + Name pulumi.StringInput `pulumi:"name"` + // The state of the user. + State pulumi.StringInput `pulumi:"state"` + // The username of the user. + Username pulumi.StringInput `pulumi:"username"` + // The web URL of the user. + WebUrl pulumi.StringInput `pulumi:"webUrl"` +} + +func (GetProjectIssueLabelEventsEventUserArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectIssueLabelEventsEventUser)(nil)).Elem() +} + +func (i GetProjectIssueLabelEventsEventUserArgs) ToGetProjectIssueLabelEventsEventUserOutput() GetProjectIssueLabelEventsEventUserOutput { + return i.ToGetProjectIssueLabelEventsEventUserOutputWithContext(context.Background()) +} + +func (i GetProjectIssueLabelEventsEventUserArgs) ToGetProjectIssueLabelEventsEventUserOutputWithContext(ctx context.Context) GetProjectIssueLabelEventsEventUserOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectIssueLabelEventsEventUserOutput) +} + +type GetProjectIssueLabelEventsEventUserOutput struct{ *pulumi.OutputState } + +func (GetProjectIssueLabelEventsEventUserOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectIssueLabelEventsEventUser)(nil)).Elem() +} + +func (o GetProjectIssueLabelEventsEventUserOutput) ToGetProjectIssueLabelEventsEventUserOutput() GetProjectIssueLabelEventsEventUserOutput { + return o +} + +func (o GetProjectIssueLabelEventsEventUserOutput) ToGetProjectIssueLabelEventsEventUserOutputWithContext(ctx context.Context) GetProjectIssueLabelEventsEventUserOutput { + return o +} + +// The avatar URL of the user. +func (o GetProjectIssueLabelEventsEventUserOutput) AvatarUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEventUser) string { return v.AvatarUrl }).(pulumi.StringOutput) +} + +// The ID of the user. +func (o GetProjectIssueLabelEventsEventUserOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEventUser) int { return v.Id }).(pulumi.IntOutput) +} + +// The name of the user. +func (o GetProjectIssueLabelEventsEventUserOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEventUser) string { return v.Name }).(pulumi.StringOutput) +} + +// The state of the user. +func (o GetProjectIssueLabelEventsEventUserOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEventUser) string { return v.State }).(pulumi.StringOutput) +} + +// The username of the user. +func (o GetProjectIssueLabelEventsEventUserOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEventUser) string { return v.Username }).(pulumi.StringOutput) +} + +// The web URL of the user. +func (o GetProjectIssueLabelEventsEventUserOutput) WebUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectIssueLabelEventsEventUser) string { return v.WebUrl }).(pulumi.StringOutput) +} + type GetProjectIssueTaskCompletionStatus struct { // The number of tasks that are completed. CompletedCount int `pulumi:"completedCount"` @@ -10437,6 +12341,193 @@ func (o GetProjectIssuesIssueTaskCompletionStatusArrayOutput) Index(i pulumi.Int }).(GetProjectIssuesIssueTaskCompletionStatusOutput) } +type GetProjectLabelsLabel struct { + // The number of closed issues with this label. + ClosedIssuesCount int `pulumi:"closedIssuesCount"` + // The color of the label given in 6-digit hex notation with leading '#' sign. + Color string `pulumi:"color"` + // The description of the label. + Description string `pulumi:"description"` + // The ID of the label. + Id int `pulumi:"id"` + // Whether the label is a project label. + IsProjectLabel bool `pulumi:"isProjectLabel"` + // The name of the label. + Name string `pulumi:"name"` + // The number of open issues with this label. + OpenIssuesCount int `pulumi:"openIssuesCount"` + // The number of open merge requests with this label. + OpenMergeRequestsCount int `pulumi:"openMergeRequestsCount"` + // The priority of the label. Null if no priority is set. + Priority int `pulumi:"priority"` + // Whether the authenticated user is subscribed to the label. + Subscribed bool `pulumi:"subscribed"` + // The text color of the label given in 6-digit hex notation with leading '#' sign. + TextColor string `pulumi:"textColor"` +} + +// GetProjectLabelsLabelInput is an input type that accepts GetProjectLabelsLabelArgs and GetProjectLabelsLabelOutput values. +// You can construct a concrete instance of `GetProjectLabelsLabelInput` via: +// +// GetProjectLabelsLabelArgs{...} +type GetProjectLabelsLabelInput interface { + pulumi.Input + + ToGetProjectLabelsLabelOutput() GetProjectLabelsLabelOutput + ToGetProjectLabelsLabelOutputWithContext(context.Context) GetProjectLabelsLabelOutput +} + +type GetProjectLabelsLabelArgs struct { + // The number of closed issues with this label. + ClosedIssuesCount pulumi.IntInput `pulumi:"closedIssuesCount"` + // The color of the label given in 6-digit hex notation with leading '#' sign. + Color pulumi.StringInput `pulumi:"color"` + // The description of the label. + Description pulumi.StringInput `pulumi:"description"` + // The ID of the label. + Id pulumi.IntInput `pulumi:"id"` + // Whether the label is a project label. + IsProjectLabel pulumi.BoolInput `pulumi:"isProjectLabel"` + // The name of the label. + Name pulumi.StringInput `pulumi:"name"` + // The number of open issues with this label. + OpenIssuesCount pulumi.IntInput `pulumi:"openIssuesCount"` + // The number of open merge requests with this label. + OpenMergeRequestsCount pulumi.IntInput `pulumi:"openMergeRequestsCount"` + // The priority of the label. Null if no priority is set. + Priority pulumi.IntInput `pulumi:"priority"` + // Whether the authenticated user is subscribed to the label. + Subscribed pulumi.BoolInput `pulumi:"subscribed"` + // The text color of the label given in 6-digit hex notation with leading '#' sign. + TextColor pulumi.StringInput `pulumi:"textColor"` +} + +func (GetProjectLabelsLabelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectLabelsLabel)(nil)).Elem() +} + +func (i GetProjectLabelsLabelArgs) ToGetProjectLabelsLabelOutput() GetProjectLabelsLabelOutput { + return i.ToGetProjectLabelsLabelOutputWithContext(context.Background()) +} + +func (i GetProjectLabelsLabelArgs) ToGetProjectLabelsLabelOutputWithContext(ctx context.Context) GetProjectLabelsLabelOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectLabelsLabelOutput) +} + +// GetProjectLabelsLabelArrayInput is an input type that accepts GetProjectLabelsLabelArray and GetProjectLabelsLabelArrayOutput values. +// You can construct a concrete instance of `GetProjectLabelsLabelArrayInput` via: +// +// GetProjectLabelsLabelArray{ GetProjectLabelsLabelArgs{...} } +type GetProjectLabelsLabelArrayInput interface { + pulumi.Input + + ToGetProjectLabelsLabelArrayOutput() GetProjectLabelsLabelArrayOutput + ToGetProjectLabelsLabelArrayOutputWithContext(context.Context) GetProjectLabelsLabelArrayOutput +} + +type GetProjectLabelsLabelArray []GetProjectLabelsLabelInput + +func (GetProjectLabelsLabelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectLabelsLabel)(nil)).Elem() +} + +func (i GetProjectLabelsLabelArray) ToGetProjectLabelsLabelArrayOutput() GetProjectLabelsLabelArrayOutput { + return i.ToGetProjectLabelsLabelArrayOutputWithContext(context.Background()) +} + +func (i GetProjectLabelsLabelArray) ToGetProjectLabelsLabelArrayOutputWithContext(ctx context.Context) GetProjectLabelsLabelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectLabelsLabelArrayOutput) +} + +type GetProjectLabelsLabelOutput struct{ *pulumi.OutputState } + +func (GetProjectLabelsLabelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectLabelsLabel)(nil)).Elem() +} + +func (o GetProjectLabelsLabelOutput) ToGetProjectLabelsLabelOutput() GetProjectLabelsLabelOutput { + return o +} + +func (o GetProjectLabelsLabelOutput) ToGetProjectLabelsLabelOutputWithContext(ctx context.Context) GetProjectLabelsLabelOutput { + return o +} + +// The number of closed issues with this label. +func (o GetProjectLabelsLabelOutput) ClosedIssuesCount() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectLabelsLabel) int { return v.ClosedIssuesCount }).(pulumi.IntOutput) +} + +// The color of the label given in 6-digit hex notation with leading '#' sign. +func (o GetProjectLabelsLabelOutput) Color() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectLabelsLabel) string { return v.Color }).(pulumi.StringOutput) +} + +// The description of the label. +func (o GetProjectLabelsLabelOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectLabelsLabel) string { return v.Description }).(pulumi.StringOutput) +} + +// The ID of the label. +func (o GetProjectLabelsLabelOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectLabelsLabel) int { return v.Id }).(pulumi.IntOutput) +} + +// Whether the label is a project label. +func (o GetProjectLabelsLabelOutput) IsProjectLabel() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectLabelsLabel) bool { return v.IsProjectLabel }).(pulumi.BoolOutput) +} + +// The name of the label. +func (o GetProjectLabelsLabelOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectLabelsLabel) string { return v.Name }).(pulumi.StringOutput) +} + +// The number of open issues with this label. +func (o GetProjectLabelsLabelOutput) OpenIssuesCount() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectLabelsLabel) int { return v.OpenIssuesCount }).(pulumi.IntOutput) +} + +// The number of open merge requests with this label. +func (o GetProjectLabelsLabelOutput) OpenMergeRequestsCount() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectLabelsLabel) int { return v.OpenMergeRequestsCount }).(pulumi.IntOutput) +} + +// The priority of the label. Null if no priority is set. +func (o GetProjectLabelsLabelOutput) Priority() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectLabelsLabel) int { return v.Priority }).(pulumi.IntOutput) +} + +// Whether the authenticated user is subscribed to the label. +func (o GetProjectLabelsLabelOutput) Subscribed() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectLabelsLabel) bool { return v.Subscribed }).(pulumi.BoolOutput) +} + +// The text color of the label given in 6-digit hex notation with leading '#' sign. +func (o GetProjectLabelsLabelOutput) TextColor() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectLabelsLabel) string { return v.TextColor }).(pulumi.StringOutput) +} + +type GetProjectLabelsLabelArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectLabelsLabelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectLabelsLabel)(nil)).Elem() +} + +func (o GetProjectLabelsLabelArrayOutput) ToGetProjectLabelsLabelArrayOutput() GetProjectLabelsLabelArrayOutput { + return o +} + +func (o GetProjectLabelsLabelArrayOutput) ToGetProjectLabelsLabelArrayOutputWithContext(ctx context.Context) GetProjectLabelsLabelArrayOutput { + return o +} + +func (o GetProjectLabelsLabelArrayOutput) Index(i pulumi.IntInput) GetProjectLabelsLabelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectLabelsLabel { + return vs[0].([]GetProjectLabelsLabel)[vs[1].(int)] + }).(GetProjectLabelsLabelOutput) +} + type GetProjectMembershipMember struct { // The level of access to the group. AccessLevel string `pulumi:"accessLevel"` @@ -10933,616 +13024,727 @@ func (o GetProjectMergeRequestClosedByOutput) WebUrl() pulumi.StringOutput { return o.ApplyT(func(v GetProjectMergeRequestClosedBy) string { return v.WebUrl }).(pulumi.StringOutput) } -type GetProjectMilestonesMilestone struct { - // The time of creation of the milestone. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. +type GetProjectMergeRequestsMergeRequest struct { + // First assignee of the merge request. + Assignee GetProjectMergeRequestsMergeRequestAssignee `pulumi:"assignee"` + // Assignees of the merge request. + Assignees []GetProjectMergeRequestsMergeRequestAssignee `pulumi:"assignees"` + // User who created this merge request. + Author GetProjectMergeRequestsMergeRequestAuthor `pulumi:"author"` + // Indicates if all discussions are resolved only if all are + // required before merge request can be merged. + BlockingDiscussionsResolved bool `pulumi:"blockingDiscussionsResolved"` + // Timestamp of when the merge request was closed. + ClosedAt string `pulumi:"closedAt"` + // User who closed this merge request. + ClosedBy GetProjectMergeRequestsMergeRequestClosedBy `pulumi:"closedBy"` + // Timestamp of when the merge request was created. CreatedAt string `pulumi:"createdAt"` - // The description of the milestone. - Description string `pulumi:"description"` - // The due date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. - DueDate string `pulumi:"dueDate"` - // Bool, true if milestone expired. - Expired bool `pulumi:"expired"` - // The ID of the project's milestone. + // The unique instance level ID of the merge request. + Id int `pulumi:"id"` + // The unique project level ID of the merge request. Iid int `pulumi:"iid"` - // The instance-wide ID of the project’s milestone. - MilestoneId int `pulumi:"milestoneId"` - // The ID or URL-encoded path of the project owned by the authenticated user. - Project string `pulumi:"project"` - // The project ID of milestone. - ProjectId int `pulumi:"projectId"` - // The start date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. - StartDate string `pulumi:"startDate"` - // The state of the milestone. Valid values are: `active`, `closed`. - State string `pulumi:"state"` - // The title of a milestone. - Title string `pulumi:"title"` - // The last update time of the milestone. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. - UpdatedAt string `pulumi:"updatedAt"` - // The web URL of the milestone. - WebUrl string `pulumi:"webUrl"` } -// GetProjectMilestonesMilestoneInput is an input type that accepts GetProjectMilestonesMilestoneArgs and GetProjectMilestonesMilestoneOutput values. -// You can construct a concrete instance of `GetProjectMilestonesMilestoneInput` via: +// GetProjectMergeRequestsMergeRequestInput is an input type that accepts GetProjectMergeRequestsMergeRequestArgs and GetProjectMergeRequestsMergeRequestOutput values. +// You can construct a concrete instance of `GetProjectMergeRequestsMergeRequestInput` via: // -// GetProjectMilestonesMilestoneArgs{...} -type GetProjectMilestonesMilestoneInput interface { +// GetProjectMergeRequestsMergeRequestArgs{...} +type GetProjectMergeRequestsMergeRequestInput interface { pulumi.Input - ToGetProjectMilestonesMilestoneOutput() GetProjectMilestonesMilestoneOutput - ToGetProjectMilestonesMilestoneOutputWithContext(context.Context) GetProjectMilestonesMilestoneOutput -} - -type GetProjectMilestonesMilestoneArgs struct { - // The time of creation of the milestone. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. + ToGetProjectMergeRequestsMergeRequestOutput() GetProjectMergeRequestsMergeRequestOutput + ToGetProjectMergeRequestsMergeRequestOutputWithContext(context.Context) GetProjectMergeRequestsMergeRequestOutput +} + +type GetProjectMergeRequestsMergeRequestArgs struct { + // First assignee of the merge request. + Assignee GetProjectMergeRequestsMergeRequestAssigneeInput `pulumi:"assignee"` + // Assignees of the merge request. + Assignees GetProjectMergeRequestsMergeRequestAssigneeArrayInput `pulumi:"assignees"` + // User who created this merge request. + Author GetProjectMergeRequestsMergeRequestAuthorInput `pulumi:"author"` + // Indicates if all discussions are resolved only if all are + // required before merge request can be merged. + BlockingDiscussionsResolved pulumi.BoolInput `pulumi:"blockingDiscussionsResolved"` + // Timestamp of when the merge request was closed. + ClosedAt pulumi.StringInput `pulumi:"closedAt"` + // User who closed this merge request. + ClosedBy GetProjectMergeRequestsMergeRequestClosedByInput `pulumi:"closedBy"` + // Timestamp of when the merge request was created. CreatedAt pulumi.StringInput `pulumi:"createdAt"` - // The description of the milestone. - Description pulumi.StringInput `pulumi:"description"` - // The due date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. - DueDate pulumi.StringInput `pulumi:"dueDate"` - // Bool, true if milestone expired. - Expired pulumi.BoolInput `pulumi:"expired"` - // The ID of the project's milestone. + // The unique instance level ID of the merge request. + Id pulumi.IntInput `pulumi:"id"` + // The unique project level ID of the merge request. Iid pulumi.IntInput `pulumi:"iid"` - // The instance-wide ID of the project’s milestone. - MilestoneId pulumi.IntInput `pulumi:"milestoneId"` - // The ID or URL-encoded path of the project owned by the authenticated user. - Project pulumi.StringInput `pulumi:"project"` - // The project ID of milestone. - ProjectId pulumi.IntInput `pulumi:"projectId"` - // The start date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. - StartDate pulumi.StringInput `pulumi:"startDate"` - // The state of the milestone. Valid values are: `active`, `closed`. - State pulumi.StringInput `pulumi:"state"` - // The title of a milestone. - Title pulumi.StringInput `pulumi:"title"` - // The last update time of the milestone. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. - UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` - // The web URL of the milestone. - WebUrl pulumi.StringInput `pulumi:"webUrl"` } -func (GetProjectMilestonesMilestoneArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectMilestonesMilestone)(nil)).Elem() +func (GetProjectMergeRequestsMergeRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectMergeRequestsMergeRequest)(nil)).Elem() } -func (i GetProjectMilestonesMilestoneArgs) ToGetProjectMilestonesMilestoneOutput() GetProjectMilestonesMilestoneOutput { - return i.ToGetProjectMilestonesMilestoneOutputWithContext(context.Background()) +func (i GetProjectMergeRequestsMergeRequestArgs) ToGetProjectMergeRequestsMergeRequestOutput() GetProjectMergeRequestsMergeRequestOutput { + return i.ToGetProjectMergeRequestsMergeRequestOutputWithContext(context.Background()) } -func (i GetProjectMilestonesMilestoneArgs) ToGetProjectMilestonesMilestoneOutputWithContext(ctx context.Context) GetProjectMilestonesMilestoneOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectMilestonesMilestoneOutput) +func (i GetProjectMergeRequestsMergeRequestArgs) ToGetProjectMergeRequestsMergeRequestOutputWithContext(ctx context.Context) GetProjectMergeRequestsMergeRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectMergeRequestsMergeRequestOutput) } -// GetProjectMilestonesMilestoneArrayInput is an input type that accepts GetProjectMilestonesMilestoneArray and GetProjectMilestonesMilestoneArrayOutput values. -// You can construct a concrete instance of `GetProjectMilestonesMilestoneArrayInput` via: +// GetProjectMergeRequestsMergeRequestArrayInput is an input type that accepts GetProjectMergeRequestsMergeRequestArray and GetProjectMergeRequestsMergeRequestArrayOutput values. +// You can construct a concrete instance of `GetProjectMergeRequestsMergeRequestArrayInput` via: // -// GetProjectMilestonesMilestoneArray{ GetProjectMilestonesMilestoneArgs{...} } -type GetProjectMilestonesMilestoneArrayInput interface { +// GetProjectMergeRequestsMergeRequestArray{ GetProjectMergeRequestsMergeRequestArgs{...} } +type GetProjectMergeRequestsMergeRequestArrayInput interface { pulumi.Input - ToGetProjectMilestonesMilestoneArrayOutput() GetProjectMilestonesMilestoneArrayOutput - ToGetProjectMilestonesMilestoneArrayOutputWithContext(context.Context) GetProjectMilestonesMilestoneArrayOutput + ToGetProjectMergeRequestsMergeRequestArrayOutput() GetProjectMergeRequestsMergeRequestArrayOutput + ToGetProjectMergeRequestsMergeRequestArrayOutputWithContext(context.Context) GetProjectMergeRequestsMergeRequestArrayOutput } -type GetProjectMilestonesMilestoneArray []GetProjectMilestonesMilestoneInput +type GetProjectMergeRequestsMergeRequestArray []GetProjectMergeRequestsMergeRequestInput -func (GetProjectMilestonesMilestoneArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectMilestonesMilestone)(nil)).Elem() +func (GetProjectMergeRequestsMergeRequestArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectMergeRequestsMergeRequest)(nil)).Elem() } -func (i GetProjectMilestonesMilestoneArray) ToGetProjectMilestonesMilestoneArrayOutput() GetProjectMilestonesMilestoneArrayOutput { - return i.ToGetProjectMilestonesMilestoneArrayOutputWithContext(context.Background()) +func (i GetProjectMergeRequestsMergeRequestArray) ToGetProjectMergeRequestsMergeRequestArrayOutput() GetProjectMergeRequestsMergeRequestArrayOutput { + return i.ToGetProjectMergeRequestsMergeRequestArrayOutputWithContext(context.Background()) } -func (i GetProjectMilestonesMilestoneArray) ToGetProjectMilestonesMilestoneArrayOutputWithContext(ctx context.Context) GetProjectMilestonesMilestoneArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectMilestonesMilestoneArrayOutput) +func (i GetProjectMergeRequestsMergeRequestArray) ToGetProjectMergeRequestsMergeRequestArrayOutputWithContext(ctx context.Context) GetProjectMergeRequestsMergeRequestArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectMergeRequestsMergeRequestArrayOutput) } -type GetProjectMilestonesMilestoneOutput struct{ *pulumi.OutputState } +type GetProjectMergeRequestsMergeRequestOutput struct{ *pulumi.OutputState } -func (GetProjectMilestonesMilestoneOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectMilestonesMilestone)(nil)).Elem() +func (GetProjectMergeRequestsMergeRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectMergeRequestsMergeRequest)(nil)).Elem() } -func (o GetProjectMilestonesMilestoneOutput) ToGetProjectMilestonesMilestoneOutput() GetProjectMilestonesMilestoneOutput { +func (o GetProjectMergeRequestsMergeRequestOutput) ToGetProjectMergeRequestsMergeRequestOutput() GetProjectMergeRequestsMergeRequestOutput { return o } -func (o GetProjectMilestonesMilestoneOutput) ToGetProjectMilestonesMilestoneOutputWithContext(ctx context.Context) GetProjectMilestonesMilestoneOutput { +func (o GetProjectMergeRequestsMergeRequestOutput) ToGetProjectMergeRequestsMergeRequestOutputWithContext(ctx context.Context) GetProjectMergeRequestsMergeRequestOutput { return o } -// The time of creation of the milestone. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. -func (o GetProjectMilestonesMilestoneOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.CreatedAt }).(pulumi.StringOutput) -} - -// The description of the milestone. -func (o GetProjectMilestonesMilestoneOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.Description }).(pulumi.StringOutput) -} - -// The due date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. -func (o GetProjectMilestonesMilestoneOutput) DueDate() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.DueDate }).(pulumi.StringOutput) -} - -// Bool, true if milestone expired. -func (o GetProjectMilestonesMilestoneOutput) Expired() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectMilestonesMilestone) bool { return v.Expired }).(pulumi.BoolOutput) -} - -// The ID of the project's milestone. -func (o GetProjectMilestonesMilestoneOutput) Iid() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectMilestonesMilestone) int { return v.Iid }).(pulumi.IntOutput) +// First assignee of the merge request. +func (o GetProjectMergeRequestsMergeRequestOutput) Assignee() GetProjectMergeRequestsMergeRequestAssigneeOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequest) GetProjectMergeRequestsMergeRequestAssignee { + return v.Assignee + }).(GetProjectMergeRequestsMergeRequestAssigneeOutput) } -// The instance-wide ID of the project’s milestone. -func (o GetProjectMilestonesMilestoneOutput) MilestoneId() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectMilestonesMilestone) int { return v.MilestoneId }).(pulumi.IntOutput) +// Assignees of the merge request. +func (o GetProjectMergeRequestsMergeRequestOutput) Assignees() GetProjectMergeRequestsMergeRequestAssigneeArrayOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequest) []GetProjectMergeRequestsMergeRequestAssignee { + return v.Assignees + }).(GetProjectMergeRequestsMergeRequestAssigneeArrayOutput) } -// The ID or URL-encoded path of the project owned by the authenticated user. -func (o GetProjectMilestonesMilestoneOutput) Project() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.Project }).(pulumi.StringOutput) +// User who created this merge request. +func (o GetProjectMergeRequestsMergeRequestOutput) Author() GetProjectMergeRequestsMergeRequestAuthorOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequest) GetProjectMergeRequestsMergeRequestAuthor { return v.Author }).(GetProjectMergeRequestsMergeRequestAuthorOutput) } -// The project ID of milestone. -func (o GetProjectMilestonesMilestoneOutput) ProjectId() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectMilestonesMilestone) int { return v.ProjectId }).(pulumi.IntOutput) +// Indicates if all discussions are resolved only if all are +// required before merge request can be merged. +func (o GetProjectMergeRequestsMergeRequestOutput) BlockingDiscussionsResolved() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequest) bool { return v.BlockingDiscussionsResolved }).(pulumi.BoolOutput) } -// The start date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. -func (o GetProjectMilestonesMilestoneOutput) StartDate() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.StartDate }).(pulumi.StringOutput) +// Timestamp of when the merge request was closed. +func (o GetProjectMergeRequestsMergeRequestOutput) ClosedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequest) string { return v.ClosedAt }).(pulumi.StringOutput) } -// The state of the milestone. Valid values are: `active`, `closed`. -func (o GetProjectMilestonesMilestoneOutput) State() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.State }).(pulumi.StringOutput) +// User who closed this merge request. +func (o GetProjectMergeRequestsMergeRequestOutput) ClosedBy() GetProjectMergeRequestsMergeRequestClosedByOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequest) GetProjectMergeRequestsMergeRequestClosedBy { + return v.ClosedBy + }).(GetProjectMergeRequestsMergeRequestClosedByOutput) } -// The title of a milestone. -func (o GetProjectMilestonesMilestoneOutput) Title() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.Title }).(pulumi.StringOutput) +// Timestamp of when the merge request was created. +func (o GetProjectMergeRequestsMergeRequestOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequest) string { return v.CreatedAt }).(pulumi.StringOutput) } -// The last update time of the milestone. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. -func (o GetProjectMilestonesMilestoneOutput) UpdatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.UpdatedAt }).(pulumi.StringOutput) +// The unique instance level ID of the merge request. +func (o GetProjectMergeRequestsMergeRequestOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequest) int { return v.Id }).(pulumi.IntOutput) } -// The web URL of the milestone. -func (o GetProjectMilestonesMilestoneOutput) WebUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.WebUrl }).(pulumi.StringOutput) +// The unique project level ID of the merge request. +func (o GetProjectMergeRequestsMergeRequestOutput) Iid() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequest) int { return v.Iid }).(pulumi.IntOutput) } -type GetProjectMilestonesMilestoneArrayOutput struct{ *pulumi.OutputState } +type GetProjectMergeRequestsMergeRequestArrayOutput struct{ *pulumi.OutputState } -func (GetProjectMilestonesMilestoneArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectMilestonesMilestone)(nil)).Elem() +func (GetProjectMergeRequestsMergeRequestArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectMergeRequestsMergeRequest)(nil)).Elem() } -func (o GetProjectMilestonesMilestoneArrayOutput) ToGetProjectMilestonesMilestoneArrayOutput() GetProjectMilestonesMilestoneArrayOutput { +func (o GetProjectMergeRequestsMergeRequestArrayOutput) ToGetProjectMergeRequestsMergeRequestArrayOutput() GetProjectMergeRequestsMergeRequestArrayOutput { return o } -func (o GetProjectMilestonesMilestoneArrayOutput) ToGetProjectMilestonesMilestoneArrayOutputWithContext(ctx context.Context) GetProjectMilestonesMilestoneArrayOutput { +func (o GetProjectMergeRequestsMergeRequestArrayOutput) ToGetProjectMergeRequestsMergeRequestArrayOutputWithContext(ctx context.Context) GetProjectMergeRequestsMergeRequestArrayOutput { return o } -func (o GetProjectMilestonesMilestoneArrayOutput) Index(i pulumi.IntInput) GetProjectMilestonesMilestoneOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectMilestonesMilestone { - return vs[0].([]GetProjectMilestonesMilestone)[vs[1].(int)] - }).(GetProjectMilestonesMilestoneOutput) +func (o GetProjectMergeRequestsMergeRequestArrayOutput) Index(i pulumi.IntInput) GetProjectMergeRequestsMergeRequestOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectMergeRequestsMergeRequest { + return vs[0].([]GetProjectMergeRequestsMergeRequest)[vs[1].(int)] + }).(GetProjectMergeRequestsMergeRequestOutput) } -type GetProjectProtectedBranchMergeAccessLevel struct { - // Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. - AccessLevel string `pulumi:"accessLevel"` - // Readable description of access level. - AccessLevelDescription string `pulumi:"accessLevelDescription"` - // The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `userId`. - GroupId *int `pulumi:"groupId"` - // The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `groupId`. - UserId *int `pulumi:"userId"` +type GetProjectMergeRequestsMergeRequestAssignee struct { + // A link to the user's avatar image. + AvatarUrl string `pulumi:"avatarUrl"` + // The internal ID number of the user. + Id int `pulumi:"id"` + // The name of the user. + Name string `pulumi:"name"` + // The state of the user account. + State string `pulumi:"state"` + // The username of the user. + Username string `pulumi:"username"` + // A link to the user's profile page. + WebUrl string `pulumi:"webUrl"` } -// GetProjectProtectedBranchMergeAccessLevelInput is an input type that accepts GetProjectProtectedBranchMergeAccessLevelArgs and GetProjectProtectedBranchMergeAccessLevelOutput values. -// You can construct a concrete instance of `GetProjectProtectedBranchMergeAccessLevelInput` via: +// GetProjectMergeRequestsMergeRequestAssigneeInput is an input type that accepts GetProjectMergeRequestsMergeRequestAssigneeArgs and GetProjectMergeRequestsMergeRequestAssigneeOutput values. +// You can construct a concrete instance of `GetProjectMergeRequestsMergeRequestAssigneeInput` via: // -// GetProjectProtectedBranchMergeAccessLevelArgs{...} -type GetProjectProtectedBranchMergeAccessLevelInput interface { +// GetProjectMergeRequestsMergeRequestAssigneeArgs{...} +type GetProjectMergeRequestsMergeRequestAssigneeInput interface { pulumi.Input - ToGetProjectProtectedBranchMergeAccessLevelOutput() GetProjectProtectedBranchMergeAccessLevelOutput - ToGetProjectProtectedBranchMergeAccessLevelOutputWithContext(context.Context) GetProjectProtectedBranchMergeAccessLevelOutput + ToGetProjectMergeRequestsMergeRequestAssigneeOutput() GetProjectMergeRequestsMergeRequestAssigneeOutput + ToGetProjectMergeRequestsMergeRequestAssigneeOutputWithContext(context.Context) GetProjectMergeRequestsMergeRequestAssigneeOutput } -type GetProjectProtectedBranchMergeAccessLevelArgs struct { - // Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. - AccessLevel pulumi.StringInput `pulumi:"accessLevel"` - // Readable description of access level. - AccessLevelDescription pulumi.StringInput `pulumi:"accessLevelDescription"` - // The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `userId`. - GroupId pulumi.IntPtrInput `pulumi:"groupId"` - // The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `groupId`. - UserId pulumi.IntPtrInput `pulumi:"userId"` +type GetProjectMergeRequestsMergeRequestAssigneeArgs struct { + // A link to the user's avatar image. + AvatarUrl pulumi.StringInput `pulumi:"avatarUrl"` + // The internal ID number of the user. + Id pulumi.IntInput `pulumi:"id"` + // The name of the user. + Name pulumi.StringInput `pulumi:"name"` + // The state of the user account. + State pulumi.StringInput `pulumi:"state"` + // The username of the user. + Username pulumi.StringInput `pulumi:"username"` + // A link to the user's profile page. + WebUrl pulumi.StringInput `pulumi:"webUrl"` } -func (GetProjectProtectedBranchMergeAccessLevelArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectProtectedBranchMergeAccessLevel)(nil)).Elem() +func (GetProjectMergeRequestsMergeRequestAssigneeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectMergeRequestsMergeRequestAssignee)(nil)).Elem() } -func (i GetProjectProtectedBranchMergeAccessLevelArgs) ToGetProjectProtectedBranchMergeAccessLevelOutput() GetProjectProtectedBranchMergeAccessLevelOutput { - return i.ToGetProjectProtectedBranchMergeAccessLevelOutputWithContext(context.Background()) +func (i GetProjectMergeRequestsMergeRequestAssigneeArgs) ToGetProjectMergeRequestsMergeRequestAssigneeOutput() GetProjectMergeRequestsMergeRequestAssigneeOutput { + return i.ToGetProjectMergeRequestsMergeRequestAssigneeOutputWithContext(context.Background()) } -func (i GetProjectProtectedBranchMergeAccessLevelArgs) ToGetProjectProtectedBranchMergeAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedBranchMergeAccessLevelOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchMergeAccessLevelOutput) +func (i GetProjectMergeRequestsMergeRequestAssigneeArgs) ToGetProjectMergeRequestsMergeRequestAssigneeOutputWithContext(ctx context.Context) GetProjectMergeRequestsMergeRequestAssigneeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectMergeRequestsMergeRequestAssigneeOutput) } -// GetProjectProtectedBranchMergeAccessLevelArrayInput is an input type that accepts GetProjectProtectedBranchMergeAccessLevelArray and GetProjectProtectedBranchMergeAccessLevelArrayOutput values. -// You can construct a concrete instance of `GetProjectProtectedBranchMergeAccessLevelArrayInput` via: +// GetProjectMergeRequestsMergeRequestAssigneeArrayInput is an input type that accepts GetProjectMergeRequestsMergeRequestAssigneeArray and GetProjectMergeRequestsMergeRequestAssigneeArrayOutput values. +// You can construct a concrete instance of `GetProjectMergeRequestsMergeRequestAssigneeArrayInput` via: // -// GetProjectProtectedBranchMergeAccessLevelArray{ GetProjectProtectedBranchMergeAccessLevelArgs{...} } -type GetProjectProtectedBranchMergeAccessLevelArrayInput interface { +// GetProjectMergeRequestsMergeRequestAssigneeArray{ GetProjectMergeRequestsMergeRequestAssigneeArgs{...} } +type GetProjectMergeRequestsMergeRequestAssigneeArrayInput interface { pulumi.Input - ToGetProjectProtectedBranchMergeAccessLevelArrayOutput() GetProjectProtectedBranchMergeAccessLevelArrayOutput - ToGetProjectProtectedBranchMergeAccessLevelArrayOutputWithContext(context.Context) GetProjectProtectedBranchMergeAccessLevelArrayOutput + ToGetProjectMergeRequestsMergeRequestAssigneeArrayOutput() GetProjectMergeRequestsMergeRequestAssigneeArrayOutput + ToGetProjectMergeRequestsMergeRequestAssigneeArrayOutputWithContext(context.Context) GetProjectMergeRequestsMergeRequestAssigneeArrayOutput } -type GetProjectProtectedBranchMergeAccessLevelArray []GetProjectProtectedBranchMergeAccessLevelInput +type GetProjectMergeRequestsMergeRequestAssigneeArray []GetProjectMergeRequestsMergeRequestAssigneeInput -func (GetProjectProtectedBranchMergeAccessLevelArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectProtectedBranchMergeAccessLevel)(nil)).Elem() +func (GetProjectMergeRequestsMergeRequestAssigneeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectMergeRequestsMergeRequestAssignee)(nil)).Elem() } -func (i GetProjectProtectedBranchMergeAccessLevelArray) ToGetProjectProtectedBranchMergeAccessLevelArrayOutput() GetProjectProtectedBranchMergeAccessLevelArrayOutput { - return i.ToGetProjectProtectedBranchMergeAccessLevelArrayOutputWithContext(context.Background()) +func (i GetProjectMergeRequestsMergeRequestAssigneeArray) ToGetProjectMergeRequestsMergeRequestAssigneeArrayOutput() GetProjectMergeRequestsMergeRequestAssigneeArrayOutput { + return i.ToGetProjectMergeRequestsMergeRequestAssigneeArrayOutputWithContext(context.Background()) } -func (i GetProjectProtectedBranchMergeAccessLevelArray) ToGetProjectProtectedBranchMergeAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchMergeAccessLevelArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchMergeAccessLevelArrayOutput) +func (i GetProjectMergeRequestsMergeRequestAssigneeArray) ToGetProjectMergeRequestsMergeRequestAssigneeArrayOutputWithContext(ctx context.Context) GetProjectMergeRequestsMergeRequestAssigneeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectMergeRequestsMergeRequestAssigneeArrayOutput) } -type GetProjectProtectedBranchMergeAccessLevelOutput struct{ *pulumi.OutputState } +type GetProjectMergeRequestsMergeRequestAssigneeOutput struct{ *pulumi.OutputState } -func (GetProjectProtectedBranchMergeAccessLevelOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectProtectedBranchMergeAccessLevel)(nil)).Elem() +func (GetProjectMergeRequestsMergeRequestAssigneeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectMergeRequestsMergeRequestAssignee)(nil)).Elem() } -func (o GetProjectProtectedBranchMergeAccessLevelOutput) ToGetProjectProtectedBranchMergeAccessLevelOutput() GetProjectProtectedBranchMergeAccessLevelOutput { +func (o GetProjectMergeRequestsMergeRequestAssigneeOutput) ToGetProjectMergeRequestsMergeRequestAssigneeOutput() GetProjectMergeRequestsMergeRequestAssigneeOutput { return o } -func (o GetProjectProtectedBranchMergeAccessLevelOutput) ToGetProjectProtectedBranchMergeAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedBranchMergeAccessLevelOutput { +func (o GetProjectMergeRequestsMergeRequestAssigneeOutput) ToGetProjectMergeRequestsMergeRequestAssigneeOutputWithContext(ctx context.Context) GetProjectMergeRequestsMergeRequestAssigneeOutput { return o } -// Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. -func (o GetProjectProtectedBranchMergeAccessLevelOutput) AccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectProtectedBranchMergeAccessLevel) string { return v.AccessLevel }).(pulumi.StringOutput) +// A link to the user's avatar image. +func (o GetProjectMergeRequestsMergeRequestAssigneeOutput) AvatarUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestAssignee) string { return v.AvatarUrl }).(pulumi.StringOutput) } -// Readable description of access level. -func (o GetProjectProtectedBranchMergeAccessLevelOutput) AccessLevelDescription() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectProtectedBranchMergeAccessLevel) string { return v.AccessLevelDescription }).(pulumi.StringOutput) +// The internal ID number of the user. +func (o GetProjectMergeRequestsMergeRequestAssigneeOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestAssignee) int { return v.Id }).(pulumi.IntOutput) } -// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `userId`. -func (o GetProjectProtectedBranchMergeAccessLevelOutput) GroupId() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetProjectProtectedBranchMergeAccessLevel) *int { return v.GroupId }).(pulumi.IntPtrOutput) +// The name of the user. +func (o GetProjectMergeRequestsMergeRequestAssigneeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestAssignee) string { return v.Name }).(pulumi.StringOutput) } -// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `groupId`. -func (o GetProjectProtectedBranchMergeAccessLevelOutput) UserId() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetProjectProtectedBranchMergeAccessLevel) *int { return v.UserId }).(pulumi.IntPtrOutput) +// The state of the user account. +func (o GetProjectMergeRequestsMergeRequestAssigneeOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestAssignee) string { return v.State }).(pulumi.StringOutput) } -type GetProjectProtectedBranchMergeAccessLevelArrayOutput struct{ *pulumi.OutputState } +// The username of the user. +func (o GetProjectMergeRequestsMergeRequestAssigneeOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestAssignee) string { return v.Username }).(pulumi.StringOutput) +} -func (GetProjectProtectedBranchMergeAccessLevelArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectProtectedBranchMergeAccessLevel)(nil)).Elem() +// A link to the user's profile page. +func (o GetProjectMergeRequestsMergeRequestAssigneeOutput) WebUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestAssignee) string { return v.WebUrl }).(pulumi.StringOutput) } -func (o GetProjectProtectedBranchMergeAccessLevelArrayOutput) ToGetProjectProtectedBranchMergeAccessLevelArrayOutput() GetProjectProtectedBranchMergeAccessLevelArrayOutput { +type GetProjectMergeRequestsMergeRequestAssigneeArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectMergeRequestsMergeRequestAssigneeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectMergeRequestsMergeRequestAssignee)(nil)).Elem() +} + +func (o GetProjectMergeRequestsMergeRequestAssigneeArrayOutput) ToGetProjectMergeRequestsMergeRequestAssigneeArrayOutput() GetProjectMergeRequestsMergeRequestAssigneeArrayOutput { return o } -func (o GetProjectProtectedBranchMergeAccessLevelArrayOutput) ToGetProjectProtectedBranchMergeAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchMergeAccessLevelArrayOutput { +func (o GetProjectMergeRequestsMergeRequestAssigneeArrayOutput) ToGetProjectMergeRequestsMergeRequestAssigneeArrayOutputWithContext(ctx context.Context) GetProjectMergeRequestsMergeRequestAssigneeArrayOutput { return o } -func (o GetProjectProtectedBranchMergeAccessLevelArrayOutput) Index(i pulumi.IntInput) GetProjectProtectedBranchMergeAccessLevelOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectProtectedBranchMergeAccessLevel { - return vs[0].([]GetProjectProtectedBranchMergeAccessLevel)[vs[1].(int)] - }).(GetProjectProtectedBranchMergeAccessLevelOutput) +func (o GetProjectMergeRequestsMergeRequestAssigneeArrayOutput) Index(i pulumi.IntInput) GetProjectMergeRequestsMergeRequestAssigneeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectMergeRequestsMergeRequestAssignee { + return vs[0].([]GetProjectMergeRequestsMergeRequestAssignee)[vs[1].(int)] + }).(GetProjectMergeRequestsMergeRequestAssigneeOutput) } -type GetProjectProtectedBranchPushAccessLevel struct { - // Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`. - AccessLevel string `pulumi:"accessLevel"` - // Readable description of access level. - AccessLevelDescription string `pulumi:"accessLevelDescription"` - // The ID of a GitLab deploy key allowed to perform the relevant action. Mutually exclusive with `groupId` and `userId`. This field is read-only until Gitlab 17.5. - DeployKeyId *int `pulumi:"deployKeyId"` - // The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `userId`. - GroupId *int `pulumi:"groupId"` - // The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `groupId`. - UserId *int `pulumi:"userId"` +type GetProjectMergeRequestsMergeRequestAuthor struct { + // A link to the user's avatar image. + AvatarUrl string `pulumi:"avatarUrl"` + // The internal ID number of the user. + Id int `pulumi:"id"` + // The name of the user. + Name string `pulumi:"name"` + // The state of the user account. + State string `pulumi:"state"` + // The username of the user. + Username string `pulumi:"username"` + // A link to the user's profile page. + WebUrl string `pulumi:"webUrl"` } -// GetProjectProtectedBranchPushAccessLevelInput is an input type that accepts GetProjectProtectedBranchPushAccessLevelArgs and GetProjectProtectedBranchPushAccessLevelOutput values. -// You can construct a concrete instance of `GetProjectProtectedBranchPushAccessLevelInput` via: +// GetProjectMergeRequestsMergeRequestAuthorInput is an input type that accepts GetProjectMergeRequestsMergeRequestAuthorArgs and GetProjectMergeRequestsMergeRequestAuthorOutput values. +// You can construct a concrete instance of `GetProjectMergeRequestsMergeRequestAuthorInput` via: // -// GetProjectProtectedBranchPushAccessLevelArgs{...} -type GetProjectProtectedBranchPushAccessLevelInput interface { +// GetProjectMergeRequestsMergeRequestAuthorArgs{...} +type GetProjectMergeRequestsMergeRequestAuthorInput interface { pulumi.Input - ToGetProjectProtectedBranchPushAccessLevelOutput() GetProjectProtectedBranchPushAccessLevelOutput - ToGetProjectProtectedBranchPushAccessLevelOutputWithContext(context.Context) GetProjectProtectedBranchPushAccessLevelOutput + ToGetProjectMergeRequestsMergeRequestAuthorOutput() GetProjectMergeRequestsMergeRequestAuthorOutput + ToGetProjectMergeRequestsMergeRequestAuthorOutputWithContext(context.Context) GetProjectMergeRequestsMergeRequestAuthorOutput } -type GetProjectProtectedBranchPushAccessLevelArgs struct { - // Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`. - AccessLevel pulumi.StringInput `pulumi:"accessLevel"` - // Readable description of access level. - AccessLevelDescription pulumi.StringInput `pulumi:"accessLevelDescription"` - // The ID of a GitLab deploy key allowed to perform the relevant action. Mutually exclusive with `groupId` and `userId`. This field is read-only until Gitlab 17.5. - DeployKeyId pulumi.IntPtrInput `pulumi:"deployKeyId"` - // The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `userId`. - GroupId pulumi.IntPtrInput `pulumi:"groupId"` - // The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `groupId`. - UserId pulumi.IntPtrInput `pulumi:"userId"` +type GetProjectMergeRequestsMergeRequestAuthorArgs struct { + // A link to the user's avatar image. + AvatarUrl pulumi.StringInput `pulumi:"avatarUrl"` + // The internal ID number of the user. + Id pulumi.IntInput `pulumi:"id"` + // The name of the user. + Name pulumi.StringInput `pulumi:"name"` + // The state of the user account. + State pulumi.StringInput `pulumi:"state"` + // The username of the user. + Username pulumi.StringInput `pulumi:"username"` + // A link to the user's profile page. + WebUrl pulumi.StringInput `pulumi:"webUrl"` } -func (GetProjectProtectedBranchPushAccessLevelArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectProtectedBranchPushAccessLevel)(nil)).Elem() +func (GetProjectMergeRequestsMergeRequestAuthorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectMergeRequestsMergeRequestAuthor)(nil)).Elem() } -func (i GetProjectProtectedBranchPushAccessLevelArgs) ToGetProjectProtectedBranchPushAccessLevelOutput() GetProjectProtectedBranchPushAccessLevelOutput { - return i.ToGetProjectProtectedBranchPushAccessLevelOutputWithContext(context.Background()) +func (i GetProjectMergeRequestsMergeRequestAuthorArgs) ToGetProjectMergeRequestsMergeRequestAuthorOutput() GetProjectMergeRequestsMergeRequestAuthorOutput { + return i.ToGetProjectMergeRequestsMergeRequestAuthorOutputWithContext(context.Background()) } -func (i GetProjectProtectedBranchPushAccessLevelArgs) ToGetProjectProtectedBranchPushAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedBranchPushAccessLevelOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchPushAccessLevelOutput) +func (i GetProjectMergeRequestsMergeRequestAuthorArgs) ToGetProjectMergeRequestsMergeRequestAuthorOutputWithContext(ctx context.Context) GetProjectMergeRequestsMergeRequestAuthorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectMergeRequestsMergeRequestAuthorOutput) } -// GetProjectProtectedBranchPushAccessLevelArrayInput is an input type that accepts GetProjectProtectedBranchPushAccessLevelArray and GetProjectProtectedBranchPushAccessLevelArrayOutput values. -// You can construct a concrete instance of `GetProjectProtectedBranchPushAccessLevelArrayInput` via: -// -// GetProjectProtectedBranchPushAccessLevelArray{ GetProjectProtectedBranchPushAccessLevelArgs{...} } -type GetProjectProtectedBranchPushAccessLevelArrayInput interface { - pulumi.Input +type GetProjectMergeRequestsMergeRequestAuthorOutput struct{ *pulumi.OutputState } - ToGetProjectProtectedBranchPushAccessLevelArrayOutput() GetProjectProtectedBranchPushAccessLevelArrayOutput - ToGetProjectProtectedBranchPushAccessLevelArrayOutputWithContext(context.Context) GetProjectProtectedBranchPushAccessLevelArrayOutput +func (GetProjectMergeRequestsMergeRequestAuthorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectMergeRequestsMergeRequestAuthor)(nil)).Elem() } -type GetProjectProtectedBranchPushAccessLevelArray []GetProjectProtectedBranchPushAccessLevelInput +func (o GetProjectMergeRequestsMergeRequestAuthorOutput) ToGetProjectMergeRequestsMergeRequestAuthorOutput() GetProjectMergeRequestsMergeRequestAuthorOutput { + return o +} -func (GetProjectProtectedBranchPushAccessLevelArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectProtectedBranchPushAccessLevel)(nil)).Elem() +func (o GetProjectMergeRequestsMergeRequestAuthorOutput) ToGetProjectMergeRequestsMergeRequestAuthorOutputWithContext(ctx context.Context) GetProjectMergeRequestsMergeRequestAuthorOutput { + return o } -func (i GetProjectProtectedBranchPushAccessLevelArray) ToGetProjectProtectedBranchPushAccessLevelArrayOutput() GetProjectProtectedBranchPushAccessLevelArrayOutput { - return i.ToGetProjectProtectedBranchPushAccessLevelArrayOutputWithContext(context.Background()) +// A link to the user's avatar image. +func (o GetProjectMergeRequestsMergeRequestAuthorOutput) AvatarUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestAuthor) string { return v.AvatarUrl }).(pulumi.StringOutput) } -func (i GetProjectProtectedBranchPushAccessLevelArray) ToGetProjectProtectedBranchPushAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchPushAccessLevelArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchPushAccessLevelArrayOutput) +// The internal ID number of the user. +func (o GetProjectMergeRequestsMergeRequestAuthorOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestAuthor) int { return v.Id }).(pulumi.IntOutput) } -type GetProjectProtectedBranchPushAccessLevelOutput struct{ *pulumi.OutputState } +// The name of the user. +func (o GetProjectMergeRequestsMergeRequestAuthorOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestAuthor) string { return v.Name }).(pulumi.StringOutput) +} -func (GetProjectProtectedBranchPushAccessLevelOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectProtectedBranchPushAccessLevel)(nil)).Elem() +// The state of the user account. +func (o GetProjectMergeRequestsMergeRequestAuthorOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestAuthor) string { return v.State }).(pulumi.StringOutput) } -func (o GetProjectProtectedBranchPushAccessLevelOutput) ToGetProjectProtectedBranchPushAccessLevelOutput() GetProjectProtectedBranchPushAccessLevelOutput { - return o +// The username of the user. +func (o GetProjectMergeRequestsMergeRequestAuthorOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestAuthor) string { return v.Username }).(pulumi.StringOutput) } -func (o GetProjectProtectedBranchPushAccessLevelOutput) ToGetProjectProtectedBranchPushAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedBranchPushAccessLevelOutput { - return o +// A link to the user's profile page. +func (o GetProjectMergeRequestsMergeRequestAuthorOutput) WebUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestAuthor) string { return v.WebUrl }).(pulumi.StringOutput) } -// Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`. -func (o GetProjectProtectedBranchPushAccessLevelOutput) AccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectProtectedBranchPushAccessLevel) string { return v.AccessLevel }).(pulumi.StringOutput) +type GetProjectMergeRequestsMergeRequestClosedBy struct { + // A link to the user's avatar image. + AvatarUrl string `pulumi:"avatarUrl"` + // The internal ID number of the user. + Id int `pulumi:"id"` + // The name of the user. + Name string `pulumi:"name"` + // The state of the user account. + State string `pulumi:"state"` + // The username of the user. + Username string `pulumi:"username"` + // A link to the user's profile page. + WebUrl string `pulumi:"webUrl"` } -// Readable description of access level. -func (o GetProjectProtectedBranchPushAccessLevelOutput) AccessLevelDescription() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectProtectedBranchPushAccessLevel) string { return v.AccessLevelDescription }).(pulumi.StringOutput) +// GetProjectMergeRequestsMergeRequestClosedByInput is an input type that accepts GetProjectMergeRequestsMergeRequestClosedByArgs and GetProjectMergeRequestsMergeRequestClosedByOutput values. +// You can construct a concrete instance of `GetProjectMergeRequestsMergeRequestClosedByInput` via: +// +// GetProjectMergeRequestsMergeRequestClosedByArgs{...} +type GetProjectMergeRequestsMergeRequestClosedByInput interface { + pulumi.Input + + ToGetProjectMergeRequestsMergeRequestClosedByOutput() GetProjectMergeRequestsMergeRequestClosedByOutput + ToGetProjectMergeRequestsMergeRequestClosedByOutputWithContext(context.Context) GetProjectMergeRequestsMergeRequestClosedByOutput } -// The ID of a GitLab deploy key allowed to perform the relevant action. Mutually exclusive with `groupId` and `userId`. This field is read-only until Gitlab 17.5. -func (o GetProjectProtectedBranchPushAccessLevelOutput) DeployKeyId() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetProjectProtectedBranchPushAccessLevel) *int { return v.DeployKeyId }).(pulumi.IntPtrOutput) +type GetProjectMergeRequestsMergeRequestClosedByArgs struct { + // A link to the user's avatar image. + AvatarUrl pulumi.StringInput `pulumi:"avatarUrl"` + // The internal ID number of the user. + Id pulumi.IntInput `pulumi:"id"` + // The name of the user. + Name pulumi.StringInput `pulumi:"name"` + // The state of the user account. + State pulumi.StringInput `pulumi:"state"` + // The username of the user. + Username pulumi.StringInput `pulumi:"username"` + // A link to the user's profile page. + WebUrl pulumi.StringInput `pulumi:"webUrl"` } -// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `userId`. -func (o GetProjectProtectedBranchPushAccessLevelOutput) GroupId() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetProjectProtectedBranchPushAccessLevel) *int { return v.GroupId }).(pulumi.IntPtrOutput) +func (GetProjectMergeRequestsMergeRequestClosedByArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectMergeRequestsMergeRequestClosedBy)(nil)).Elem() } -// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `groupId`. -func (o GetProjectProtectedBranchPushAccessLevelOutput) UserId() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetProjectProtectedBranchPushAccessLevel) *int { return v.UserId }).(pulumi.IntPtrOutput) +func (i GetProjectMergeRequestsMergeRequestClosedByArgs) ToGetProjectMergeRequestsMergeRequestClosedByOutput() GetProjectMergeRequestsMergeRequestClosedByOutput { + return i.ToGetProjectMergeRequestsMergeRequestClosedByOutputWithContext(context.Background()) } -type GetProjectProtectedBranchPushAccessLevelArrayOutput struct{ *pulumi.OutputState } +func (i GetProjectMergeRequestsMergeRequestClosedByArgs) ToGetProjectMergeRequestsMergeRequestClosedByOutputWithContext(ctx context.Context) GetProjectMergeRequestsMergeRequestClosedByOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectMergeRequestsMergeRequestClosedByOutput) +} -func (GetProjectProtectedBranchPushAccessLevelArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectProtectedBranchPushAccessLevel)(nil)).Elem() +type GetProjectMergeRequestsMergeRequestClosedByOutput struct{ *pulumi.OutputState } + +func (GetProjectMergeRequestsMergeRequestClosedByOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectMergeRequestsMergeRequestClosedBy)(nil)).Elem() } -func (o GetProjectProtectedBranchPushAccessLevelArrayOutput) ToGetProjectProtectedBranchPushAccessLevelArrayOutput() GetProjectProtectedBranchPushAccessLevelArrayOutput { +func (o GetProjectMergeRequestsMergeRequestClosedByOutput) ToGetProjectMergeRequestsMergeRequestClosedByOutput() GetProjectMergeRequestsMergeRequestClosedByOutput { return o } -func (o GetProjectProtectedBranchPushAccessLevelArrayOutput) ToGetProjectProtectedBranchPushAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchPushAccessLevelArrayOutput { +func (o GetProjectMergeRequestsMergeRequestClosedByOutput) ToGetProjectMergeRequestsMergeRequestClosedByOutputWithContext(ctx context.Context) GetProjectMergeRequestsMergeRequestClosedByOutput { return o } -func (o GetProjectProtectedBranchPushAccessLevelArrayOutput) Index(i pulumi.IntInput) GetProjectProtectedBranchPushAccessLevelOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectProtectedBranchPushAccessLevel { - return vs[0].([]GetProjectProtectedBranchPushAccessLevel)[vs[1].(int)] - }).(GetProjectProtectedBranchPushAccessLevelOutput) +// A link to the user's avatar image. +func (o GetProjectMergeRequestsMergeRequestClosedByOutput) AvatarUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestClosedBy) string { return v.AvatarUrl }).(pulumi.StringOutput) } -type GetProjectProtectedBranchesProtectedBranch struct { - // Whether force push is allowed. - AllowForcePush bool `pulumi:"allowForcePush"` - // Reject code pushes that change files listed in the CODEOWNERS file. - CodeOwnerApprovalRequired bool `pulumi:"codeOwnerApprovalRequired"` - // The ID of this resource. - Id int `pulumi:"id"` - // Array of access levels and user(s)/group(s) allowed to merge to protected branch. - MergeAccessLevels []GetProjectProtectedBranchesProtectedBranchMergeAccessLevel `pulumi:"mergeAccessLevels"` - // The name of the protected branch. - Name string `pulumi:"name"` - // Array of access levels and user(s)/group(s) allowed to push to protected branch. - PushAccessLevels []GetProjectProtectedBranchesProtectedBranchPushAccessLevel `pulumi:"pushAccessLevels"` +// The internal ID number of the user. +func (o GetProjectMergeRequestsMergeRequestClosedByOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestClosedBy) int { return v.Id }).(pulumi.IntOutput) } -// GetProjectProtectedBranchesProtectedBranchInput is an input type that accepts GetProjectProtectedBranchesProtectedBranchArgs and GetProjectProtectedBranchesProtectedBranchOutput values. -// You can construct a concrete instance of `GetProjectProtectedBranchesProtectedBranchInput` via: +// The name of the user. +func (o GetProjectMergeRequestsMergeRequestClosedByOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestClosedBy) string { return v.Name }).(pulumi.StringOutput) +} + +// The state of the user account. +func (o GetProjectMergeRequestsMergeRequestClosedByOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestClosedBy) string { return v.State }).(pulumi.StringOutput) +} + +// The username of the user. +func (o GetProjectMergeRequestsMergeRequestClosedByOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestClosedBy) string { return v.Username }).(pulumi.StringOutput) +} + +// A link to the user's profile page. +func (o GetProjectMergeRequestsMergeRequestClosedByOutput) WebUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMergeRequestsMergeRequestClosedBy) string { return v.WebUrl }).(pulumi.StringOutput) +} + +type GetProjectMilestonesMilestone struct { + // The time of creation of the milestone. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. + CreatedAt string `pulumi:"createdAt"` + // The description of the milestone. + Description string `pulumi:"description"` + // The due date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. + DueDate string `pulumi:"dueDate"` + // Bool, true if milestone expired. + Expired bool `pulumi:"expired"` + // The ID of the project's milestone. + Iid int `pulumi:"iid"` + // The instance-wide ID of the project's milestone. + MilestoneId int `pulumi:"milestoneId"` + // The ID or URL-encoded path of the project owned by the authenticated user. + Project string `pulumi:"project"` + // The project ID of milestone. + ProjectId int `pulumi:"projectId"` + // The start date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. + StartDate string `pulumi:"startDate"` + // The state of the milestone. Valid values are: `active`, `closed`. + State string `pulumi:"state"` + // The title of a milestone. + Title string `pulumi:"title"` + // The last update time of the milestone. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. + UpdatedAt string `pulumi:"updatedAt"` + // The web URL of the milestone. + WebUrl string `pulumi:"webUrl"` +} + +// GetProjectMilestonesMilestoneInput is an input type that accepts GetProjectMilestonesMilestoneArgs and GetProjectMilestonesMilestoneOutput values. +// You can construct a concrete instance of `GetProjectMilestonesMilestoneInput` via: // -// GetProjectProtectedBranchesProtectedBranchArgs{...} -type GetProjectProtectedBranchesProtectedBranchInput interface { +// GetProjectMilestonesMilestoneArgs{...} +type GetProjectMilestonesMilestoneInput interface { pulumi.Input - ToGetProjectProtectedBranchesProtectedBranchOutput() GetProjectProtectedBranchesProtectedBranchOutput - ToGetProjectProtectedBranchesProtectedBranchOutputWithContext(context.Context) GetProjectProtectedBranchesProtectedBranchOutput + ToGetProjectMilestonesMilestoneOutput() GetProjectMilestonesMilestoneOutput + ToGetProjectMilestonesMilestoneOutputWithContext(context.Context) GetProjectMilestonesMilestoneOutput } -type GetProjectProtectedBranchesProtectedBranchArgs struct { - // Whether force push is allowed. - AllowForcePush pulumi.BoolInput `pulumi:"allowForcePush"` - // Reject code pushes that change files listed in the CODEOWNERS file. - CodeOwnerApprovalRequired pulumi.BoolInput `pulumi:"codeOwnerApprovalRequired"` - // The ID of this resource. - Id pulumi.IntInput `pulumi:"id"` - // Array of access levels and user(s)/group(s) allowed to merge to protected branch. - MergeAccessLevels GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayInput `pulumi:"mergeAccessLevels"` - // The name of the protected branch. - Name pulumi.StringInput `pulumi:"name"` - // Array of access levels and user(s)/group(s) allowed to push to protected branch. - PushAccessLevels GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayInput `pulumi:"pushAccessLevels"` +type GetProjectMilestonesMilestoneArgs struct { + // The time of creation of the milestone. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The description of the milestone. + Description pulumi.StringInput `pulumi:"description"` + // The due date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. + DueDate pulumi.StringInput `pulumi:"dueDate"` + // Bool, true if milestone expired. + Expired pulumi.BoolInput `pulumi:"expired"` + // The ID of the project's milestone. + Iid pulumi.IntInput `pulumi:"iid"` + // The instance-wide ID of the project's milestone. + MilestoneId pulumi.IntInput `pulumi:"milestoneId"` + // The ID or URL-encoded path of the project owned by the authenticated user. + Project pulumi.StringInput `pulumi:"project"` + // The project ID of milestone. + ProjectId pulumi.IntInput `pulumi:"projectId"` + // The start date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. + StartDate pulumi.StringInput `pulumi:"startDate"` + // The state of the milestone. Valid values are: `active`, `closed`. + State pulumi.StringInput `pulumi:"state"` + // The title of a milestone. + Title pulumi.StringInput `pulumi:"title"` + // The last update time of the milestone. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` + // The web URL of the milestone. + WebUrl pulumi.StringInput `pulumi:"webUrl"` } -func (GetProjectProtectedBranchesProtectedBranchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectProtectedBranchesProtectedBranch)(nil)).Elem() +func (GetProjectMilestonesMilestoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectMilestonesMilestone)(nil)).Elem() } -func (i GetProjectProtectedBranchesProtectedBranchArgs) ToGetProjectProtectedBranchesProtectedBranchOutput() GetProjectProtectedBranchesProtectedBranchOutput { - return i.ToGetProjectProtectedBranchesProtectedBranchOutputWithContext(context.Background()) +func (i GetProjectMilestonesMilestoneArgs) ToGetProjectMilestonesMilestoneOutput() GetProjectMilestonesMilestoneOutput { + return i.ToGetProjectMilestonesMilestoneOutputWithContext(context.Background()) } -func (i GetProjectProtectedBranchesProtectedBranchArgs) ToGetProjectProtectedBranchesProtectedBranchOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchesProtectedBranchOutput) +func (i GetProjectMilestonesMilestoneArgs) ToGetProjectMilestonesMilestoneOutputWithContext(ctx context.Context) GetProjectMilestonesMilestoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectMilestonesMilestoneOutput) } -// GetProjectProtectedBranchesProtectedBranchArrayInput is an input type that accepts GetProjectProtectedBranchesProtectedBranchArray and GetProjectProtectedBranchesProtectedBranchArrayOutput values. -// You can construct a concrete instance of `GetProjectProtectedBranchesProtectedBranchArrayInput` via: +// GetProjectMilestonesMilestoneArrayInput is an input type that accepts GetProjectMilestonesMilestoneArray and GetProjectMilestonesMilestoneArrayOutput values. +// You can construct a concrete instance of `GetProjectMilestonesMilestoneArrayInput` via: // -// GetProjectProtectedBranchesProtectedBranchArray{ GetProjectProtectedBranchesProtectedBranchArgs{...} } -type GetProjectProtectedBranchesProtectedBranchArrayInput interface { +// GetProjectMilestonesMilestoneArray{ GetProjectMilestonesMilestoneArgs{...} } +type GetProjectMilestonesMilestoneArrayInput interface { pulumi.Input - ToGetProjectProtectedBranchesProtectedBranchArrayOutput() GetProjectProtectedBranchesProtectedBranchArrayOutput - ToGetProjectProtectedBranchesProtectedBranchArrayOutputWithContext(context.Context) GetProjectProtectedBranchesProtectedBranchArrayOutput + ToGetProjectMilestonesMilestoneArrayOutput() GetProjectMilestonesMilestoneArrayOutput + ToGetProjectMilestonesMilestoneArrayOutputWithContext(context.Context) GetProjectMilestonesMilestoneArrayOutput } -type GetProjectProtectedBranchesProtectedBranchArray []GetProjectProtectedBranchesProtectedBranchInput +type GetProjectMilestonesMilestoneArray []GetProjectMilestonesMilestoneInput -func (GetProjectProtectedBranchesProtectedBranchArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectProtectedBranchesProtectedBranch)(nil)).Elem() +func (GetProjectMilestonesMilestoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectMilestonesMilestone)(nil)).Elem() } -func (i GetProjectProtectedBranchesProtectedBranchArray) ToGetProjectProtectedBranchesProtectedBranchArrayOutput() GetProjectProtectedBranchesProtectedBranchArrayOutput { - return i.ToGetProjectProtectedBranchesProtectedBranchArrayOutputWithContext(context.Background()) +func (i GetProjectMilestonesMilestoneArray) ToGetProjectMilestonesMilestoneArrayOutput() GetProjectMilestonesMilestoneArrayOutput { + return i.ToGetProjectMilestonesMilestoneArrayOutputWithContext(context.Background()) } -func (i GetProjectProtectedBranchesProtectedBranchArray) ToGetProjectProtectedBranchesProtectedBranchArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchesProtectedBranchArrayOutput) +func (i GetProjectMilestonesMilestoneArray) ToGetProjectMilestonesMilestoneArrayOutputWithContext(ctx context.Context) GetProjectMilestonesMilestoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectMilestonesMilestoneArrayOutput) } -type GetProjectProtectedBranchesProtectedBranchOutput struct{ *pulumi.OutputState } +type GetProjectMilestonesMilestoneOutput struct{ *pulumi.OutputState } -func (GetProjectProtectedBranchesProtectedBranchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectProtectedBranchesProtectedBranch)(nil)).Elem() +func (GetProjectMilestonesMilestoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectMilestonesMilestone)(nil)).Elem() } -func (o GetProjectProtectedBranchesProtectedBranchOutput) ToGetProjectProtectedBranchesProtectedBranchOutput() GetProjectProtectedBranchesProtectedBranchOutput { +func (o GetProjectMilestonesMilestoneOutput) ToGetProjectMilestonesMilestoneOutput() GetProjectMilestonesMilestoneOutput { return o } -func (o GetProjectProtectedBranchesProtectedBranchOutput) ToGetProjectProtectedBranchesProtectedBranchOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchOutput { +func (o GetProjectMilestonesMilestoneOutput) ToGetProjectMilestonesMilestoneOutputWithContext(ctx context.Context) GetProjectMilestonesMilestoneOutput { return o } -// Whether force push is allowed. -func (o GetProjectProtectedBranchesProtectedBranchOutput) AllowForcePush() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranch) bool { return v.AllowForcePush }).(pulumi.BoolOutput) +// The time of creation of the milestone. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. +func (o GetProjectMilestonesMilestoneOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.CreatedAt }).(pulumi.StringOutput) } -// Reject code pushes that change files listed in the CODEOWNERS file. -func (o GetProjectProtectedBranchesProtectedBranchOutput) CodeOwnerApprovalRequired() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranch) bool { return v.CodeOwnerApprovalRequired }).(pulumi.BoolOutput) +// The description of the milestone. +func (o GetProjectMilestonesMilestoneOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.Description }).(pulumi.StringOutput) } -// The ID of this resource. -func (o GetProjectProtectedBranchesProtectedBranchOutput) Id() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranch) int { return v.Id }).(pulumi.IntOutput) +// The due date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. +func (o GetProjectMilestonesMilestoneOutput) DueDate() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.DueDate }).(pulumi.StringOutput) } -// Array of access levels and user(s)/group(s) allowed to merge to protected branch. -func (o GetProjectProtectedBranchesProtectedBranchOutput) MergeAccessLevels() GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput { - return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranch) []GetProjectProtectedBranchesProtectedBranchMergeAccessLevel { - return v.MergeAccessLevels - }).(GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput) +// Bool, true if milestone expired. +func (o GetProjectMilestonesMilestoneOutput) Expired() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectMilestonesMilestone) bool { return v.Expired }).(pulumi.BoolOutput) } -// The name of the protected branch. -func (o GetProjectProtectedBranchesProtectedBranchOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranch) string { return v.Name }).(pulumi.StringOutput) +// The ID of the project's milestone. +func (o GetProjectMilestonesMilestoneOutput) Iid() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectMilestonesMilestone) int { return v.Iid }).(pulumi.IntOutput) } -// Array of access levels and user(s)/group(s) allowed to push to protected branch. -func (o GetProjectProtectedBranchesProtectedBranchOutput) PushAccessLevels() GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput { - return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranch) []GetProjectProtectedBranchesProtectedBranchPushAccessLevel { - return v.PushAccessLevels - }).(GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput) +// The instance-wide ID of the project's milestone. +func (o GetProjectMilestonesMilestoneOutput) MilestoneId() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectMilestonesMilestone) int { return v.MilestoneId }).(pulumi.IntOutput) } -type GetProjectProtectedBranchesProtectedBranchArrayOutput struct{ *pulumi.OutputState } +// The ID or URL-encoded path of the project owned by the authenticated user. +func (o GetProjectMilestonesMilestoneOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.Project }).(pulumi.StringOutput) +} -func (GetProjectProtectedBranchesProtectedBranchArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectProtectedBranchesProtectedBranch)(nil)).Elem() +// The project ID of milestone. +func (o GetProjectMilestonesMilestoneOutput) ProjectId() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectMilestonesMilestone) int { return v.ProjectId }).(pulumi.IntOutput) } -func (o GetProjectProtectedBranchesProtectedBranchArrayOutput) ToGetProjectProtectedBranchesProtectedBranchArrayOutput() GetProjectProtectedBranchesProtectedBranchArrayOutput { +// The start date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11. +func (o GetProjectMilestonesMilestoneOutput) StartDate() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.StartDate }).(pulumi.StringOutput) +} + +// The state of the milestone. Valid values are: `active`, `closed`. +func (o GetProjectMilestonesMilestoneOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.State }).(pulumi.StringOutput) +} + +// The title of a milestone. +func (o GetProjectMilestonesMilestoneOutput) Title() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.Title }).(pulumi.StringOutput) +} + +// The last update time of the milestone. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. +func (o GetProjectMilestonesMilestoneOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +// The web URL of the milestone. +func (o GetProjectMilestonesMilestoneOutput) WebUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectMilestonesMilestone) string { return v.WebUrl }).(pulumi.StringOutput) +} + +type GetProjectMilestonesMilestoneArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectMilestonesMilestoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectMilestonesMilestone)(nil)).Elem() +} + +func (o GetProjectMilestonesMilestoneArrayOutput) ToGetProjectMilestonesMilestoneArrayOutput() GetProjectMilestonesMilestoneArrayOutput { return o } -func (o GetProjectProtectedBranchesProtectedBranchArrayOutput) ToGetProjectProtectedBranchesProtectedBranchArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchArrayOutput { +func (o GetProjectMilestonesMilestoneArrayOutput) ToGetProjectMilestonesMilestoneArrayOutputWithContext(ctx context.Context) GetProjectMilestonesMilestoneArrayOutput { return o } -func (o GetProjectProtectedBranchesProtectedBranchArrayOutput) Index(i pulumi.IntInput) GetProjectProtectedBranchesProtectedBranchOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectProtectedBranchesProtectedBranch { - return vs[0].([]GetProjectProtectedBranchesProtectedBranch)[vs[1].(int)] - }).(GetProjectProtectedBranchesProtectedBranchOutput) +func (o GetProjectMilestonesMilestoneArrayOutput) Index(i pulumi.IntInput) GetProjectMilestonesMilestoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectMilestonesMilestone { + return vs[0].([]GetProjectMilestonesMilestone)[vs[1].(int)] + }).(GetProjectMilestonesMilestoneOutput) } -type GetProjectProtectedBranchesProtectedBranchMergeAccessLevel struct { - // Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. +type GetProjectProtectedBranchMergeAccessLevel struct { + // Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. AccessLevel string `pulumi:"accessLevel"` // Readable description of access level. AccessLevelDescription string `pulumi:"accessLevelDescription"` @@ -11552,19 +13754,19 @@ type GetProjectProtectedBranchesProtectedBranchMergeAccessLevel struct { UserId *int `pulumi:"userId"` } -// GetProjectProtectedBranchesProtectedBranchMergeAccessLevelInput is an input type that accepts GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs and GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput values. -// You can construct a concrete instance of `GetProjectProtectedBranchesProtectedBranchMergeAccessLevelInput` via: +// GetProjectProtectedBranchMergeAccessLevelInput is an input type that accepts GetProjectProtectedBranchMergeAccessLevelArgs and GetProjectProtectedBranchMergeAccessLevelOutput values. +// You can construct a concrete instance of `GetProjectProtectedBranchMergeAccessLevelInput` via: // -// GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs{...} -type GetProjectProtectedBranchesProtectedBranchMergeAccessLevelInput interface { +// GetProjectProtectedBranchMergeAccessLevelArgs{...} +type GetProjectProtectedBranchMergeAccessLevelInput interface { pulumi.Input - ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput() GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput - ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutputWithContext(context.Context) GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput + ToGetProjectProtectedBranchMergeAccessLevelOutput() GetProjectProtectedBranchMergeAccessLevelOutput + ToGetProjectProtectedBranchMergeAccessLevelOutputWithContext(context.Context) GetProjectProtectedBranchMergeAccessLevelOutput } -type GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs struct { - // Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. +type GetProjectProtectedBranchMergeAccessLevelArgs struct { + // Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. AccessLevel pulumi.StringInput `pulumi:"accessLevel"` // Readable description of access level. AccessLevelDescription pulumi.StringInput `pulumi:"accessLevelDescription"` @@ -11574,101 +13776,99 @@ type GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs struct { UserId pulumi.IntPtrInput `pulumi:"userId"` } -func (GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectProtectedBranchesProtectedBranchMergeAccessLevel)(nil)).Elem() +func (GetProjectProtectedBranchMergeAccessLevelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectProtectedBranchMergeAccessLevel)(nil)).Elem() } -func (i GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs) ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput() GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput { - return i.ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutputWithContext(context.Background()) +func (i GetProjectProtectedBranchMergeAccessLevelArgs) ToGetProjectProtectedBranchMergeAccessLevelOutput() GetProjectProtectedBranchMergeAccessLevelOutput { + return i.ToGetProjectProtectedBranchMergeAccessLevelOutputWithContext(context.Background()) } -func (i GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs) ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) +func (i GetProjectProtectedBranchMergeAccessLevelArgs) ToGetProjectProtectedBranchMergeAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedBranchMergeAccessLevelOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchMergeAccessLevelOutput) } -// GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayInput is an input type that accepts GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArray and GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput values. -// You can construct a concrete instance of `GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayInput` via: +// GetProjectProtectedBranchMergeAccessLevelArrayInput is an input type that accepts GetProjectProtectedBranchMergeAccessLevelArray and GetProjectProtectedBranchMergeAccessLevelArrayOutput values. +// You can construct a concrete instance of `GetProjectProtectedBranchMergeAccessLevelArrayInput` via: // -// GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArray{ GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs{...} } -type GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayInput interface { +// GetProjectProtectedBranchMergeAccessLevelArray{ GetProjectProtectedBranchMergeAccessLevelArgs{...} } +type GetProjectProtectedBranchMergeAccessLevelArrayInput interface { pulumi.Input - ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput() GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput - ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutputWithContext(context.Context) GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput + ToGetProjectProtectedBranchMergeAccessLevelArrayOutput() GetProjectProtectedBranchMergeAccessLevelArrayOutput + ToGetProjectProtectedBranchMergeAccessLevelArrayOutputWithContext(context.Context) GetProjectProtectedBranchMergeAccessLevelArrayOutput } -type GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArray []GetProjectProtectedBranchesProtectedBranchMergeAccessLevelInput +type GetProjectProtectedBranchMergeAccessLevelArray []GetProjectProtectedBranchMergeAccessLevelInput -func (GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectProtectedBranchesProtectedBranchMergeAccessLevel)(nil)).Elem() +func (GetProjectProtectedBranchMergeAccessLevelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectProtectedBranchMergeAccessLevel)(nil)).Elem() } -func (i GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArray) ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput() GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput { - return i.ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutputWithContext(context.Background()) +func (i GetProjectProtectedBranchMergeAccessLevelArray) ToGetProjectProtectedBranchMergeAccessLevelArrayOutput() GetProjectProtectedBranchMergeAccessLevelArrayOutput { + return i.ToGetProjectProtectedBranchMergeAccessLevelArrayOutputWithContext(context.Background()) } -func (i GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArray) ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput) +func (i GetProjectProtectedBranchMergeAccessLevelArray) ToGetProjectProtectedBranchMergeAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchMergeAccessLevelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchMergeAccessLevelArrayOutput) } -type GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput struct{ *pulumi.OutputState } +type GetProjectProtectedBranchMergeAccessLevelOutput struct{ *pulumi.OutputState } -func (GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectProtectedBranchesProtectedBranchMergeAccessLevel)(nil)).Elem() +func (GetProjectProtectedBranchMergeAccessLevelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectProtectedBranchMergeAccessLevel)(nil)).Elem() } -func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput() GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput { +func (o GetProjectProtectedBranchMergeAccessLevelOutput) ToGetProjectProtectedBranchMergeAccessLevelOutput() GetProjectProtectedBranchMergeAccessLevelOutput { return o } -func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput { +func (o GetProjectProtectedBranchMergeAccessLevelOutput) ToGetProjectProtectedBranchMergeAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedBranchMergeAccessLevelOutput { return o } -// Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. -func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) AccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchMergeAccessLevel) string { return v.AccessLevel }).(pulumi.StringOutput) +// Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. +func (o GetProjectProtectedBranchMergeAccessLevelOutput) AccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectProtectedBranchMergeAccessLevel) string { return v.AccessLevel }).(pulumi.StringOutput) } // Readable description of access level. -func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) AccessLevelDescription() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchMergeAccessLevel) string { - return v.AccessLevelDescription - }).(pulumi.StringOutput) +func (o GetProjectProtectedBranchMergeAccessLevelOutput) AccessLevelDescription() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectProtectedBranchMergeAccessLevel) string { return v.AccessLevelDescription }).(pulumi.StringOutput) } // The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `userId`. -func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) GroupId() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchMergeAccessLevel) *int { return v.GroupId }).(pulumi.IntPtrOutput) +func (o GetProjectProtectedBranchMergeAccessLevelOutput) GroupId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectProtectedBranchMergeAccessLevel) *int { return v.GroupId }).(pulumi.IntPtrOutput) } // The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `groupId`. -func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) UserId() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchMergeAccessLevel) *int { return v.UserId }).(pulumi.IntPtrOutput) +func (o GetProjectProtectedBranchMergeAccessLevelOutput) UserId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectProtectedBranchMergeAccessLevel) *int { return v.UserId }).(pulumi.IntPtrOutput) } -type GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput struct{ *pulumi.OutputState } +type GetProjectProtectedBranchMergeAccessLevelArrayOutput struct{ *pulumi.OutputState } -func (GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectProtectedBranchesProtectedBranchMergeAccessLevel)(nil)).Elem() +func (GetProjectProtectedBranchMergeAccessLevelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectProtectedBranchMergeAccessLevel)(nil)).Elem() } -func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput) ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput() GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput { +func (o GetProjectProtectedBranchMergeAccessLevelArrayOutput) ToGetProjectProtectedBranchMergeAccessLevelArrayOutput() GetProjectProtectedBranchMergeAccessLevelArrayOutput { return o } -func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput) ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput { +func (o GetProjectProtectedBranchMergeAccessLevelArrayOutput) ToGetProjectProtectedBranchMergeAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchMergeAccessLevelArrayOutput { return o } -func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput) Index(i pulumi.IntInput) GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectProtectedBranchesProtectedBranchMergeAccessLevel { - return vs[0].([]GetProjectProtectedBranchesProtectedBranchMergeAccessLevel)[vs[1].(int)] - }).(GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) +func (o GetProjectProtectedBranchMergeAccessLevelArrayOutput) Index(i pulumi.IntInput) GetProjectProtectedBranchMergeAccessLevelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectProtectedBranchMergeAccessLevel { + return vs[0].([]GetProjectProtectedBranchMergeAccessLevel)[vs[1].(int)] + }).(GetProjectProtectedBranchMergeAccessLevelOutput) } -type GetProjectProtectedBranchesProtectedBranchPushAccessLevel struct { - // Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`. +type GetProjectProtectedBranchPushAccessLevel struct { + // Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. AccessLevel string `pulumi:"accessLevel"` // Readable description of access level. AccessLevelDescription string `pulumi:"accessLevelDescription"` @@ -11680,19 +13880,19 @@ type GetProjectProtectedBranchesProtectedBranchPushAccessLevel struct { UserId *int `pulumi:"userId"` } -// GetProjectProtectedBranchesProtectedBranchPushAccessLevelInput is an input type that accepts GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs and GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput values. -// You can construct a concrete instance of `GetProjectProtectedBranchesProtectedBranchPushAccessLevelInput` via: +// GetProjectProtectedBranchPushAccessLevelInput is an input type that accepts GetProjectProtectedBranchPushAccessLevelArgs and GetProjectProtectedBranchPushAccessLevelOutput values. +// You can construct a concrete instance of `GetProjectProtectedBranchPushAccessLevelInput` via: // -// GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs{...} -type GetProjectProtectedBranchesProtectedBranchPushAccessLevelInput interface { +// GetProjectProtectedBranchPushAccessLevelArgs{...} +type GetProjectProtectedBranchPushAccessLevelInput interface { pulumi.Input - ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput() GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput - ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelOutputWithContext(context.Context) GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput + ToGetProjectProtectedBranchPushAccessLevelOutput() GetProjectProtectedBranchPushAccessLevelOutput + ToGetProjectProtectedBranchPushAccessLevelOutputWithContext(context.Context) GetProjectProtectedBranchPushAccessLevelOutput } -type GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs struct { - // Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`. +type GetProjectProtectedBranchPushAccessLevelArgs struct { + // Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. AccessLevel pulumi.StringInput `pulumi:"accessLevel"` // Readable description of access level. AccessLevelDescription pulumi.StringInput `pulumi:"accessLevelDescription"` @@ -11704,4387 +13904,6324 @@ type GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs struct { UserId pulumi.IntPtrInput `pulumi:"userId"` } -func (GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectProtectedBranchesProtectedBranchPushAccessLevel)(nil)).Elem() +func (GetProjectProtectedBranchPushAccessLevelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectProtectedBranchPushAccessLevel)(nil)).Elem() } -func (i GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs) ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput() GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput { - return i.ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelOutputWithContext(context.Background()) +func (i GetProjectProtectedBranchPushAccessLevelArgs) ToGetProjectProtectedBranchPushAccessLevelOutput() GetProjectProtectedBranchPushAccessLevelOutput { + return i.ToGetProjectProtectedBranchPushAccessLevelOutputWithContext(context.Background()) } -func (i GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs) ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) +func (i GetProjectProtectedBranchPushAccessLevelArgs) ToGetProjectProtectedBranchPushAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedBranchPushAccessLevelOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchPushAccessLevelOutput) } -// GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayInput is an input type that accepts GetProjectProtectedBranchesProtectedBranchPushAccessLevelArray and GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput values. -// You can construct a concrete instance of `GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayInput` via: +// GetProjectProtectedBranchPushAccessLevelArrayInput is an input type that accepts GetProjectProtectedBranchPushAccessLevelArray and GetProjectProtectedBranchPushAccessLevelArrayOutput values. +// You can construct a concrete instance of `GetProjectProtectedBranchPushAccessLevelArrayInput` via: // -// GetProjectProtectedBranchesProtectedBranchPushAccessLevelArray{ GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs{...} } -type GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayInput interface { +// GetProjectProtectedBranchPushAccessLevelArray{ GetProjectProtectedBranchPushAccessLevelArgs{...} } +type GetProjectProtectedBranchPushAccessLevelArrayInput interface { pulumi.Input - ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput() GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput - ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutputWithContext(context.Context) GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput + ToGetProjectProtectedBranchPushAccessLevelArrayOutput() GetProjectProtectedBranchPushAccessLevelArrayOutput + ToGetProjectProtectedBranchPushAccessLevelArrayOutputWithContext(context.Context) GetProjectProtectedBranchPushAccessLevelArrayOutput } -type GetProjectProtectedBranchesProtectedBranchPushAccessLevelArray []GetProjectProtectedBranchesProtectedBranchPushAccessLevelInput +type GetProjectProtectedBranchPushAccessLevelArray []GetProjectProtectedBranchPushAccessLevelInput -func (GetProjectProtectedBranchesProtectedBranchPushAccessLevelArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectProtectedBranchesProtectedBranchPushAccessLevel)(nil)).Elem() +func (GetProjectProtectedBranchPushAccessLevelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectProtectedBranchPushAccessLevel)(nil)).Elem() } -func (i GetProjectProtectedBranchesProtectedBranchPushAccessLevelArray) ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput() GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput { - return i.ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutputWithContext(context.Background()) +func (i GetProjectProtectedBranchPushAccessLevelArray) ToGetProjectProtectedBranchPushAccessLevelArrayOutput() GetProjectProtectedBranchPushAccessLevelArrayOutput { + return i.ToGetProjectProtectedBranchPushAccessLevelArrayOutputWithContext(context.Background()) } -func (i GetProjectProtectedBranchesProtectedBranchPushAccessLevelArray) ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput) +func (i GetProjectProtectedBranchPushAccessLevelArray) ToGetProjectProtectedBranchPushAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchPushAccessLevelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchPushAccessLevelArrayOutput) } -type GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput struct{ *pulumi.OutputState } +type GetProjectProtectedBranchPushAccessLevelOutput struct{ *pulumi.OutputState } -func (GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectProtectedBranchesProtectedBranchPushAccessLevel)(nil)).Elem() +func (GetProjectProtectedBranchPushAccessLevelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectProtectedBranchPushAccessLevel)(nil)).Elem() } -func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput() GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput { +func (o GetProjectProtectedBranchPushAccessLevelOutput) ToGetProjectProtectedBranchPushAccessLevelOutput() GetProjectProtectedBranchPushAccessLevelOutput { return o } -func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput { +func (o GetProjectProtectedBranchPushAccessLevelOutput) ToGetProjectProtectedBranchPushAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedBranchPushAccessLevelOutput { return o } -// Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`. -func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) AccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchPushAccessLevel) string { return v.AccessLevel }).(pulumi.StringOutput) +// Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. +func (o GetProjectProtectedBranchPushAccessLevelOutput) AccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectProtectedBranchPushAccessLevel) string { return v.AccessLevel }).(pulumi.StringOutput) } // Readable description of access level. -func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) AccessLevelDescription() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchPushAccessLevel) string { - return v.AccessLevelDescription - }).(pulumi.StringOutput) +func (o GetProjectProtectedBranchPushAccessLevelOutput) AccessLevelDescription() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectProtectedBranchPushAccessLevel) string { return v.AccessLevelDescription }).(pulumi.StringOutput) } // The ID of a GitLab deploy key allowed to perform the relevant action. Mutually exclusive with `groupId` and `userId`. This field is read-only until Gitlab 17.5. -func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) DeployKeyId() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchPushAccessLevel) *int { return v.DeployKeyId }).(pulumi.IntPtrOutput) +func (o GetProjectProtectedBranchPushAccessLevelOutput) DeployKeyId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectProtectedBranchPushAccessLevel) *int { return v.DeployKeyId }).(pulumi.IntPtrOutput) } // The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `userId`. -func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) GroupId() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchPushAccessLevel) *int { return v.GroupId }).(pulumi.IntPtrOutput) +func (o GetProjectProtectedBranchPushAccessLevelOutput) GroupId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectProtectedBranchPushAccessLevel) *int { return v.GroupId }).(pulumi.IntPtrOutput) } // The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `groupId`. -func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) UserId() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchPushAccessLevel) *int { return v.UserId }).(pulumi.IntPtrOutput) +func (o GetProjectProtectedBranchPushAccessLevelOutput) UserId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectProtectedBranchPushAccessLevel) *int { return v.UserId }).(pulumi.IntPtrOutput) } -type GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput struct{ *pulumi.OutputState } +type GetProjectProtectedBranchPushAccessLevelArrayOutput struct{ *pulumi.OutputState } -func (GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectProtectedBranchesProtectedBranchPushAccessLevel)(nil)).Elem() +func (GetProjectProtectedBranchPushAccessLevelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectProtectedBranchPushAccessLevel)(nil)).Elem() } -func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput) ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput() GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput { +func (o GetProjectProtectedBranchPushAccessLevelArrayOutput) ToGetProjectProtectedBranchPushAccessLevelArrayOutput() GetProjectProtectedBranchPushAccessLevelArrayOutput { return o } -func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput) ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput { +func (o GetProjectProtectedBranchPushAccessLevelArrayOutput) ToGetProjectProtectedBranchPushAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchPushAccessLevelArrayOutput { return o } -func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput) Index(i pulumi.IntInput) GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectProtectedBranchesProtectedBranchPushAccessLevel { - return vs[0].([]GetProjectProtectedBranchesProtectedBranchPushAccessLevel)[vs[1].(int)] - }).(GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) +func (o GetProjectProtectedBranchPushAccessLevelArrayOutput) Index(i pulumi.IntInput) GetProjectProtectedBranchPushAccessLevelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectProtectedBranchPushAccessLevel { + return vs[0].([]GetProjectProtectedBranchPushAccessLevel)[vs[1].(int)] + }).(GetProjectProtectedBranchPushAccessLevelOutput) } -type GetProjectProtectedTagCreateAccessLevel struct { - // Access level allowed to create protected tags. - AccessLevel string `pulumi:"accessLevel"` - // Readable description of access level. - AccessLevelDescription string `pulumi:"accessLevelDescription"` - // The ID of a GitLab group allowed to perform the relevant action. - GroupId *int `pulumi:"groupId"` - // The ID of the create access level. +type GetProjectProtectedBranchesProtectedBranch struct { + // Whether force push is allowed. + AllowForcePush bool `pulumi:"allowForcePush"` + // Reject code pushes that change files listed in the CODEOWNERS file. + CodeOwnerApprovalRequired bool `pulumi:"codeOwnerApprovalRequired"` + // The ID of this resource. Id int `pulumi:"id"` - // The ID of a GitLab user allowed to perform the relevant action. - UserId *int `pulumi:"userId"` + // Array of access levels and user(s)/group(s) allowed to merge to protected branch. + MergeAccessLevels []GetProjectProtectedBranchesProtectedBranchMergeAccessLevel `pulumi:"mergeAccessLevels"` + // The name of the protected branch. + Name string `pulumi:"name"` + // Array of access levels and user(s)/group(s) allowed to push to protected branch. + PushAccessLevels []GetProjectProtectedBranchesProtectedBranchPushAccessLevel `pulumi:"pushAccessLevels"` } -// GetProjectProtectedTagCreateAccessLevelInput is an input type that accepts GetProjectProtectedTagCreateAccessLevelArgs and GetProjectProtectedTagCreateAccessLevelOutput values. -// You can construct a concrete instance of `GetProjectProtectedTagCreateAccessLevelInput` via: +// GetProjectProtectedBranchesProtectedBranchInput is an input type that accepts GetProjectProtectedBranchesProtectedBranchArgs and GetProjectProtectedBranchesProtectedBranchOutput values. +// You can construct a concrete instance of `GetProjectProtectedBranchesProtectedBranchInput` via: // -// GetProjectProtectedTagCreateAccessLevelArgs{...} -type GetProjectProtectedTagCreateAccessLevelInput interface { +// GetProjectProtectedBranchesProtectedBranchArgs{...} +type GetProjectProtectedBranchesProtectedBranchInput interface { pulumi.Input - ToGetProjectProtectedTagCreateAccessLevelOutput() GetProjectProtectedTagCreateAccessLevelOutput - ToGetProjectProtectedTagCreateAccessLevelOutputWithContext(context.Context) GetProjectProtectedTagCreateAccessLevelOutput + ToGetProjectProtectedBranchesProtectedBranchOutput() GetProjectProtectedBranchesProtectedBranchOutput + ToGetProjectProtectedBranchesProtectedBranchOutputWithContext(context.Context) GetProjectProtectedBranchesProtectedBranchOutput } -type GetProjectProtectedTagCreateAccessLevelArgs struct { - // Access level allowed to create protected tags. - AccessLevel pulumi.StringInput `pulumi:"accessLevel"` - // Readable description of access level. - AccessLevelDescription pulumi.StringInput `pulumi:"accessLevelDescription"` - // The ID of a GitLab group allowed to perform the relevant action. - GroupId pulumi.IntPtrInput `pulumi:"groupId"` - // The ID of the create access level. +type GetProjectProtectedBranchesProtectedBranchArgs struct { + // Whether force push is allowed. + AllowForcePush pulumi.BoolInput `pulumi:"allowForcePush"` + // Reject code pushes that change files listed in the CODEOWNERS file. + CodeOwnerApprovalRequired pulumi.BoolInput `pulumi:"codeOwnerApprovalRequired"` + // The ID of this resource. Id pulumi.IntInput `pulumi:"id"` - // The ID of a GitLab user allowed to perform the relevant action. - UserId pulumi.IntPtrInput `pulumi:"userId"` + // Array of access levels and user(s)/group(s) allowed to merge to protected branch. + MergeAccessLevels GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayInput `pulumi:"mergeAccessLevels"` + // The name of the protected branch. + Name pulumi.StringInput `pulumi:"name"` + // Array of access levels and user(s)/group(s) allowed to push to protected branch. + PushAccessLevels GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayInput `pulumi:"pushAccessLevels"` } -func (GetProjectProtectedTagCreateAccessLevelArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectProtectedTagCreateAccessLevel)(nil)).Elem() +func (GetProjectProtectedBranchesProtectedBranchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectProtectedBranchesProtectedBranch)(nil)).Elem() } -func (i GetProjectProtectedTagCreateAccessLevelArgs) ToGetProjectProtectedTagCreateAccessLevelOutput() GetProjectProtectedTagCreateAccessLevelOutput { - return i.ToGetProjectProtectedTagCreateAccessLevelOutputWithContext(context.Background()) +func (i GetProjectProtectedBranchesProtectedBranchArgs) ToGetProjectProtectedBranchesProtectedBranchOutput() GetProjectProtectedBranchesProtectedBranchOutput { + return i.ToGetProjectProtectedBranchesProtectedBranchOutputWithContext(context.Background()) } -func (i GetProjectProtectedTagCreateAccessLevelArgs) ToGetProjectProtectedTagCreateAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedTagCreateAccessLevelOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedTagCreateAccessLevelOutput) +func (i GetProjectProtectedBranchesProtectedBranchArgs) ToGetProjectProtectedBranchesProtectedBranchOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchesProtectedBranchOutput) } -// GetProjectProtectedTagCreateAccessLevelArrayInput is an input type that accepts GetProjectProtectedTagCreateAccessLevelArray and GetProjectProtectedTagCreateAccessLevelArrayOutput values. -// You can construct a concrete instance of `GetProjectProtectedTagCreateAccessLevelArrayInput` via: +// GetProjectProtectedBranchesProtectedBranchArrayInput is an input type that accepts GetProjectProtectedBranchesProtectedBranchArray and GetProjectProtectedBranchesProtectedBranchArrayOutput values. +// You can construct a concrete instance of `GetProjectProtectedBranchesProtectedBranchArrayInput` via: // -// GetProjectProtectedTagCreateAccessLevelArray{ GetProjectProtectedTagCreateAccessLevelArgs{...} } -type GetProjectProtectedTagCreateAccessLevelArrayInput interface { +// GetProjectProtectedBranchesProtectedBranchArray{ GetProjectProtectedBranchesProtectedBranchArgs{...} } +type GetProjectProtectedBranchesProtectedBranchArrayInput interface { pulumi.Input - ToGetProjectProtectedTagCreateAccessLevelArrayOutput() GetProjectProtectedTagCreateAccessLevelArrayOutput - ToGetProjectProtectedTagCreateAccessLevelArrayOutputWithContext(context.Context) GetProjectProtectedTagCreateAccessLevelArrayOutput + ToGetProjectProtectedBranchesProtectedBranchArrayOutput() GetProjectProtectedBranchesProtectedBranchArrayOutput + ToGetProjectProtectedBranchesProtectedBranchArrayOutputWithContext(context.Context) GetProjectProtectedBranchesProtectedBranchArrayOutput } -type GetProjectProtectedTagCreateAccessLevelArray []GetProjectProtectedTagCreateAccessLevelInput +type GetProjectProtectedBranchesProtectedBranchArray []GetProjectProtectedBranchesProtectedBranchInput -func (GetProjectProtectedTagCreateAccessLevelArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectProtectedTagCreateAccessLevel)(nil)).Elem() +func (GetProjectProtectedBranchesProtectedBranchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectProtectedBranchesProtectedBranch)(nil)).Elem() } -func (i GetProjectProtectedTagCreateAccessLevelArray) ToGetProjectProtectedTagCreateAccessLevelArrayOutput() GetProjectProtectedTagCreateAccessLevelArrayOutput { - return i.ToGetProjectProtectedTagCreateAccessLevelArrayOutputWithContext(context.Background()) +func (i GetProjectProtectedBranchesProtectedBranchArray) ToGetProjectProtectedBranchesProtectedBranchArrayOutput() GetProjectProtectedBranchesProtectedBranchArrayOutput { + return i.ToGetProjectProtectedBranchesProtectedBranchArrayOutputWithContext(context.Background()) } -func (i GetProjectProtectedTagCreateAccessLevelArray) ToGetProjectProtectedTagCreateAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedTagCreateAccessLevelArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedTagCreateAccessLevelArrayOutput) +func (i GetProjectProtectedBranchesProtectedBranchArray) ToGetProjectProtectedBranchesProtectedBranchArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchesProtectedBranchArrayOutput) } -type GetProjectProtectedTagCreateAccessLevelOutput struct{ *pulumi.OutputState } +type GetProjectProtectedBranchesProtectedBranchOutput struct{ *pulumi.OutputState } -func (GetProjectProtectedTagCreateAccessLevelOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectProtectedTagCreateAccessLevel)(nil)).Elem() +func (GetProjectProtectedBranchesProtectedBranchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectProtectedBranchesProtectedBranch)(nil)).Elem() } -func (o GetProjectProtectedTagCreateAccessLevelOutput) ToGetProjectProtectedTagCreateAccessLevelOutput() GetProjectProtectedTagCreateAccessLevelOutput { +func (o GetProjectProtectedBranchesProtectedBranchOutput) ToGetProjectProtectedBranchesProtectedBranchOutput() GetProjectProtectedBranchesProtectedBranchOutput { return o } -func (o GetProjectProtectedTagCreateAccessLevelOutput) ToGetProjectProtectedTagCreateAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedTagCreateAccessLevelOutput { +func (o GetProjectProtectedBranchesProtectedBranchOutput) ToGetProjectProtectedBranchesProtectedBranchOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchOutput { return o } -// Access level allowed to create protected tags. -func (o GetProjectProtectedTagCreateAccessLevelOutput) AccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectProtectedTagCreateAccessLevel) string { return v.AccessLevel }).(pulumi.StringOutput) +// Whether force push is allowed. +func (o GetProjectProtectedBranchesProtectedBranchOutput) AllowForcePush() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranch) bool { return v.AllowForcePush }).(pulumi.BoolOutput) } -// Readable description of access level. -func (o GetProjectProtectedTagCreateAccessLevelOutput) AccessLevelDescription() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectProtectedTagCreateAccessLevel) string { return v.AccessLevelDescription }).(pulumi.StringOutput) +// Reject code pushes that change files listed in the CODEOWNERS file. +func (o GetProjectProtectedBranchesProtectedBranchOutput) CodeOwnerApprovalRequired() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranch) bool { return v.CodeOwnerApprovalRequired }).(pulumi.BoolOutput) } -// The ID of a GitLab group allowed to perform the relevant action. -func (o GetProjectProtectedTagCreateAccessLevelOutput) GroupId() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetProjectProtectedTagCreateAccessLevel) *int { return v.GroupId }).(pulumi.IntPtrOutput) +// The ID of this resource. +func (o GetProjectProtectedBranchesProtectedBranchOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranch) int { return v.Id }).(pulumi.IntOutput) } -// The ID of the create access level. -func (o GetProjectProtectedTagCreateAccessLevelOutput) Id() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectProtectedTagCreateAccessLevel) int { return v.Id }).(pulumi.IntOutput) +// Array of access levels and user(s)/group(s) allowed to merge to protected branch. +func (o GetProjectProtectedBranchesProtectedBranchOutput) MergeAccessLevels() GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput { + return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranch) []GetProjectProtectedBranchesProtectedBranchMergeAccessLevel { + return v.MergeAccessLevels + }).(GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput) } -// The ID of a GitLab user allowed to perform the relevant action. -func (o GetProjectProtectedTagCreateAccessLevelOutput) UserId() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetProjectProtectedTagCreateAccessLevel) *int { return v.UserId }).(pulumi.IntPtrOutput) +// The name of the protected branch. +func (o GetProjectProtectedBranchesProtectedBranchOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranch) string { return v.Name }).(pulumi.StringOutput) } -type GetProjectProtectedTagCreateAccessLevelArrayOutput struct{ *pulumi.OutputState } +// Array of access levels and user(s)/group(s) allowed to push to protected branch. +func (o GetProjectProtectedBranchesProtectedBranchOutput) PushAccessLevels() GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput { + return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranch) []GetProjectProtectedBranchesProtectedBranchPushAccessLevel { + return v.PushAccessLevels + }).(GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput) +} -func (GetProjectProtectedTagCreateAccessLevelArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectProtectedTagCreateAccessLevel)(nil)).Elem() +type GetProjectProtectedBranchesProtectedBranchArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectProtectedBranchesProtectedBranchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectProtectedBranchesProtectedBranch)(nil)).Elem() } -func (o GetProjectProtectedTagCreateAccessLevelArrayOutput) ToGetProjectProtectedTagCreateAccessLevelArrayOutput() GetProjectProtectedTagCreateAccessLevelArrayOutput { +func (o GetProjectProtectedBranchesProtectedBranchArrayOutput) ToGetProjectProtectedBranchesProtectedBranchArrayOutput() GetProjectProtectedBranchesProtectedBranchArrayOutput { return o } -func (o GetProjectProtectedTagCreateAccessLevelArrayOutput) ToGetProjectProtectedTagCreateAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedTagCreateAccessLevelArrayOutput { +func (o GetProjectProtectedBranchesProtectedBranchArrayOutput) ToGetProjectProtectedBranchesProtectedBranchArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchArrayOutput { return o } -func (o GetProjectProtectedTagCreateAccessLevelArrayOutput) Index(i pulumi.IntInput) GetProjectProtectedTagCreateAccessLevelOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectProtectedTagCreateAccessLevel { - return vs[0].([]GetProjectProtectedTagCreateAccessLevel)[vs[1].(int)] - }).(GetProjectProtectedTagCreateAccessLevelOutput) +func (o GetProjectProtectedBranchesProtectedBranchArrayOutput) Index(i pulumi.IntInput) GetProjectProtectedBranchesProtectedBranchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectProtectedBranchesProtectedBranch { + return vs[0].([]GetProjectProtectedBranchesProtectedBranch)[vs[1].(int)] + }).(GetProjectProtectedBranchesProtectedBranchOutput) } -type GetProjectProtectedTagsProtectedTag struct { - // Array of access levels/user(s)/group(s) allowed to create protected tags. - CreateAccessLevels []GetProjectProtectedTagsProtectedTagCreateAccessLevel `pulumi:"createAccessLevels"` - // The name of the protected tag. - Tag string `pulumi:"tag"` +type GetProjectProtectedBranchesProtectedBranchMergeAccessLevel struct { + // Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. + AccessLevel string `pulumi:"accessLevel"` + // Readable description of access level. + AccessLevelDescription string `pulumi:"accessLevelDescription"` + // The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `userId`. + GroupId *int `pulumi:"groupId"` + // The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `groupId`. + UserId *int `pulumi:"userId"` } -// GetProjectProtectedTagsProtectedTagInput is an input type that accepts GetProjectProtectedTagsProtectedTagArgs and GetProjectProtectedTagsProtectedTagOutput values. -// You can construct a concrete instance of `GetProjectProtectedTagsProtectedTagInput` via: +// GetProjectProtectedBranchesProtectedBranchMergeAccessLevelInput is an input type that accepts GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs and GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput values. +// You can construct a concrete instance of `GetProjectProtectedBranchesProtectedBranchMergeAccessLevelInput` via: // -// GetProjectProtectedTagsProtectedTagArgs{...} -type GetProjectProtectedTagsProtectedTagInput interface { +// GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs{...} +type GetProjectProtectedBranchesProtectedBranchMergeAccessLevelInput interface { pulumi.Input - ToGetProjectProtectedTagsProtectedTagOutput() GetProjectProtectedTagsProtectedTagOutput - ToGetProjectProtectedTagsProtectedTagOutputWithContext(context.Context) GetProjectProtectedTagsProtectedTagOutput + ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput() GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput + ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutputWithContext(context.Context) GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput } -type GetProjectProtectedTagsProtectedTagArgs struct { - // Array of access levels/user(s)/group(s) allowed to create protected tags. - CreateAccessLevels GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayInput `pulumi:"createAccessLevels"` - // The name of the protected tag. - Tag pulumi.StringInput `pulumi:"tag"` +type GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs struct { + // Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. + AccessLevel pulumi.StringInput `pulumi:"accessLevel"` + // Readable description of access level. + AccessLevelDescription pulumi.StringInput `pulumi:"accessLevelDescription"` + // The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `userId`. + GroupId pulumi.IntPtrInput `pulumi:"groupId"` + // The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `groupId`. + UserId pulumi.IntPtrInput `pulumi:"userId"` } -func (GetProjectProtectedTagsProtectedTagArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectProtectedTagsProtectedTag)(nil)).Elem() +func (GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectProtectedBranchesProtectedBranchMergeAccessLevel)(nil)).Elem() } -func (i GetProjectProtectedTagsProtectedTagArgs) ToGetProjectProtectedTagsProtectedTagOutput() GetProjectProtectedTagsProtectedTagOutput { - return i.ToGetProjectProtectedTagsProtectedTagOutputWithContext(context.Background()) +func (i GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs) ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput() GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput { + return i.ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutputWithContext(context.Background()) } -func (i GetProjectProtectedTagsProtectedTagArgs) ToGetProjectProtectedTagsProtectedTagOutputWithContext(ctx context.Context) GetProjectProtectedTagsProtectedTagOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedTagsProtectedTagOutput) +func (i GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs) ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) } -// GetProjectProtectedTagsProtectedTagArrayInput is an input type that accepts GetProjectProtectedTagsProtectedTagArray and GetProjectProtectedTagsProtectedTagArrayOutput values. -// You can construct a concrete instance of `GetProjectProtectedTagsProtectedTagArrayInput` via: +// GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayInput is an input type that accepts GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArray and GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput values. +// You can construct a concrete instance of `GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayInput` via: // -// GetProjectProtectedTagsProtectedTagArray{ GetProjectProtectedTagsProtectedTagArgs{...} } -type GetProjectProtectedTagsProtectedTagArrayInput interface { +// GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArray{ GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs{...} } +type GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayInput interface { pulumi.Input - ToGetProjectProtectedTagsProtectedTagArrayOutput() GetProjectProtectedTagsProtectedTagArrayOutput - ToGetProjectProtectedTagsProtectedTagArrayOutputWithContext(context.Context) GetProjectProtectedTagsProtectedTagArrayOutput + ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput() GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput + ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutputWithContext(context.Context) GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput } -type GetProjectProtectedTagsProtectedTagArray []GetProjectProtectedTagsProtectedTagInput +type GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArray []GetProjectProtectedBranchesProtectedBranchMergeAccessLevelInput -func (GetProjectProtectedTagsProtectedTagArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectProtectedTagsProtectedTag)(nil)).Elem() +func (GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectProtectedBranchesProtectedBranchMergeAccessLevel)(nil)).Elem() } -func (i GetProjectProtectedTagsProtectedTagArray) ToGetProjectProtectedTagsProtectedTagArrayOutput() GetProjectProtectedTagsProtectedTagArrayOutput { - return i.ToGetProjectProtectedTagsProtectedTagArrayOutputWithContext(context.Background()) +func (i GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArray) ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput() GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput { + return i.ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutputWithContext(context.Background()) } -func (i GetProjectProtectedTagsProtectedTagArray) ToGetProjectProtectedTagsProtectedTagArrayOutputWithContext(ctx context.Context) GetProjectProtectedTagsProtectedTagArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedTagsProtectedTagArrayOutput) +func (i GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArray) ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput) } -type GetProjectProtectedTagsProtectedTagOutput struct{ *pulumi.OutputState } +type GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput struct{ *pulumi.OutputState } -func (GetProjectProtectedTagsProtectedTagOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectProtectedTagsProtectedTag)(nil)).Elem() +func (GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectProtectedBranchesProtectedBranchMergeAccessLevel)(nil)).Elem() } -func (o GetProjectProtectedTagsProtectedTagOutput) ToGetProjectProtectedTagsProtectedTagOutput() GetProjectProtectedTagsProtectedTagOutput { +func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput() GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput { return o } -func (o GetProjectProtectedTagsProtectedTagOutput) ToGetProjectProtectedTagsProtectedTagOutputWithContext(ctx context.Context) GetProjectProtectedTagsProtectedTagOutput { +func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput { return o } -// Array of access levels/user(s)/group(s) allowed to create protected tags. -func (o GetProjectProtectedTagsProtectedTagOutput) CreateAccessLevels() GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput { - return o.ApplyT(func(v GetProjectProtectedTagsProtectedTag) []GetProjectProtectedTagsProtectedTagCreateAccessLevel { - return v.CreateAccessLevels - }).(GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput) +// Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. +func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) AccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchMergeAccessLevel) string { return v.AccessLevel }).(pulumi.StringOutput) } -// The name of the protected tag. -func (o GetProjectProtectedTagsProtectedTagOutput) Tag() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectProtectedTagsProtectedTag) string { return v.Tag }).(pulumi.StringOutput) +// Readable description of access level. +func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) AccessLevelDescription() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchMergeAccessLevel) string { + return v.AccessLevelDescription + }).(pulumi.StringOutput) } -type GetProjectProtectedTagsProtectedTagArrayOutput struct{ *pulumi.OutputState } +// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `userId`. +func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) GroupId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchMergeAccessLevel) *int { return v.GroupId }).(pulumi.IntPtrOutput) +} -func (GetProjectProtectedTagsProtectedTagArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectProtectedTagsProtectedTag)(nil)).Elem() +// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `groupId`. +func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) UserId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchMergeAccessLevel) *int { return v.UserId }).(pulumi.IntPtrOutput) } -func (o GetProjectProtectedTagsProtectedTagArrayOutput) ToGetProjectProtectedTagsProtectedTagArrayOutput() GetProjectProtectedTagsProtectedTagArrayOutput { +type GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectProtectedBranchesProtectedBranchMergeAccessLevel)(nil)).Elem() +} + +func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput) ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput() GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput { return o } -func (o GetProjectProtectedTagsProtectedTagArrayOutput) ToGetProjectProtectedTagsProtectedTagArrayOutputWithContext(ctx context.Context) GetProjectProtectedTagsProtectedTagArrayOutput { +func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput) ToGetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput { return o } -func (o GetProjectProtectedTagsProtectedTagArrayOutput) Index(i pulumi.IntInput) GetProjectProtectedTagsProtectedTagOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectProtectedTagsProtectedTag { - return vs[0].([]GetProjectProtectedTagsProtectedTag)[vs[1].(int)] - }).(GetProjectProtectedTagsProtectedTagOutput) +func (o GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArrayOutput) Index(i pulumi.IntInput) GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectProtectedBranchesProtectedBranchMergeAccessLevel { + return vs[0].([]GetProjectProtectedBranchesProtectedBranchMergeAccessLevel)[vs[1].(int)] + }).(GetProjectProtectedBranchesProtectedBranchMergeAccessLevelOutput) } -type GetProjectProtectedTagsProtectedTagCreateAccessLevel struct { - // Access level allowed to create protected tags. +type GetProjectProtectedBranchesProtectedBranchPushAccessLevel struct { + // Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. AccessLevel string `pulumi:"accessLevel"` // Readable description of access level. AccessLevelDescription string `pulumi:"accessLevelDescription"` - // The ID of a GitLab group allowed to perform the relevant action. + // The ID of a GitLab deploy key allowed to perform the relevant action. Mutually exclusive with `groupId` and `userId`. This field is read-only until Gitlab 17.5. + DeployKeyId *int `pulumi:"deployKeyId"` + // The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `userId`. GroupId *int `pulumi:"groupId"` - // The ID of the create access level. - Id int `pulumi:"id"` - // The ID of a GitLab user allowed to perform the relevant action. + // The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `groupId`. UserId *int `pulumi:"userId"` } -// GetProjectProtectedTagsProtectedTagCreateAccessLevelInput is an input type that accepts GetProjectProtectedTagsProtectedTagCreateAccessLevelArgs and GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput values. -// You can construct a concrete instance of `GetProjectProtectedTagsProtectedTagCreateAccessLevelInput` via: +// GetProjectProtectedBranchesProtectedBranchPushAccessLevelInput is an input type that accepts GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs and GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput values. +// You can construct a concrete instance of `GetProjectProtectedBranchesProtectedBranchPushAccessLevelInput` via: // -// GetProjectProtectedTagsProtectedTagCreateAccessLevelArgs{...} -type GetProjectProtectedTagsProtectedTagCreateAccessLevelInput interface { +// GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs{...} +type GetProjectProtectedBranchesProtectedBranchPushAccessLevelInput interface { pulumi.Input - ToGetProjectProtectedTagsProtectedTagCreateAccessLevelOutput() GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput - ToGetProjectProtectedTagsProtectedTagCreateAccessLevelOutputWithContext(context.Context) GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput + ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput() GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput + ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelOutputWithContext(context.Context) GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput } -type GetProjectProtectedTagsProtectedTagCreateAccessLevelArgs struct { - // Access level allowed to create protected tags. +type GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs struct { + // Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. AccessLevel pulumi.StringInput `pulumi:"accessLevel"` // Readable description of access level. AccessLevelDescription pulumi.StringInput `pulumi:"accessLevelDescription"` - // The ID of a GitLab group allowed to perform the relevant action. + // The ID of a GitLab deploy key allowed to perform the relevant action. Mutually exclusive with `groupId` and `userId`. This field is read-only until Gitlab 17.5. + DeployKeyId pulumi.IntPtrInput `pulumi:"deployKeyId"` + // The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `userId`. GroupId pulumi.IntPtrInput `pulumi:"groupId"` - // The ID of the create access level. - Id pulumi.IntInput `pulumi:"id"` - // The ID of a GitLab user allowed to perform the relevant action. + // The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `groupId`. UserId pulumi.IntPtrInput `pulumi:"userId"` } -func (GetProjectProtectedTagsProtectedTagCreateAccessLevelArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectProtectedTagsProtectedTagCreateAccessLevel)(nil)).Elem() +func (GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectProtectedBranchesProtectedBranchPushAccessLevel)(nil)).Elem() } -func (i GetProjectProtectedTagsProtectedTagCreateAccessLevelArgs) ToGetProjectProtectedTagsProtectedTagCreateAccessLevelOutput() GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput { - return i.ToGetProjectProtectedTagsProtectedTagCreateAccessLevelOutputWithContext(context.Background()) +func (i GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs) ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput() GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput { + return i.ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelOutputWithContext(context.Background()) } -func (i GetProjectProtectedTagsProtectedTagCreateAccessLevelArgs) ToGetProjectProtectedTagsProtectedTagCreateAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) +func (i GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs) ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) } -// GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayInput is an input type that accepts GetProjectProtectedTagsProtectedTagCreateAccessLevelArray and GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput values. -// You can construct a concrete instance of `GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayInput` via: +// GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayInput is an input type that accepts GetProjectProtectedBranchesProtectedBranchPushAccessLevelArray and GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput values. +// You can construct a concrete instance of `GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayInput` via: // -// GetProjectProtectedTagsProtectedTagCreateAccessLevelArray{ GetProjectProtectedTagsProtectedTagCreateAccessLevelArgs{...} } -type GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayInput interface { +// GetProjectProtectedBranchesProtectedBranchPushAccessLevelArray{ GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs{...} } +type GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayInput interface { pulumi.Input - ToGetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput() GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput - ToGetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutputWithContext(context.Context) GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput + ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput() GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput + ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutputWithContext(context.Context) GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput } -type GetProjectProtectedTagsProtectedTagCreateAccessLevelArray []GetProjectProtectedTagsProtectedTagCreateAccessLevelInput +type GetProjectProtectedBranchesProtectedBranchPushAccessLevelArray []GetProjectProtectedBranchesProtectedBranchPushAccessLevelInput -func (GetProjectProtectedTagsProtectedTagCreateAccessLevelArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectProtectedTagsProtectedTagCreateAccessLevel)(nil)).Elem() +func (GetProjectProtectedBranchesProtectedBranchPushAccessLevelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectProtectedBranchesProtectedBranchPushAccessLevel)(nil)).Elem() } -func (i GetProjectProtectedTagsProtectedTagCreateAccessLevelArray) ToGetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput() GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput { - return i.ToGetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutputWithContext(context.Background()) +func (i GetProjectProtectedBranchesProtectedBranchPushAccessLevelArray) ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput() GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput { + return i.ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutputWithContext(context.Background()) } -func (i GetProjectProtectedTagsProtectedTagCreateAccessLevelArray) ToGetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput) +func (i GetProjectProtectedBranchesProtectedBranchPushAccessLevelArray) ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput) } -type GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput struct{ *pulumi.OutputState } +type GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput struct{ *pulumi.OutputState } -func (GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectProtectedTagsProtectedTagCreateAccessLevel)(nil)).Elem() +func (GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectProtectedBranchesProtectedBranchPushAccessLevel)(nil)).Elem() } -func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) ToGetProjectProtectedTagsProtectedTagCreateAccessLevelOutput() GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput { +func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput() GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput { return o } -func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) ToGetProjectProtectedTagsProtectedTagCreateAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput { +func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput { return o } -// Access level allowed to create protected tags. -func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) AccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectProtectedTagsProtectedTagCreateAccessLevel) string { return v.AccessLevel }).(pulumi.StringOutput) +// Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`, `admin`. +func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) AccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchPushAccessLevel) string { return v.AccessLevel }).(pulumi.StringOutput) } // Readable description of access level. -func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) AccessLevelDescription() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectProtectedTagsProtectedTagCreateAccessLevel) string { return v.AccessLevelDescription }).(pulumi.StringOutput) +func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) AccessLevelDescription() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchPushAccessLevel) string { + return v.AccessLevelDescription + }).(pulumi.StringOutput) } -// The ID of a GitLab group allowed to perform the relevant action. -func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) GroupId() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetProjectProtectedTagsProtectedTagCreateAccessLevel) *int { return v.GroupId }).(pulumi.IntPtrOutput) +// The ID of a GitLab deploy key allowed to perform the relevant action. Mutually exclusive with `groupId` and `userId`. This field is read-only until Gitlab 17.5. +func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) DeployKeyId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchPushAccessLevel) *int { return v.DeployKeyId }).(pulumi.IntPtrOutput) } -// The ID of the create access level. -func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) Id() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectProtectedTagsProtectedTagCreateAccessLevel) int { return v.Id }).(pulumi.IntOutput) +// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `userId`. +func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) GroupId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchPushAccessLevel) *int { return v.GroupId }).(pulumi.IntPtrOutput) } -// The ID of a GitLab user allowed to perform the relevant action. -func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) UserId() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetProjectProtectedTagsProtectedTagCreateAccessLevel) *int { return v.UserId }).(pulumi.IntPtrOutput) +// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `deployKeyId` and `groupId`. +func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) UserId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectProtectedBranchesProtectedBranchPushAccessLevel) *int { return v.UserId }).(pulumi.IntPtrOutput) } -type GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput struct{ *pulumi.OutputState } +type GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput struct{ *pulumi.OutputState } -func (GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectProtectedTagsProtectedTagCreateAccessLevel)(nil)).Elem() +func (GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectProtectedBranchesProtectedBranchPushAccessLevel)(nil)).Elem() } -func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput) ToGetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput() GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput { +func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput) ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput() GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput { return o } -func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput) ToGetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput { +func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput) ToGetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput { return o } -func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput) Index(i pulumi.IntInput) GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectProtectedTagsProtectedTagCreateAccessLevel { - return vs[0].([]GetProjectProtectedTagsProtectedTagCreateAccessLevel)[vs[1].(int)] - }).(GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) +func (o GetProjectProtectedBranchesProtectedBranchPushAccessLevelArrayOutput) Index(i pulumi.IntInput) GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectProtectedBranchesProtectedBranchPushAccessLevel { + return vs[0].([]GetProjectProtectedBranchesProtectedBranchPushAccessLevel)[vs[1].(int)] + }).(GetProjectProtectedBranchesProtectedBranchPushAccessLevelOutput) } -type GetProjectPushRule struct { - // All commit author emails must match this regex, e.g. `@my-company.com$`. - AuthorEmailRegex string `pulumi:"authorEmailRegex"` - // All branch names must match this regex, e.g. `(feature|hotfix)\/*`. - BranchNameRegex string `pulumi:"branchNameRegex"` - // Users can only push commits to this repository that were committed with one of their own verified emails. - CommitCommitterCheck bool `pulumi:"commitCommitterCheck"` - // Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. - CommitCommitterNameCheck bool `pulumi:"commitCommitterNameCheck"` - // No commit message is allowed to match this regex, for example `ssh\:\/\/`. - CommitMessageNegativeRegex string `pulumi:"commitMessageNegativeRegex"` - // All commit messages must match this regex, e.g. `Fixed \d+\..*`. - CommitMessageRegex string `pulumi:"commitMessageRegex"` - // Deny deleting a tag. - DenyDeleteTag bool `pulumi:"denyDeleteTag"` - // All committed filenames must not match this regex, e.g. `(jar|exe)$`. - FileNameRegex string `pulumi:"fileNameRegex"` - // Maximum file size (MB). - MaxFileSize int `pulumi:"maxFileSize"` - // Restrict commits by author (email) to existing GitLab users. - MemberCheck bool `pulumi:"memberCheck"` - // GitLab will reject any files that are likely to contain secrets. - PreventSecrets bool `pulumi:"preventSecrets"` - // Reject commit when it’s not DCO certified. - RejectNonDcoCommits bool `pulumi:"rejectNonDcoCommits"` - // Reject commit when it’s not signed through GPG. - RejectUnsignedCommits bool `pulumi:"rejectUnsignedCommits"` +type GetProjectProtectedTagCreateAccessLevel struct { + // Access level allowed to create protected tags. + AccessLevel string `pulumi:"accessLevel"` + // Readable description of access level. + AccessLevelDescription string `pulumi:"accessLevelDescription"` + // The ID of a GitLab group allowed to perform the relevant action. + GroupId *int `pulumi:"groupId"` + // The ID of the create access level. + Id int `pulumi:"id"` + // The ID of a GitLab user allowed to perform the relevant action. + UserId *int `pulumi:"userId"` } -// GetProjectPushRuleInput is an input type that accepts GetProjectPushRuleArgs and GetProjectPushRuleOutput values. -// You can construct a concrete instance of `GetProjectPushRuleInput` via: +// GetProjectProtectedTagCreateAccessLevelInput is an input type that accepts GetProjectProtectedTagCreateAccessLevelArgs and GetProjectProtectedTagCreateAccessLevelOutput values. +// You can construct a concrete instance of `GetProjectProtectedTagCreateAccessLevelInput` via: // -// GetProjectPushRuleArgs{...} -type GetProjectPushRuleInput interface { +// GetProjectProtectedTagCreateAccessLevelArgs{...} +type GetProjectProtectedTagCreateAccessLevelInput interface { pulumi.Input - ToGetProjectPushRuleOutput() GetProjectPushRuleOutput - ToGetProjectPushRuleOutputWithContext(context.Context) GetProjectPushRuleOutput + ToGetProjectProtectedTagCreateAccessLevelOutput() GetProjectProtectedTagCreateAccessLevelOutput + ToGetProjectProtectedTagCreateAccessLevelOutputWithContext(context.Context) GetProjectProtectedTagCreateAccessLevelOutput } -type GetProjectPushRuleArgs struct { - // All commit author emails must match this regex, e.g. `@my-company.com$`. - AuthorEmailRegex pulumi.StringInput `pulumi:"authorEmailRegex"` - // All branch names must match this regex, e.g. `(feature|hotfix)\/*`. - BranchNameRegex pulumi.StringInput `pulumi:"branchNameRegex"` - // Users can only push commits to this repository that were committed with one of their own verified emails. - CommitCommitterCheck pulumi.BoolInput `pulumi:"commitCommitterCheck"` - // Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. - CommitCommitterNameCheck pulumi.BoolInput `pulumi:"commitCommitterNameCheck"` - // No commit message is allowed to match this regex, for example `ssh\:\/\/`. - CommitMessageNegativeRegex pulumi.StringInput `pulumi:"commitMessageNegativeRegex"` - // All commit messages must match this regex, e.g. `Fixed \d+\..*`. - CommitMessageRegex pulumi.StringInput `pulumi:"commitMessageRegex"` - // Deny deleting a tag. - DenyDeleteTag pulumi.BoolInput `pulumi:"denyDeleteTag"` - // All committed filenames must not match this regex, e.g. `(jar|exe)$`. - FileNameRegex pulumi.StringInput `pulumi:"fileNameRegex"` - // Maximum file size (MB). - MaxFileSize pulumi.IntInput `pulumi:"maxFileSize"` - // Restrict commits by author (email) to existing GitLab users. - MemberCheck pulumi.BoolInput `pulumi:"memberCheck"` - // GitLab will reject any files that are likely to contain secrets. - PreventSecrets pulumi.BoolInput `pulumi:"preventSecrets"` - // Reject commit when it’s not DCO certified. - RejectNonDcoCommits pulumi.BoolInput `pulumi:"rejectNonDcoCommits"` - // Reject commit when it’s not signed through GPG. - RejectUnsignedCommits pulumi.BoolInput `pulumi:"rejectUnsignedCommits"` +type GetProjectProtectedTagCreateAccessLevelArgs struct { + // Access level allowed to create protected tags. + AccessLevel pulumi.StringInput `pulumi:"accessLevel"` + // Readable description of access level. + AccessLevelDescription pulumi.StringInput `pulumi:"accessLevelDescription"` + // The ID of a GitLab group allowed to perform the relevant action. + GroupId pulumi.IntPtrInput `pulumi:"groupId"` + // The ID of the create access level. + Id pulumi.IntInput `pulumi:"id"` + // The ID of a GitLab user allowed to perform the relevant action. + UserId pulumi.IntPtrInput `pulumi:"userId"` } -func (GetProjectPushRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectPushRule)(nil)).Elem() +func (GetProjectProtectedTagCreateAccessLevelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectProtectedTagCreateAccessLevel)(nil)).Elem() } -func (i GetProjectPushRuleArgs) ToGetProjectPushRuleOutput() GetProjectPushRuleOutput { - return i.ToGetProjectPushRuleOutputWithContext(context.Background()) +func (i GetProjectProtectedTagCreateAccessLevelArgs) ToGetProjectProtectedTagCreateAccessLevelOutput() GetProjectProtectedTagCreateAccessLevelOutput { + return i.ToGetProjectProtectedTagCreateAccessLevelOutputWithContext(context.Background()) } -func (i GetProjectPushRuleArgs) ToGetProjectPushRuleOutputWithContext(ctx context.Context) GetProjectPushRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectPushRuleOutput) +func (i GetProjectProtectedTagCreateAccessLevelArgs) ToGetProjectProtectedTagCreateAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedTagCreateAccessLevelOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedTagCreateAccessLevelOutput) } -// GetProjectPushRuleArrayInput is an input type that accepts GetProjectPushRuleArray and GetProjectPushRuleArrayOutput values. -// You can construct a concrete instance of `GetProjectPushRuleArrayInput` via: +// GetProjectProtectedTagCreateAccessLevelArrayInput is an input type that accepts GetProjectProtectedTagCreateAccessLevelArray and GetProjectProtectedTagCreateAccessLevelArrayOutput values. +// You can construct a concrete instance of `GetProjectProtectedTagCreateAccessLevelArrayInput` via: // -// GetProjectPushRuleArray{ GetProjectPushRuleArgs{...} } -type GetProjectPushRuleArrayInput interface { +// GetProjectProtectedTagCreateAccessLevelArray{ GetProjectProtectedTagCreateAccessLevelArgs{...} } +type GetProjectProtectedTagCreateAccessLevelArrayInput interface { pulumi.Input - ToGetProjectPushRuleArrayOutput() GetProjectPushRuleArrayOutput - ToGetProjectPushRuleArrayOutputWithContext(context.Context) GetProjectPushRuleArrayOutput + ToGetProjectProtectedTagCreateAccessLevelArrayOutput() GetProjectProtectedTagCreateAccessLevelArrayOutput + ToGetProjectProtectedTagCreateAccessLevelArrayOutputWithContext(context.Context) GetProjectProtectedTagCreateAccessLevelArrayOutput } -type GetProjectPushRuleArray []GetProjectPushRuleInput +type GetProjectProtectedTagCreateAccessLevelArray []GetProjectProtectedTagCreateAccessLevelInput -func (GetProjectPushRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectPushRule)(nil)).Elem() +func (GetProjectProtectedTagCreateAccessLevelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectProtectedTagCreateAccessLevel)(nil)).Elem() } -func (i GetProjectPushRuleArray) ToGetProjectPushRuleArrayOutput() GetProjectPushRuleArrayOutput { - return i.ToGetProjectPushRuleArrayOutputWithContext(context.Background()) +func (i GetProjectProtectedTagCreateAccessLevelArray) ToGetProjectProtectedTagCreateAccessLevelArrayOutput() GetProjectProtectedTagCreateAccessLevelArrayOutput { + return i.ToGetProjectProtectedTagCreateAccessLevelArrayOutputWithContext(context.Background()) } -func (i GetProjectPushRuleArray) ToGetProjectPushRuleArrayOutputWithContext(ctx context.Context) GetProjectPushRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectPushRuleArrayOutput) +func (i GetProjectProtectedTagCreateAccessLevelArray) ToGetProjectProtectedTagCreateAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedTagCreateAccessLevelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedTagCreateAccessLevelArrayOutput) } -type GetProjectPushRuleOutput struct{ *pulumi.OutputState } +type GetProjectProtectedTagCreateAccessLevelOutput struct{ *pulumi.OutputState } -func (GetProjectPushRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectPushRule)(nil)).Elem() +func (GetProjectProtectedTagCreateAccessLevelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectProtectedTagCreateAccessLevel)(nil)).Elem() } -func (o GetProjectPushRuleOutput) ToGetProjectPushRuleOutput() GetProjectPushRuleOutput { +func (o GetProjectProtectedTagCreateAccessLevelOutput) ToGetProjectProtectedTagCreateAccessLevelOutput() GetProjectProtectedTagCreateAccessLevelOutput { return o } -func (o GetProjectPushRuleOutput) ToGetProjectPushRuleOutputWithContext(ctx context.Context) GetProjectPushRuleOutput { +func (o GetProjectProtectedTagCreateAccessLevelOutput) ToGetProjectProtectedTagCreateAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedTagCreateAccessLevelOutput { return o } -// All commit author emails must match this regex, e.g. `@my-company.com$`. -func (o GetProjectPushRuleOutput) AuthorEmailRegex() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectPushRule) string { return v.AuthorEmailRegex }).(pulumi.StringOutput) -} - -// All branch names must match this regex, e.g. `(feature|hotfix)\/*`. -func (o GetProjectPushRuleOutput) BranchNameRegex() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectPushRule) string { return v.BranchNameRegex }).(pulumi.StringOutput) -} - -// Users can only push commits to this repository that were committed with one of their own verified emails. -func (o GetProjectPushRuleOutput) CommitCommitterCheck() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectPushRule) bool { return v.CommitCommitterCheck }).(pulumi.BoolOutput) -} - -// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. -func (o GetProjectPushRuleOutput) CommitCommitterNameCheck() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectPushRule) bool { return v.CommitCommitterNameCheck }).(pulumi.BoolOutput) -} - -// No commit message is allowed to match this regex, for example `ssh\:\/\/`. -func (o GetProjectPushRuleOutput) CommitMessageNegativeRegex() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectPushRule) string { return v.CommitMessageNegativeRegex }).(pulumi.StringOutput) -} - -// All commit messages must match this regex, e.g. `Fixed \d+\..*`. -func (o GetProjectPushRuleOutput) CommitMessageRegex() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectPushRule) string { return v.CommitMessageRegex }).(pulumi.StringOutput) -} - -// Deny deleting a tag. -func (o GetProjectPushRuleOutput) DenyDeleteTag() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectPushRule) bool { return v.DenyDeleteTag }).(pulumi.BoolOutput) -} - -// All committed filenames must not match this regex, e.g. `(jar|exe)$`. -func (o GetProjectPushRuleOutput) FileNameRegex() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectPushRule) string { return v.FileNameRegex }).(pulumi.StringOutput) -} - -// Maximum file size (MB). -func (o GetProjectPushRuleOutput) MaxFileSize() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectPushRule) int { return v.MaxFileSize }).(pulumi.IntOutput) +// Access level allowed to create protected tags. +func (o GetProjectProtectedTagCreateAccessLevelOutput) AccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectProtectedTagCreateAccessLevel) string { return v.AccessLevel }).(pulumi.StringOutput) } -// Restrict commits by author (email) to existing GitLab users. -func (o GetProjectPushRuleOutput) MemberCheck() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectPushRule) bool { return v.MemberCheck }).(pulumi.BoolOutput) +// Readable description of access level. +func (o GetProjectProtectedTagCreateAccessLevelOutput) AccessLevelDescription() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectProtectedTagCreateAccessLevel) string { return v.AccessLevelDescription }).(pulumi.StringOutput) } -// GitLab will reject any files that are likely to contain secrets. -func (o GetProjectPushRuleOutput) PreventSecrets() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectPushRule) bool { return v.PreventSecrets }).(pulumi.BoolOutput) +// The ID of a GitLab group allowed to perform the relevant action. +func (o GetProjectProtectedTagCreateAccessLevelOutput) GroupId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectProtectedTagCreateAccessLevel) *int { return v.GroupId }).(pulumi.IntPtrOutput) } -// Reject commit when it’s not DCO certified. -func (o GetProjectPushRuleOutput) RejectNonDcoCommits() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectPushRule) bool { return v.RejectNonDcoCommits }).(pulumi.BoolOutput) +// The ID of the create access level. +func (o GetProjectProtectedTagCreateAccessLevelOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectProtectedTagCreateAccessLevel) int { return v.Id }).(pulumi.IntOutput) } -// Reject commit when it’s not signed through GPG. -func (o GetProjectPushRuleOutput) RejectUnsignedCommits() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectPushRule) bool { return v.RejectUnsignedCommits }).(pulumi.BoolOutput) +// The ID of a GitLab user allowed to perform the relevant action. +func (o GetProjectProtectedTagCreateAccessLevelOutput) UserId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectProtectedTagCreateAccessLevel) *int { return v.UserId }).(pulumi.IntPtrOutput) } -type GetProjectPushRuleArrayOutput struct{ *pulumi.OutputState } +type GetProjectProtectedTagCreateAccessLevelArrayOutput struct{ *pulumi.OutputState } -func (GetProjectPushRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectPushRule)(nil)).Elem() +func (GetProjectProtectedTagCreateAccessLevelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectProtectedTagCreateAccessLevel)(nil)).Elem() } -func (o GetProjectPushRuleArrayOutput) ToGetProjectPushRuleArrayOutput() GetProjectPushRuleArrayOutput { +func (o GetProjectProtectedTagCreateAccessLevelArrayOutput) ToGetProjectProtectedTagCreateAccessLevelArrayOutput() GetProjectProtectedTagCreateAccessLevelArrayOutput { return o } -func (o GetProjectPushRuleArrayOutput) ToGetProjectPushRuleArrayOutputWithContext(ctx context.Context) GetProjectPushRuleArrayOutput { +func (o GetProjectProtectedTagCreateAccessLevelArrayOutput) ToGetProjectProtectedTagCreateAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedTagCreateAccessLevelArrayOutput { return o } -func (o GetProjectPushRuleArrayOutput) Index(i pulumi.IntInput) GetProjectPushRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectPushRule { - return vs[0].([]GetProjectPushRule)[vs[1].(int)] - }).(GetProjectPushRuleOutput) +func (o GetProjectProtectedTagCreateAccessLevelArrayOutput) Index(i pulumi.IntInput) GetProjectProtectedTagCreateAccessLevelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectProtectedTagCreateAccessLevel { + return vs[0].([]GetProjectProtectedTagCreateAccessLevel)[vs[1].(int)] + }).(GetProjectProtectedTagCreateAccessLevelOutput) } -type GetProjectSharedWithGroup struct { - // The accessLevel permission level of the shared group. - GroupAccessLevel int `pulumi:"groupAccessLevel"` - // The full path of the group shared with. - GroupFullPath string `pulumi:"groupFullPath"` - // The ID of the group shared with. - GroupId int `pulumi:"groupId"` - // The name of the group shared with. - GroupName string `pulumi:"groupName"` +type GetProjectProtectedTagsProtectedTag struct { + // Array of access levels/user(s)/group(s) allowed to create protected tags. + CreateAccessLevels []GetProjectProtectedTagsProtectedTagCreateAccessLevel `pulumi:"createAccessLevels"` + // The name of the protected tag. + Tag string `pulumi:"tag"` } -// GetProjectSharedWithGroupInput is an input type that accepts GetProjectSharedWithGroupArgs and GetProjectSharedWithGroupOutput values. -// You can construct a concrete instance of `GetProjectSharedWithGroupInput` via: +// GetProjectProtectedTagsProtectedTagInput is an input type that accepts GetProjectProtectedTagsProtectedTagArgs and GetProjectProtectedTagsProtectedTagOutput values. +// You can construct a concrete instance of `GetProjectProtectedTagsProtectedTagInput` via: // -// GetProjectSharedWithGroupArgs{...} -type GetProjectSharedWithGroupInput interface { +// GetProjectProtectedTagsProtectedTagArgs{...} +type GetProjectProtectedTagsProtectedTagInput interface { pulumi.Input - ToGetProjectSharedWithGroupOutput() GetProjectSharedWithGroupOutput - ToGetProjectSharedWithGroupOutputWithContext(context.Context) GetProjectSharedWithGroupOutput + ToGetProjectProtectedTagsProtectedTagOutput() GetProjectProtectedTagsProtectedTagOutput + ToGetProjectProtectedTagsProtectedTagOutputWithContext(context.Context) GetProjectProtectedTagsProtectedTagOutput } -type GetProjectSharedWithGroupArgs struct { - // The accessLevel permission level of the shared group. - GroupAccessLevel pulumi.IntInput `pulumi:"groupAccessLevel"` - // The full path of the group shared with. - GroupFullPath pulumi.StringInput `pulumi:"groupFullPath"` - // The ID of the group shared with. - GroupId pulumi.IntInput `pulumi:"groupId"` - // The name of the group shared with. - GroupName pulumi.StringInput `pulumi:"groupName"` +type GetProjectProtectedTagsProtectedTagArgs struct { + // Array of access levels/user(s)/group(s) allowed to create protected tags. + CreateAccessLevels GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayInput `pulumi:"createAccessLevels"` + // The name of the protected tag. + Tag pulumi.StringInput `pulumi:"tag"` } -func (GetProjectSharedWithGroupArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectSharedWithGroup)(nil)).Elem() +func (GetProjectProtectedTagsProtectedTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectProtectedTagsProtectedTag)(nil)).Elem() } -func (i GetProjectSharedWithGroupArgs) ToGetProjectSharedWithGroupOutput() GetProjectSharedWithGroupOutput { - return i.ToGetProjectSharedWithGroupOutputWithContext(context.Background()) +func (i GetProjectProtectedTagsProtectedTagArgs) ToGetProjectProtectedTagsProtectedTagOutput() GetProjectProtectedTagsProtectedTagOutput { + return i.ToGetProjectProtectedTagsProtectedTagOutputWithContext(context.Background()) } -func (i GetProjectSharedWithGroupArgs) ToGetProjectSharedWithGroupOutputWithContext(ctx context.Context) GetProjectSharedWithGroupOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectSharedWithGroupOutput) +func (i GetProjectProtectedTagsProtectedTagArgs) ToGetProjectProtectedTagsProtectedTagOutputWithContext(ctx context.Context) GetProjectProtectedTagsProtectedTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedTagsProtectedTagOutput) } -// GetProjectSharedWithGroupArrayInput is an input type that accepts GetProjectSharedWithGroupArray and GetProjectSharedWithGroupArrayOutput values. -// You can construct a concrete instance of `GetProjectSharedWithGroupArrayInput` via: +// GetProjectProtectedTagsProtectedTagArrayInput is an input type that accepts GetProjectProtectedTagsProtectedTagArray and GetProjectProtectedTagsProtectedTagArrayOutput values. +// You can construct a concrete instance of `GetProjectProtectedTagsProtectedTagArrayInput` via: // -// GetProjectSharedWithGroupArray{ GetProjectSharedWithGroupArgs{...} } -type GetProjectSharedWithGroupArrayInput interface { +// GetProjectProtectedTagsProtectedTagArray{ GetProjectProtectedTagsProtectedTagArgs{...} } +type GetProjectProtectedTagsProtectedTagArrayInput interface { pulumi.Input - ToGetProjectSharedWithGroupArrayOutput() GetProjectSharedWithGroupArrayOutput - ToGetProjectSharedWithGroupArrayOutputWithContext(context.Context) GetProjectSharedWithGroupArrayOutput + ToGetProjectProtectedTagsProtectedTagArrayOutput() GetProjectProtectedTagsProtectedTagArrayOutput + ToGetProjectProtectedTagsProtectedTagArrayOutputWithContext(context.Context) GetProjectProtectedTagsProtectedTagArrayOutput } -type GetProjectSharedWithGroupArray []GetProjectSharedWithGroupInput +type GetProjectProtectedTagsProtectedTagArray []GetProjectProtectedTagsProtectedTagInput -func (GetProjectSharedWithGroupArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectSharedWithGroup)(nil)).Elem() +func (GetProjectProtectedTagsProtectedTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectProtectedTagsProtectedTag)(nil)).Elem() } -func (i GetProjectSharedWithGroupArray) ToGetProjectSharedWithGroupArrayOutput() GetProjectSharedWithGroupArrayOutput { - return i.ToGetProjectSharedWithGroupArrayOutputWithContext(context.Background()) +func (i GetProjectProtectedTagsProtectedTagArray) ToGetProjectProtectedTagsProtectedTagArrayOutput() GetProjectProtectedTagsProtectedTagArrayOutput { + return i.ToGetProjectProtectedTagsProtectedTagArrayOutputWithContext(context.Background()) } -func (i GetProjectSharedWithGroupArray) ToGetProjectSharedWithGroupArrayOutputWithContext(ctx context.Context) GetProjectSharedWithGroupArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectSharedWithGroupArrayOutput) +func (i GetProjectProtectedTagsProtectedTagArray) ToGetProjectProtectedTagsProtectedTagArrayOutputWithContext(ctx context.Context) GetProjectProtectedTagsProtectedTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedTagsProtectedTagArrayOutput) } -type GetProjectSharedWithGroupOutput struct{ *pulumi.OutputState } +type GetProjectProtectedTagsProtectedTagOutput struct{ *pulumi.OutputState } -func (GetProjectSharedWithGroupOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectSharedWithGroup)(nil)).Elem() +func (GetProjectProtectedTagsProtectedTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectProtectedTagsProtectedTag)(nil)).Elem() } -func (o GetProjectSharedWithGroupOutput) ToGetProjectSharedWithGroupOutput() GetProjectSharedWithGroupOutput { +func (o GetProjectProtectedTagsProtectedTagOutput) ToGetProjectProtectedTagsProtectedTagOutput() GetProjectProtectedTagsProtectedTagOutput { return o } -func (o GetProjectSharedWithGroupOutput) ToGetProjectSharedWithGroupOutputWithContext(ctx context.Context) GetProjectSharedWithGroupOutput { +func (o GetProjectProtectedTagsProtectedTagOutput) ToGetProjectProtectedTagsProtectedTagOutputWithContext(ctx context.Context) GetProjectProtectedTagsProtectedTagOutput { return o } -// The accessLevel permission level of the shared group. -func (o GetProjectSharedWithGroupOutput) GroupAccessLevel() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectSharedWithGroup) int { return v.GroupAccessLevel }).(pulumi.IntOutput) -} - -// The full path of the group shared with. -func (o GetProjectSharedWithGroupOutput) GroupFullPath() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectSharedWithGroup) string { return v.GroupFullPath }).(pulumi.StringOutput) -} - -// The ID of the group shared with. -func (o GetProjectSharedWithGroupOutput) GroupId() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectSharedWithGroup) int { return v.GroupId }).(pulumi.IntOutput) +// Array of access levels/user(s)/group(s) allowed to create protected tags. +func (o GetProjectProtectedTagsProtectedTagOutput) CreateAccessLevels() GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput { + return o.ApplyT(func(v GetProjectProtectedTagsProtectedTag) []GetProjectProtectedTagsProtectedTagCreateAccessLevel { + return v.CreateAccessLevels + }).(GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput) } -// The name of the group shared with. -func (o GetProjectSharedWithGroupOutput) GroupName() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectSharedWithGroup) string { return v.GroupName }).(pulumi.StringOutput) +// The name of the protected tag. +func (o GetProjectProtectedTagsProtectedTagOutput) Tag() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectProtectedTagsProtectedTag) string { return v.Tag }).(pulumi.StringOutput) } -type GetProjectSharedWithGroupArrayOutput struct{ *pulumi.OutputState } +type GetProjectProtectedTagsProtectedTagArrayOutput struct{ *pulumi.OutputState } -func (GetProjectSharedWithGroupArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectSharedWithGroup)(nil)).Elem() +func (GetProjectProtectedTagsProtectedTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectProtectedTagsProtectedTag)(nil)).Elem() } -func (o GetProjectSharedWithGroupArrayOutput) ToGetProjectSharedWithGroupArrayOutput() GetProjectSharedWithGroupArrayOutput { +func (o GetProjectProtectedTagsProtectedTagArrayOutput) ToGetProjectProtectedTagsProtectedTagArrayOutput() GetProjectProtectedTagsProtectedTagArrayOutput { return o } -func (o GetProjectSharedWithGroupArrayOutput) ToGetProjectSharedWithGroupArrayOutputWithContext(ctx context.Context) GetProjectSharedWithGroupArrayOutput { +func (o GetProjectProtectedTagsProtectedTagArrayOutput) ToGetProjectProtectedTagsProtectedTagArrayOutputWithContext(ctx context.Context) GetProjectProtectedTagsProtectedTagArrayOutput { return o } -func (o GetProjectSharedWithGroupArrayOutput) Index(i pulumi.IntInput) GetProjectSharedWithGroupOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectSharedWithGroup { - return vs[0].([]GetProjectSharedWithGroup)[vs[1].(int)] - }).(GetProjectSharedWithGroupOutput) +func (o GetProjectProtectedTagsProtectedTagArrayOutput) Index(i pulumi.IntInput) GetProjectProtectedTagsProtectedTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectProtectedTagsProtectedTag { + return vs[0].([]GetProjectProtectedTagsProtectedTag)[vs[1].(int)] + }).(GetProjectProtectedTagsProtectedTagOutput) } -type GetProjectTagCommit struct { - // The email of the author. - AuthorEmail string `pulumi:"authorEmail"` - // The name of the author. - AuthorName string `pulumi:"authorName"` - // The date which the commit was authored (format: yyyy-MM-ddTHH:mm:ssZ). - AuthoredDate string `pulumi:"authoredDate"` - // The date at which the commit was pushed (format: yyyy-MM-ddTHH:mm:ssZ). - CommittedDate string `pulumi:"committedDate"` - // The email of the user that committed. - CommitterEmail string `pulumi:"committerEmail"` - // The name of the user that committed. - CommitterName string `pulumi:"committerName"` - // The unique id assigned to the commit by Gitlab. - Id string `pulumi:"id"` - // The commit message - Message string `pulumi:"message"` - // The id of the parents of the commit - ParentIds []string `pulumi:"parentIds"` - // The short id assigned to the commit by Gitlab. - ShortId string `pulumi:"shortId"` - // The title of the commit - Title string `pulumi:"title"` +type GetProjectProtectedTagsProtectedTagCreateAccessLevel struct { + // Access level allowed to create protected tags. + AccessLevel string `pulumi:"accessLevel"` + // Readable description of access level. + AccessLevelDescription string `pulumi:"accessLevelDescription"` + // The ID of a GitLab group allowed to perform the relevant action. + GroupId *int `pulumi:"groupId"` + // The ID of the create access level. + Id int `pulumi:"id"` + // The ID of a GitLab user allowed to perform the relevant action. + UserId *int `pulumi:"userId"` } -// GetProjectTagCommitInput is an input type that accepts GetProjectTagCommitArgs and GetProjectTagCommitOutput values. -// You can construct a concrete instance of `GetProjectTagCommitInput` via: +// GetProjectProtectedTagsProtectedTagCreateAccessLevelInput is an input type that accepts GetProjectProtectedTagsProtectedTagCreateAccessLevelArgs and GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput values. +// You can construct a concrete instance of `GetProjectProtectedTagsProtectedTagCreateAccessLevelInput` via: // -// GetProjectTagCommitArgs{...} -type GetProjectTagCommitInput interface { +// GetProjectProtectedTagsProtectedTagCreateAccessLevelArgs{...} +type GetProjectProtectedTagsProtectedTagCreateAccessLevelInput interface { pulumi.Input - ToGetProjectTagCommitOutput() GetProjectTagCommitOutput - ToGetProjectTagCommitOutputWithContext(context.Context) GetProjectTagCommitOutput + ToGetProjectProtectedTagsProtectedTagCreateAccessLevelOutput() GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput + ToGetProjectProtectedTagsProtectedTagCreateAccessLevelOutputWithContext(context.Context) GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput } -type GetProjectTagCommitArgs struct { - // The email of the author. - AuthorEmail pulumi.StringInput `pulumi:"authorEmail"` - // The name of the author. - AuthorName pulumi.StringInput `pulumi:"authorName"` - // The date which the commit was authored (format: yyyy-MM-ddTHH:mm:ssZ). - AuthoredDate pulumi.StringInput `pulumi:"authoredDate"` - // The date at which the commit was pushed (format: yyyy-MM-ddTHH:mm:ssZ). - CommittedDate pulumi.StringInput `pulumi:"committedDate"` - // The email of the user that committed. - CommitterEmail pulumi.StringInput `pulumi:"committerEmail"` - // The name of the user that committed. - CommitterName pulumi.StringInput `pulumi:"committerName"` - // The unique id assigned to the commit by Gitlab. - Id pulumi.StringInput `pulumi:"id"` - // The commit message - Message pulumi.StringInput `pulumi:"message"` - // The id of the parents of the commit - ParentIds pulumi.StringArrayInput `pulumi:"parentIds"` - // The short id assigned to the commit by Gitlab. - ShortId pulumi.StringInput `pulumi:"shortId"` - // The title of the commit - Title pulumi.StringInput `pulumi:"title"` +type GetProjectProtectedTagsProtectedTagCreateAccessLevelArgs struct { + // Access level allowed to create protected tags. + AccessLevel pulumi.StringInput `pulumi:"accessLevel"` + // Readable description of access level. + AccessLevelDescription pulumi.StringInput `pulumi:"accessLevelDescription"` + // The ID of a GitLab group allowed to perform the relevant action. + GroupId pulumi.IntPtrInput `pulumi:"groupId"` + // The ID of the create access level. + Id pulumi.IntInput `pulumi:"id"` + // The ID of a GitLab user allowed to perform the relevant action. + UserId pulumi.IntPtrInput `pulumi:"userId"` } -func (GetProjectTagCommitArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectTagCommit)(nil)).Elem() +func (GetProjectProtectedTagsProtectedTagCreateAccessLevelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectProtectedTagsProtectedTagCreateAccessLevel)(nil)).Elem() } -func (i GetProjectTagCommitArgs) ToGetProjectTagCommitOutput() GetProjectTagCommitOutput { - return i.ToGetProjectTagCommitOutputWithContext(context.Background()) +func (i GetProjectProtectedTagsProtectedTagCreateAccessLevelArgs) ToGetProjectProtectedTagsProtectedTagCreateAccessLevelOutput() GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput { + return i.ToGetProjectProtectedTagsProtectedTagCreateAccessLevelOutputWithContext(context.Background()) } -func (i GetProjectTagCommitArgs) ToGetProjectTagCommitOutputWithContext(ctx context.Context) GetProjectTagCommitOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagCommitOutput) +func (i GetProjectProtectedTagsProtectedTagCreateAccessLevelArgs) ToGetProjectProtectedTagsProtectedTagCreateAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) } -// GetProjectTagCommitArrayInput is an input type that accepts GetProjectTagCommitArray and GetProjectTagCommitArrayOutput values. -// You can construct a concrete instance of `GetProjectTagCommitArrayInput` via: +// GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayInput is an input type that accepts GetProjectProtectedTagsProtectedTagCreateAccessLevelArray and GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput values. +// You can construct a concrete instance of `GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayInput` via: // -// GetProjectTagCommitArray{ GetProjectTagCommitArgs{...} } -type GetProjectTagCommitArrayInput interface { +// GetProjectProtectedTagsProtectedTagCreateAccessLevelArray{ GetProjectProtectedTagsProtectedTagCreateAccessLevelArgs{...} } +type GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayInput interface { pulumi.Input - ToGetProjectTagCommitArrayOutput() GetProjectTagCommitArrayOutput - ToGetProjectTagCommitArrayOutputWithContext(context.Context) GetProjectTagCommitArrayOutput + ToGetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput() GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput + ToGetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutputWithContext(context.Context) GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput } -type GetProjectTagCommitArray []GetProjectTagCommitInput +type GetProjectProtectedTagsProtectedTagCreateAccessLevelArray []GetProjectProtectedTagsProtectedTagCreateAccessLevelInput -func (GetProjectTagCommitArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectTagCommit)(nil)).Elem() +func (GetProjectProtectedTagsProtectedTagCreateAccessLevelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectProtectedTagsProtectedTagCreateAccessLevel)(nil)).Elem() } -func (i GetProjectTagCommitArray) ToGetProjectTagCommitArrayOutput() GetProjectTagCommitArrayOutput { - return i.ToGetProjectTagCommitArrayOutputWithContext(context.Background()) +func (i GetProjectProtectedTagsProtectedTagCreateAccessLevelArray) ToGetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput() GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput { + return i.ToGetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutputWithContext(context.Background()) } -func (i GetProjectTagCommitArray) ToGetProjectTagCommitArrayOutputWithContext(ctx context.Context) GetProjectTagCommitArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagCommitArrayOutput) +func (i GetProjectProtectedTagsProtectedTagCreateAccessLevelArray) ToGetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput) } -type GetProjectTagCommitOutput struct{ *pulumi.OutputState } +type GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput struct{ *pulumi.OutputState } -func (GetProjectTagCommitOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectTagCommit)(nil)).Elem() +func (GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectProtectedTagsProtectedTagCreateAccessLevel)(nil)).Elem() } -func (o GetProjectTagCommitOutput) ToGetProjectTagCommitOutput() GetProjectTagCommitOutput { +func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) ToGetProjectProtectedTagsProtectedTagCreateAccessLevelOutput() GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput { return o } -func (o GetProjectTagCommitOutput) ToGetProjectTagCommitOutputWithContext(ctx context.Context) GetProjectTagCommitOutput { +func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) ToGetProjectProtectedTagsProtectedTagCreateAccessLevelOutputWithContext(ctx context.Context) GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput { return o } -// The email of the author. -func (o GetProjectTagCommitOutput) AuthorEmail() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagCommit) string { return v.AuthorEmail }).(pulumi.StringOutput) -} - -// The name of the author. -func (o GetProjectTagCommitOutput) AuthorName() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagCommit) string { return v.AuthorName }).(pulumi.StringOutput) -} - -// The date which the commit was authored (format: yyyy-MM-ddTHH:mm:ssZ). -func (o GetProjectTagCommitOutput) AuthoredDate() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagCommit) string { return v.AuthoredDate }).(pulumi.StringOutput) -} - -// The date at which the commit was pushed (format: yyyy-MM-ddTHH:mm:ssZ). -func (o GetProjectTagCommitOutput) CommittedDate() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagCommit) string { return v.CommittedDate }).(pulumi.StringOutput) -} - -// The email of the user that committed. -func (o GetProjectTagCommitOutput) CommitterEmail() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagCommit) string { return v.CommitterEmail }).(pulumi.StringOutput) -} - -// The name of the user that committed. -func (o GetProjectTagCommitOutput) CommitterName() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagCommit) string { return v.CommitterName }).(pulumi.StringOutput) -} - -// The unique id assigned to the commit by Gitlab. -func (o GetProjectTagCommitOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagCommit) string { return v.Id }).(pulumi.StringOutput) +// Access level allowed to create protected tags. +func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) AccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectProtectedTagsProtectedTagCreateAccessLevel) string { return v.AccessLevel }).(pulumi.StringOutput) } -// The commit message -func (o GetProjectTagCommitOutput) Message() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagCommit) string { return v.Message }).(pulumi.StringOutput) +// Readable description of access level. +func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) AccessLevelDescription() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectProtectedTagsProtectedTagCreateAccessLevel) string { return v.AccessLevelDescription }).(pulumi.StringOutput) } -// The id of the parents of the commit -func (o GetProjectTagCommitOutput) ParentIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetProjectTagCommit) []string { return v.ParentIds }).(pulumi.StringArrayOutput) +// The ID of a GitLab group allowed to perform the relevant action. +func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) GroupId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectProtectedTagsProtectedTagCreateAccessLevel) *int { return v.GroupId }).(pulumi.IntPtrOutput) } -// The short id assigned to the commit by Gitlab. -func (o GetProjectTagCommitOutput) ShortId() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagCommit) string { return v.ShortId }).(pulumi.StringOutput) +// The ID of the create access level. +func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectProtectedTagsProtectedTagCreateAccessLevel) int { return v.Id }).(pulumi.IntOutput) } -// The title of the commit -func (o GetProjectTagCommitOutput) Title() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagCommit) string { return v.Title }).(pulumi.StringOutput) +// The ID of a GitLab user allowed to perform the relevant action. +func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) UserId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetProjectProtectedTagsProtectedTagCreateAccessLevel) *int { return v.UserId }).(pulumi.IntPtrOutput) } -type GetProjectTagCommitArrayOutput struct{ *pulumi.OutputState } +type GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput struct{ *pulumi.OutputState } -func (GetProjectTagCommitArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectTagCommit)(nil)).Elem() +func (GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectProtectedTagsProtectedTagCreateAccessLevel)(nil)).Elem() } -func (o GetProjectTagCommitArrayOutput) ToGetProjectTagCommitArrayOutput() GetProjectTagCommitArrayOutput { +func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput) ToGetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput() GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput { return o } -func (o GetProjectTagCommitArrayOutput) ToGetProjectTagCommitArrayOutputWithContext(ctx context.Context) GetProjectTagCommitArrayOutput { +func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput) ToGetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutputWithContext(ctx context.Context) GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput { return o } -func (o GetProjectTagCommitArrayOutput) Index(i pulumi.IntInput) GetProjectTagCommitOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectTagCommit { - return vs[0].([]GetProjectTagCommit)[vs[1].(int)] - }).(GetProjectTagCommitOutput) -} - -type GetProjectTagRelease struct { - // The description of release. - Description string `pulumi:"description"` - // The name of the tag. - TagName string `pulumi:"tagName"` +func (o GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput) Index(i pulumi.IntInput) GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectProtectedTagsProtectedTagCreateAccessLevel { + return vs[0].([]GetProjectProtectedTagsProtectedTagCreateAccessLevel)[vs[1].(int)] + }).(GetProjectProtectedTagsProtectedTagCreateAccessLevelOutput) } -// GetProjectTagReleaseInput is an input type that accepts GetProjectTagReleaseArgs and GetProjectTagReleaseOutput values. -// You can construct a concrete instance of `GetProjectTagReleaseInput` via: +type GetProjectPushRule struct { + // All commit author emails must match this regex, e.g. `@my-company.com$`. + AuthorEmailRegex string `pulumi:"authorEmailRegex"` + // All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + BranchNameRegex string `pulumi:"branchNameRegex"` + // Users can only push commits to this repository that were committed with one of their own verified emails. + CommitCommitterCheck bool `pulumi:"commitCommitterCheck"` + // Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + CommitCommitterNameCheck bool `pulumi:"commitCommitterNameCheck"` + // No commit message is allowed to match this regex, for example `ssh\:\/\/`. + CommitMessageNegativeRegex string `pulumi:"commitMessageNegativeRegex"` + // All commit messages must match this regex, e.g. `Fixed \d+\..*`. + CommitMessageRegex string `pulumi:"commitMessageRegex"` + // Deny deleting a tag. + DenyDeleteTag bool `pulumi:"denyDeleteTag"` + // All committed filenames must not match this regex, e.g. `(jar|exe)$`. + FileNameRegex string `pulumi:"fileNameRegex"` + // Maximum file size (MB). + MaxFileSize int `pulumi:"maxFileSize"` + // Restrict commits by author (email) to existing GitLab users. + MemberCheck bool `pulumi:"memberCheck"` + // GitLab will reject any files that are likely to contain secrets. + PreventSecrets bool `pulumi:"preventSecrets"` + // Reject commit when it's not DCO certified. + RejectNonDcoCommits bool `pulumi:"rejectNonDcoCommits"` + // Reject commit when it's not signed through GPG. + RejectUnsignedCommits bool `pulumi:"rejectUnsignedCommits"` +} + +// GetProjectPushRuleInput is an input type that accepts GetProjectPushRuleArgs and GetProjectPushRuleOutput values. +// You can construct a concrete instance of `GetProjectPushRuleInput` via: // -// GetProjectTagReleaseArgs{...} -type GetProjectTagReleaseInput interface { +// GetProjectPushRuleArgs{...} +type GetProjectPushRuleInput interface { pulumi.Input - ToGetProjectTagReleaseOutput() GetProjectTagReleaseOutput - ToGetProjectTagReleaseOutputWithContext(context.Context) GetProjectTagReleaseOutput + ToGetProjectPushRuleOutput() GetProjectPushRuleOutput + ToGetProjectPushRuleOutputWithContext(context.Context) GetProjectPushRuleOutput } -type GetProjectTagReleaseArgs struct { - // The description of release. - Description pulumi.StringInput `pulumi:"description"` - // The name of the tag. - TagName pulumi.StringInput `pulumi:"tagName"` +type GetProjectPushRuleArgs struct { + // All commit author emails must match this regex, e.g. `@my-company.com$`. + AuthorEmailRegex pulumi.StringInput `pulumi:"authorEmailRegex"` + // All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + BranchNameRegex pulumi.StringInput `pulumi:"branchNameRegex"` + // Users can only push commits to this repository that were committed with one of their own verified emails. + CommitCommitterCheck pulumi.BoolInput `pulumi:"commitCommitterCheck"` + // Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + CommitCommitterNameCheck pulumi.BoolInput `pulumi:"commitCommitterNameCheck"` + // No commit message is allowed to match this regex, for example `ssh\:\/\/`. + CommitMessageNegativeRegex pulumi.StringInput `pulumi:"commitMessageNegativeRegex"` + // All commit messages must match this regex, e.g. `Fixed \d+\..*`. + CommitMessageRegex pulumi.StringInput `pulumi:"commitMessageRegex"` + // Deny deleting a tag. + DenyDeleteTag pulumi.BoolInput `pulumi:"denyDeleteTag"` + // All committed filenames must not match this regex, e.g. `(jar|exe)$`. + FileNameRegex pulumi.StringInput `pulumi:"fileNameRegex"` + // Maximum file size (MB). + MaxFileSize pulumi.IntInput `pulumi:"maxFileSize"` + // Restrict commits by author (email) to existing GitLab users. + MemberCheck pulumi.BoolInput `pulumi:"memberCheck"` + // GitLab will reject any files that are likely to contain secrets. + PreventSecrets pulumi.BoolInput `pulumi:"preventSecrets"` + // Reject commit when it's not DCO certified. + RejectNonDcoCommits pulumi.BoolInput `pulumi:"rejectNonDcoCommits"` + // Reject commit when it's not signed through GPG. + RejectUnsignedCommits pulumi.BoolInput `pulumi:"rejectUnsignedCommits"` } -func (GetProjectTagReleaseArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectTagRelease)(nil)).Elem() +func (GetProjectPushRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectPushRule)(nil)).Elem() } -func (i GetProjectTagReleaseArgs) ToGetProjectTagReleaseOutput() GetProjectTagReleaseOutput { - return i.ToGetProjectTagReleaseOutputWithContext(context.Background()) +func (i GetProjectPushRuleArgs) ToGetProjectPushRuleOutput() GetProjectPushRuleOutput { + return i.ToGetProjectPushRuleOutputWithContext(context.Background()) } -func (i GetProjectTagReleaseArgs) ToGetProjectTagReleaseOutputWithContext(ctx context.Context) GetProjectTagReleaseOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagReleaseOutput) +func (i GetProjectPushRuleArgs) ToGetProjectPushRuleOutputWithContext(ctx context.Context) GetProjectPushRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectPushRuleOutput) } -// GetProjectTagReleaseArrayInput is an input type that accepts GetProjectTagReleaseArray and GetProjectTagReleaseArrayOutput values. -// You can construct a concrete instance of `GetProjectTagReleaseArrayInput` via: +// GetProjectPushRuleArrayInput is an input type that accepts GetProjectPushRuleArray and GetProjectPushRuleArrayOutput values. +// You can construct a concrete instance of `GetProjectPushRuleArrayInput` via: // -// GetProjectTagReleaseArray{ GetProjectTagReleaseArgs{...} } -type GetProjectTagReleaseArrayInput interface { +// GetProjectPushRuleArray{ GetProjectPushRuleArgs{...} } +type GetProjectPushRuleArrayInput interface { pulumi.Input - ToGetProjectTagReleaseArrayOutput() GetProjectTagReleaseArrayOutput - ToGetProjectTagReleaseArrayOutputWithContext(context.Context) GetProjectTagReleaseArrayOutput + ToGetProjectPushRuleArrayOutput() GetProjectPushRuleArrayOutput + ToGetProjectPushRuleArrayOutputWithContext(context.Context) GetProjectPushRuleArrayOutput } -type GetProjectTagReleaseArray []GetProjectTagReleaseInput +type GetProjectPushRuleArray []GetProjectPushRuleInput -func (GetProjectTagReleaseArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectTagRelease)(nil)).Elem() +func (GetProjectPushRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectPushRule)(nil)).Elem() } -func (i GetProjectTagReleaseArray) ToGetProjectTagReleaseArrayOutput() GetProjectTagReleaseArrayOutput { - return i.ToGetProjectTagReleaseArrayOutputWithContext(context.Background()) +func (i GetProjectPushRuleArray) ToGetProjectPushRuleArrayOutput() GetProjectPushRuleArrayOutput { + return i.ToGetProjectPushRuleArrayOutputWithContext(context.Background()) } -func (i GetProjectTagReleaseArray) ToGetProjectTagReleaseArrayOutputWithContext(ctx context.Context) GetProjectTagReleaseArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagReleaseArrayOutput) +func (i GetProjectPushRuleArray) ToGetProjectPushRuleArrayOutputWithContext(ctx context.Context) GetProjectPushRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectPushRuleArrayOutput) } -type GetProjectTagReleaseOutput struct{ *pulumi.OutputState } +type GetProjectPushRuleOutput struct{ *pulumi.OutputState } -func (GetProjectTagReleaseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectTagRelease)(nil)).Elem() +func (GetProjectPushRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectPushRule)(nil)).Elem() } -func (o GetProjectTagReleaseOutput) ToGetProjectTagReleaseOutput() GetProjectTagReleaseOutput { +func (o GetProjectPushRuleOutput) ToGetProjectPushRuleOutput() GetProjectPushRuleOutput { return o } -func (o GetProjectTagReleaseOutput) ToGetProjectTagReleaseOutputWithContext(ctx context.Context) GetProjectTagReleaseOutput { +func (o GetProjectPushRuleOutput) ToGetProjectPushRuleOutputWithContext(ctx context.Context) GetProjectPushRuleOutput { return o } -// The description of release. -func (o GetProjectTagReleaseOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagRelease) string { return v.Description }).(pulumi.StringOutput) +// All commit author emails must match this regex, e.g. `@my-company.com$`. +func (o GetProjectPushRuleOutput) AuthorEmailRegex() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectPushRule) string { return v.AuthorEmailRegex }).(pulumi.StringOutput) } -// The name of the tag. -func (o GetProjectTagReleaseOutput) TagName() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagRelease) string { return v.TagName }).(pulumi.StringOutput) +// All branch names must match this regex, e.g. `(feature|hotfix)\/*`. +func (o GetProjectPushRuleOutput) BranchNameRegex() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectPushRule) string { return v.BranchNameRegex }).(pulumi.StringOutput) } -type GetProjectTagReleaseArrayOutput struct{ *pulumi.OutputState } +// Users can only push commits to this repository that were committed with one of their own verified emails. +func (o GetProjectPushRuleOutput) CommitCommitterCheck() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectPushRule) bool { return v.CommitCommitterCheck }).(pulumi.BoolOutput) +} -func (GetProjectTagReleaseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectTagRelease)(nil)).Elem() +// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. +func (o GetProjectPushRuleOutput) CommitCommitterNameCheck() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectPushRule) bool { return v.CommitCommitterNameCheck }).(pulumi.BoolOutput) } -func (o GetProjectTagReleaseArrayOutput) ToGetProjectTagReleaseArrayOutput() GetProjectTagReleaseArrayOutput { - return o +// No commit message is allowed to match this regex, for example `ssh\:\/\/`. +func (o GetProjectPushRuleOutput) CommitMessageNegativeRegex() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectPushRule) string { return v.CommitMessageNegativeRegex }).(pulumi.StringOutput) } -func (o GetProjectTagReleaseArrayOutput) ToGetProjectTagReleaseArrayOutputWithContext(ctx context.Context) GetProjectTagReleaseArrayOutput { - return o +// All commit messages must match this regex, e.g. `Fixed \d+\..*`. +func (o GetProjectPushRuleOutput) CommitMessageRegex() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectPushRule) string { return v.CommitMessageRegex }).(pulumi.StringOutput) } -func (o GetProjectTagReleaseArrayOutput) Index(i pulumi.IntInput) GetProjectTagReleaseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectTagRelease { - return vs[0].([]GetProjectTagRelease)[vs[1].(int)] - }).(GetProjectTagReleaseOutput) +// Deny deleting a tag. +func (o GetProjectPushRuleOutput) DenyDeleteTag() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectPushRule) bool { return v.DenyDeleteTag }).(pulumi.BoolOutput) } -type GetProjectTagsTag struct { - // The commit associated with the tag. - Commits []GetProjectTagsTagCommit `pulumi:"commits"` - // The message of the annotated tag. - Message string `pulumi:"message"` - // The name of a tag. - Name string `pulumi:"name"` - // Bool, true if tag has tag protection. - Protected bool `pulumi:"protected"` - // The release associated with the tag. - Releases []GetProjectTagsTagRelease `pulumi:"releases"` - // The unique id assigned to the commit by Gitlab. - Target string `pulumi:"target"` +// All committed filenames must not match this regex, e.g. `(jar|exe)$`. +func (o GetProjectPushRuleOutput) FileNameRegex() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectPushRule) string { return v.FileNameRegex }).(pulumi.StringOutput) } -// GetProjectTagsTagInput is an input type that accepts GetProjectTagsTagArgs and GetProjectTagsTagOutput values. -// You can construct a concrete instance of `GetProjectTagsTagInput` via: -// -// GetProjectTagsTagArgs{...} -type GetProjectTagsTagInput interface { - pulumi.Input +// Maximum file size (MB). +func (o GetProjectPushRuleOutput) MaxFileSize() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectPushRule) int { return v.MaxFileSize }).(pulumi.IntOutput) +} - ToGetProjectTagsTagOutput() GetProjectTagsTagOutput - ToGetProjectTagsTagOutputWithContext(context.Context) GetProjectTagsTagOutput +// Restrict commits by author (email) to existing GitLab users. +func (o GetProjectPushRuleOutput) MemberCheck() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectPushRule) bool { return v.MemberCheck }).(pulumi.BoolOutput) } -type GetProjectTagsTagArgs struct { - // The commit associated with the tag. - Commits GetProjectTagsTagCommitArrayInput `pulumi:"commits"` - // The message of the annotated tag. - Message pulumi.StringInput `pulumi:"message"` - // The name of a tag. - Name pulumi.StringInput `pulumi:"name"` - // Bool, true if tag has tag protection. - Protected pulumi.BoolInput `pulumi:"protected"` - // The release associated with the tag. - Releases GetProjectTagsTagReleaseArrayInput `pulumi:"releases"` - // The unique id assigned to the commit by Gitlab. - Target pulumi.StringInput `pulumi:"target"` +// GitLab will reject any files that are likely to contain secrets. +func (o GetProjectPushRuleOutput) PreventSecrets() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectPushRule) bool { return v.PreventSecrets }).(pulumi.BoolOutput) } -func (GetProjectTagsTagArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectTagsTag)(nil)).Elem() +// Reject commit when it's not DCO certified. +func (o GetProjectPushRuleOutput) RejectNonDcoCommits() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectPushRule) bool { return v.RejectNonDcoCommits }).(pulumi.BoolOutput) } -func (i GetProjectTagsTagArgs) ToGetProjectTagsTagOutput() GetProjectTagsTagOutput { - return i.ToGetProjectTagsTagOutputWithContext(context.Background()) +// Reject commit when it's not signed through GPG. +func (o GetProjectPushRuleOutput) RejectUnsignedCommits() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectPushRule) bool { return v.RejectUnsignedCommits }).(pulumi.BoolOutput) } -func (i GetProjectTagsTagArgs) ToGetProjectTagsTagOutputWithContext(ctx context.Context) GetProjectTagsTagOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagsTagOutput) +type GetProjectPushRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectPushRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectPushRule)(nil)).Elem() } -// GetProjectTagsTagArrayInput is an input type that accepts GetProjectTagsTagArray and GetProjectTagsTagArrayOutput values. -// You can construct a concrete instance of `GetProjectTagsTagArrayInput` via: +func (o GetProjectPushRuleArrayOutput) ToGetProjectPushRuleArrayOutput() GetProjectPushRuleArrayOutput { + return o +} + +func (o GetProjectPushRuleArrayOutput) ToGetProjectPushRuleArrayOutputWithContext(ctx context.Context) GetProjectPushRuleArrayOutput { + return o +} + +func (o GetProjectPushRuleArrayOutput) Index(i pulumi.IntInput) GetProjectPushRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectPushRule { + return vs[0].([]GetProjectPushRule)[vs[1].(int)] + }).(GetProjectPushRuleOutput) +} + +type GetProjectSecureFileMetadata struct { + // Certificate expiration date + ExpiresAt string `pulumi:"expiresAt"` + // Certificate ID + Id string `pulumi:"id"` + // Certificate issuer information + Issuer GetProjectSecureFileMetadataIssuer `pulumi:"issuer"` + // Certificate subject information + Subject GetProjectSecureFileMetadataSubject `pulumi:"subject"` +} + +// GetProjectSecureFileMetadataInput is an input type that accepts GetProjectSecureFileMetadataArgs and GetProjectSecureFileMetadataOutput values. +// You can construct a concrete instance of `GetProjectSecureFileMetadataInput` via: // -// GetProjectTagsTagArray{ GetProjectTagsTagArgs{...} } -type GetProjectTagsTagArrayInput interface { +// GetProjectSecureFileMetadataArgs{...} +type GetProjectSecureFileMetadataInput interface { pulumi.Input - ToGetProjectTagsTagArrayOutput() GetProjectTagsTagArrayOutput - ToGetProjectTagsTagArrayOutputWithContext(context.Context) GetProjectTagsTagArrayOutput + ToGetProjectSecureFileMetadataOutput() GetProjectSecureFileMetadataOutput + ToGetProjectSecureFileMetadataOutputWithContext(context.Context) GetProjectSecureFileMetadataOutput } -type GetProjectTagsTagArray []GetProjectTagsTagInput +type GetProjectSecureFileMetadataArgs struct { + // Certificate expiration date + ExpiresAt pulumi.StringInput `pulumi:"expiresAt"` + // Certificate ID + Id pulumi.StringInput `pulumi:"id"` + // Certificate issuer information + Issuer GetProjectSecureFileMetadataIssuerInput `pulumi:"issuer"` + // Certificate subject information + Subject GetProjectSecureFileMetadataSubjectInput `pulumi:"subject"` +} -func (GetProjectTagsTagArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectTagsTag)(nil)).Elem() +func (GetProjectSecureFileMetadataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectSecureFileMetadata)(nil)).Elem() } -func (i GetProjectTagsTagArray) ToGetProjectTagsTagArrayOutput() GetProjectTagsTagArrayOutput { - return i.ToGetProjectTagsTagArrayOutputWithContext(context.Background()) +func (i GetProjectSecureFileMetadataArgs) ToGetProjectSecureFileMetadataOutput() GetProjectSecureFileMetadataOutput { + return i.ToGetProjectSecureFileMetadataOutputWithContext(context.Background()) } -func (i GetProjectTagsTagArray) ToGetProjectTagsTagArrayOutputWithContext(ctx context.Context) GetProjectTagsTagArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagsTagArrayOutput) +func (i GetProjectSecureFileMetadataArgs) ToGetProjectSecureFileMetadataOutputWithContext(ctx context.Context) GetProjectSecureFileMetadataOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectSecureFileMetadataOutput) } -type GetProjectTagsTagOutput struct{ *pulumi.OutputState } +type GetProjectSecureFileMetadataOutput struct{ *pulumi.OutputState } -func (GetProjectTagsTagOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectTagsTag)(nil)).Elem() +func (GetProjectSecureFileMetadataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectSecureFileMetadata)(nil)).Elem() } -func (o GetProjectTagsTagOutput) ToGetProjectTagsTagOutput() GetProjectTagsTagOutput { +func (o GetProjectSecureFileMetadataOutput) ToGetProjectSecureFileMetadataOutput() GetProjectSecureFileMetadataOutput { return o } -func (o GetProjectTagsTagOutput) ToGetProjectTagsTagOutputWithContext(ctx context.Context) GetProjectTagsTagOutput { +func (o GetProjectSecureFileMetadataOutput) ToGetProjectSecureFileMetadataOutputWithContext(ctx context.Context) GetProjectSecureFileMetadataOutput { return o } -// The commit associated with the tag. -func (o GetProjectTagsTagOutput) Commits() GetProjectTagsTagCommitArrayOutput { - return o.ApplyT(func(v GetProjectTagsTag) []GetProjectTagsTagCommit { return v.Commits }).(GetProjectTagsTagCommitArrayOutput) +// Certificate expiration date +func (o GetProjectSecureFileMetadataOutput) ExpiresAt() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectSecureFileMetadata) string { return v.ExpiresAt }).(pulumi.StringOutput) } -// The message of the annotated tag. -func (o GetProjectTagsTagOutput) Message() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagsTag) string { return v.Message }).(pulumi.StringOutput) +// Certificate ID +func (o GetProjectSecureFileMetadataOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectSecureFileMetadata) string { return v.Id }).(pulumi.StringOutput) } -// The name of a tag. -func (o GetProjectTagsTagOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagsTag) string { return v.Name }).(pulumi.StringOutput) +// Certificate issuer information +func (o GetProjectSecureFileMetadataOutput) Issuer() GetProjectSecureFileMetadataIssuerOutput { + return o.ApplyT(func(v GetProjectSecureFileMetadata) GetProjectSecureFileMetadataIssuer { return v.Issuer }).(GetProjectSecureFileMetadataIssuerOutput) } -// Bool, true if tag has tag protection. -func (o GetProjectTagsTagOutput) Protected() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectTagsTag) bool { return v.Protected }).(pulumi.BoolOutput) +// Certificate subject information +func (o GetProjectSecureFileMetadataOutput) Subject() GetProjectSecureFileMetadataSubjectOutput { + return o.ApplyT(func(v GetProjectSecureFileMetadata) GetProjectSecureFileMetadataSubject { return v.Subject }).(GetProjectSecureFileMetadataSubjectOutput) } -// The release associated with the tag. -func (o GetProjectTagsTagOutput) Releases() GetProjectTagsTagReleaseArrayOutput { - return o.ApplyT(func(v GetProjectTagsTag) []GetProjectTagsTagRelease { return v.Releases }).(GetProjectTagsTagReleaseArrayOutput) +type GetProjectSecureFileMetadataIssuer struct { + // Country + C string `pulumi:"c"` + // Common Name + Cn string `pulumi:"cn"` + // Organization + O string `pulumi:"o"` + // Organizational Unit + Ou string `pulumi:"ou"` } -// The unique id assigned to the commit by Gitlab. -func (o GetProjectTagsTagOutput) Target() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagsTag) string { return v.Target }).(pulumi.StringOutput) +// GetProjectSecureFileMetadataIssuerInput is an input type that accepts GetProjectSecureFileMetadataIssuerArgs and GetProjectSecureFileMetadataIssuerOutput values. +// You can construct a concrete instance of `GetProjectSecureFileMetadataIssuerInput` via: +// +// GetProjectSecureFileMetadataIssuerArgs{...} +type GetProjectSecureFileMetadataIssuerInput interface { + pulumi.Input + + ToGetProjectSecureFileMetadataIssuerOutput() GetProjectSecureFileMetadataIssuerOutput + ToGetProjectSecureFileMetadataIssuerOutputWithContext(context.Context) GetProjectSecureFileMetadataIssuerOutput } -type GetProjectTagsTagArrayOutput struct{ *pulumi.OutputState } +type GetProjectSecureFileMetadataIssuerArgs struct { + // Country + C pulumi.StringInput `pulumi:"c"` + // Common Name + Cn pulumi.StringInput `pulumi:"cn"` + // Organization + O pulumi.StringInput `pulumi:"o"` + // Organizational Unit + Ou pulumi.StringInput `pulumi:"ou"` +} -func (GetProjectTagsTagArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectTagsTag)(nil)).Elem() +func (GetProjectSecureFileMetadataIssuerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectSecureFileMetadataIssuer)(nil)).Elem() } -func (o GetProjectTagsTagArrayOutput) ToGetProjectTagsTagArrayOutput() GetProjectTagsTagArrayOutput { - return o +func (i GetProjectSecureFileMetadataIssuerArgs) ToGetProjectSecureFileMetadataIssuerOutput() GetProjectSecureFileMetadataIssuerOutput { + return i.ToGetProjectSecureFileMetadataIssuerOutputWithContext(context.Background()) } -func (o GetProjectTagsTagArrayOutput) ToGetProjectTagsTagArrayOutputWithContext(ctx context.Context) GetProjectTagsTagArrayOutput { - return o +func (i GetProjectSecureFileMetadataIssuerArgs) ToGetProjectSecureFileMetadataIssuerOutputWithContext(ctx context.Context) GetProjectSecureFileMetadataIssuerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectSecureFileMetadataIssuerOutput) } -func (o GetProjectTagsTagArrayOutput) Index(i pulumi.IntInput) GetProjectTagsTagOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectTagsTag { - return vs[0].([]GetProjectTagsTag)[vs[1].(int)] - }).(GetProjectTagsTagOutput) +type GetProjectSecureFileMetadataIssuerOutput struct{ *pulumi.OutputState } + +func (GetProjectSecureFileMetadataIssuerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectSecureFileMetadataIssuer)(nil)).Elem() } -type GetProjectTagsTagCommit struct { - // The email of the author. - AuthorEmail string `pulumi:"authorEmail"` - // The name of the author. - AuthorName string `pulumi:"authorName"` - // The date which the commit was authored (format: yyyy-MM-ddTHH:mm:ssZ). - AuthoredDate string `pulumi:"authoredDate"` - // The date at which the commit was pushed (format: yyyy-MM-ddTHH:mm:ssZ). - CommittedDate string `pulumi:"committedDate"` - // The email of the user that committed. - CommitterEmail string `pulumi:"committerEmail"` - // The name of the user that committed. - CommitterName string `pulumi:"committerName"` - // The unique id assigned to the commit by Gitlab. - Id string `pulumi:"id"` - // The commit message - Message string `pulumi:"message"` - // The id of the parents of the commit - ParentIds []string `pulumi:"parentIds"` - // The short id assigned to the commit by Gitlab. - ShortId string `pulumi:"shortId"` - // The title of the commit - Title string `pulumi:"title"` +func (o GetProjectSecureFileMetadataIssuerOutput) ToGetProjectSecureFileMetadataIssuerOutput() GetProjectSecureFileMetadataIssuerOutput { + return o } -// GetProjectTagsTagCommitInput is an input type that accepts GetProjectTagsTagCommitArgs and GetProjectTagsTagCommitOutput values. -// You can construct a concrete instance of `GetProjectTagsTagCommitInput` via: -// -// GetProjectTagsTagCommitArgs{...} -type GetProjectTagsTagCommitInput interface { - pulumi.Input +func (o GetProjectSecureFileMetadataIssuerOutput) ToGetProjectSecureFileMetadataIssuerOutputWithContext(ctx context.Context) GetProjectSecureFileMetadataIssuerOutput { + return o +} - ToGetProjectTagsTagCommitOutput() GetProjectTagsTagCommitOutput - ToGetProjectTagsTagCommitOutputWithContext(context.Context) GetProjectTagsTagCommitOutput +// Country +func (o GetProjectSecureFileMetadataIssuerOutput) C() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectSecureFileMetadataIssuer) string { return v.C }).(pulumi.StringOutput) } -type GetProjectTagsTagCommitArgs struct { - // The email of the author. - AuthorEmail pulumi.StringInput `pulumi:"authorEmail"` - // The name of the author. - AuthorName pulumi.StringInput `pulumi:"authorName"` - // The date which the commit was authored (format: yyyy-MM-ddTHH:mm:ssZ). - AuthoredDate pulumi.StringInput `pulumi:"authoredDate"` - // The date at which the commit was pushed (format: yyyy-MM-ddTHH:mm:ssZ). - CommittedDate pulumi.StringInput `pulumi:"committedDate"` - // The email of the user that committed. - CommitterEmail pulumi.StringInput `pulumi:"committerEmail"` - // The name of the user that committed. - CommitterName pulumi.StringInput `pulumi:"committerName"` - // The unique id assigned to the commit by Gitlab. - Id pulumi.StringInput `pulumi:"id"` - // The commit message - Message pulumi.StringInput `pulumi:"message"` - // The id of the parents of the commit - ParentIds pulumi.StringArrayInput `pulumi:"parentIds"` - // The short id assigned to the commit by Gitlab. - ShortId pulumi.StringInput `pulumi:"shortId"` - // The title of the commit - Title pulumi.StringInput `pulumi:"title"` +// Common Name +func (o GetProjectSecureFileMetadataIssuerOutput) Cn() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectSecureFileMetadataIssuer) string { return v.Cn }).(pulumi.StringOutput) } -func (GetProjectTagsTagCommitArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectTagsTagCommit)(nil)).Elem() +// Organization +func (o GetProjectSecureFileMetadataIssuerOutput) O() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectSecureFileMetadataIssuer) string { return v.O }).(pulumi.StringOutput) } -func (i GetProjectTagsTagCommitArgs) ToGetProjectTagsTagCommitOutput() GetProjectTagsTagCommitOutput { - return i.ToGetProjectTagsTagCommitOutputWithContext(context.Background()) +// Organizational Unit +func (o GetProjectSecureFileMetadataIssuerOutput) Ou() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectSecureFileMetadataIssuer) string { return v.Ou }).(pulumi.StringOutput) } -func (i GetProjectTagsTagCommitArgs) ToGetProjectTagsTagCommitOutputWithContext(ctx context.Context) GetProjectTagsTagCommitOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagsTagCommitOutput) +type GetProjectSecureFileMetadataSubject struct { + // Country + C string `pulumi:"c"` + // Common Name + Cn string `pulumi:"cn"` + // Organization + O string `pulumi:"o"` + // Organizational Unit + Ou string `pulumi:"ou"` + // User ID + Uid string `pulumi:"uid"` } -// GetProjectTagsTagCommitArrayInput is an input type that accepts GetProjectTagsTagCommitArray and GetProjectTagsTagCommitArrayOutput values. -// You can construct a concrete instance of `GetProjectTagsTagCommitArrayInput` via: +// GetProjectSecureFileMetadataSubjectInput is an input type that accepts GetProjectSecureFileMetadataSubjectArgs and GetProjectSecureFileMetadataSubjectOutput values. +// You can construct a concrete instance of `GetProjectSecureFileMetadataSubjectInput` via: // -// GetProjectTagsTagCommitArray{ GetProjectTagsTagCommitArgs{...} } -type GetProjectTagsTagCommitArrayInput interface { +// GetProjectSecureFileMetadataSubjectArgs{...} +type GetProjectSecureFileMetadataSubjectInput interface { pulumi.Input - ToGetProjectTagsTagCommitArrayOutput() GetProjectTagsTagCommitArrayOutput - ToGetProjectTagsTagCommitArrayOutputWithContext(context.Context) GetProjectTagsTagCommitArrayOutput + ToGetProjectSecureFileMetadataSubjectOutput() GetProjectSecureFileMetadataSubjectOutput + ToGetProjectSecureFileMetadataSubjectOutputWithContext(context.Context) GetProjectSecureFileMetadataSubjectOutput } -type GetProjectTagsTagCommitArray []GetProjectTagsTagCommitInput +type GetProjectSecureFileMetadataSubjectArgs struct { + // Country + C pulumi.StringInput `pulumi:"c"` + // Common Name + Cn pulumi.StringInput `pulumi:"cn"` + // Organization + O pulumi.StringInput `pulumi:"o"` + // Organizational Unit + Ou pulumi.StringInput `pulumi:"ou"` + // User ID + Uid pulumi.StringInput `pulumi:"uid"` +} -func (GetProjectTagsTagCommitArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectTagsTagCommit)(nil)).Elem() +func (GetProjectSecureFileMetadataSubjectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectSecureFileMetadataSubject)(nil)).Elem() } -func (i GetProjectTagsTagCommitArray) ToGetProjectTagsTagCommitArrayOutput() GetProjectTagsTagCommitArrayOutput { - return i.ToGetProjectTagsTagCommitArrayOutputWithContext(context.Background()) +func (i GetProjectSecureFileMetadataSubjectArgs) ToGetProjectSecureFileMetadataSubjectOutput() GetProjectSecureFileMetadataSubjectOutput { + return i.ToGetProjectSecureFileMetadataSubjectOutputWithContext(context.Background()) } -func (i GetProjectTagsTagCommitArray) ToGetProjectTagsTagCommitArrayOutputWithContext(ctx context.Context) GetProjectTagsTagCommitArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagsTagCommitArrayOutput) +func (i GetProjectSecureFileMetadataSubjectArgs) ToGetProjectSecureFileMetadataSubjectOutputWithContext(ctx context.Context) GetProjectSecureFileMetadataSubjectOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectSecureFileMetadataSubjectOutput) } -type GetProjectTagsTagCommitOutput struct{ *pulumi.OutputState } +type GetProjectSecureFileMetadataSubjectOutput struct{ *pulumi.OutputState } -func (GetProjectTagsTagCommitOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectTagsTagCommit)(nil)).Elem() +func (GetProjectSecureFileMetadataSubjectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectSecureFileMetadataSubject)(nil)).Elem() } -func (o GetProjectTagsTagCommitOutput) ToGetProjectTagsTagCommitOutput() GetProjectTagsTagCommitOutput { +func (o GetProjectSecureFileMetadataSubjectOutput) ToGetProjectSecureFileMetadataSubjectOutput() GetProjectSecureFileMetadataSubjectOutput { return o } -func (o GetProjectTagsTagCommitOutput) ToGetProjectTagsTagCommitOutputWithContext(ctx context.Context) GetProjectTagsTagCommitOutput { +func (o GetProjectSecureFileMetadataSubjectOutput) ToGetProjectSecureFileMetadataSubjectOutputWithContext(ctx context.Context) GetProjectSecureFileMetadataSubjectOutput { return o } -// The email of the author. -func (o GetProjectTagsTagCommitOutput) AuthorEmail() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.AuthorEmail }).(pulumi.StringOutput) +// Country +func (o GetProjectSecureFileMetadataSubjectOutput) C() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectSecureFileMetadataSubject) string { return v.C }).(pulumi.StringOutput) } -// The name of the author. -func (o GetProjectTagsTagCommitOutput) AuthorName() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.AuthorName }).(pulumi.StringOutput) +// Common Name +func (o GetProjectSecureFileMetadataSubjectOutput) Cn() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectSecureFileMetadataSubject) string { return v.Cn }).(pulumi.StringOutput) } -// The date which the commit was authored (format: yyyy-MM-ddTHH:mm:ssZ). -func (o GetProjectTagsTagCommitOutput) AuthoredDate() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.AuthoredDate }).(pulumi.StringOutput) +// Organization +func (o GetProjectSecureFileMetadataSubjectOutput) O() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectSecureFileMetadataSubject) string { return v.O }).(pulumi.StringOutput) } -// The date at which the commit was pushed (format: yyyy-MM-ddTHH:mm:ssZ). -func (o GetProjectTagsTagCommitOutput) CommittedDate() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.CommittedDate }).(pulumi.StringOutput) +// Organizational Unit +func (o GetProjectSecureFileMetadataSubjectOutput) Ou() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectSecureFileMetadataSubject) string { return v.Ou }).(pulumi.StringOutput) } -// The email of the user that committed. -func (o GetProjectTagsTagCommitOutput) CommitterEmail() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.CommitterEmail }).(pulumi.StringOutput) +// User ID +func (o GetProjectSecureFileMetadataSubjectOutput) Uid() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectSecureFileMetadataSubject) string { return v.Uid }).(pulumi.StringOutput) } -// The name of the user that committed. -func (o GetProjectTagsTagCommitOutput) CommitterName() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.CommitterName }).(pulumi.StringOutput) +type GetProjectSharedWithGroup struct { + // The accessLevel permission level of the shared group. + GroupAccessLevel int `pulumi:"groupAccessLevel"` + // The full path of the group shared with. + GroupFullPath string `pulumi:"groupFullPath"` + // The ID of the group shared with. + GroupId int `pulumi:"groupId"` + // The name of the group shared with. + GroupName string `pulumi:"groupName"` } -// The unique id assigned to the commit by Gitlab. -func (o GetProjectTagsTagCommitOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.Id }).(pulumi.StringOutput) +// GetProjectSharedWithGroupInput is an input type that accepts GetProjectSharedWithGroupArgs and GetProjectSharedWithGroupOutput values. +// You can construct a concrete instance of `GetProjectSharedWithGroupInput` via: +// +// GetProjectSharedWithGroupArgs{...} +type GetProjectSharedWithGroupInput interface { + pulumi.Input + + ToGetProjectSharedWithGroupOutput() GetProjectSharedWithGroupOutput + ToGetProjectSharedWithGroupOutputWithContext(context.Context) GetProjectSharedWithGroupOutput } -// The commit message -func (o GetProjectTagsTagCommitOutput) Message() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.Message }).(pulumi.StringOutput) +type GetProjectSharedWithGroupArgs struct { + // The accessLevel permission level of the shared group. + GroupAccessLevel pulumi.IntInput `pulumi:"groupAccessLevel"` + // The full path of the group shared with. + GroupFullPath pulumi.StringInput `pulumi:"groupFullPath"` + // The ID of the group shared with. + GroupId pulumi.IntInput `pulumi:"groupId"` + // The name of the group shared with. + GroupName pulumi.StringInput `pulumi:"groupName"` } -// The id of the parents of the commit -func (o GetProjectTagsTagCommitOutput) ParentIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetProjectTagsTagCommit) []string { return v.ParentIds }).(pulumi.StringArrayOutput) +func (GetProjectSharedWithGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectSharedWithGroup)(nil)).Elem() } -// The short id assigned to the commit by Gitlab. -func (o GetProjectTagsTagCommitOutput) ShortId() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.ShortId }).(pulumi.StringOutput) +func (i GetProjectSharedWithGroupArgs) ToGetProjectSharedWithGroupOutput() GetProjectSharedWithGroupOutput { + return i.ToGetProjectSharedWithGroupOutputWithContext(context.Background()) } -// The title of the commit -func (o GetProjectTagsTagCommitOutput) Title() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.Title }).(pulumi.StringOutput) +func (i GetProjectSharedWithGroupArgs) ToGetProjectSharedWithGroupOutputWithContext(ctx context.Context) GetProjectSharedWithGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectSharedWithGroupOutput) } -type GetProjectTagsTagCommitArrayOutput struct{ *pulumi.OutputState } +// GetProjectSharedWithGroupArrayInput is an input type that accepts GetProjectSharedWithGroupArray and GetProjectSharedWithGroupArrayOutput values. +// You can construct a concrete instance of `GetProjectSharedWithGroupArrayInput` via: +// +// GetProjectSharedWithGroupArray{ GetProjectSharedWithGroupArgs{...} } +type GetProjectSharedWithGroupArrayInput interface { + pulumi.Input -func (GetProjectTagsTagCommitArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectTagsTagCommit)(nil)).Elem() + ToGetProjectSharedWithGroupArrayOutput() GetProjectSharedWithGroupArrayOutput + ToGetProjectSharedWithGroupArrayOutputWithContext(context.Context) GetProjectSharedWithGroupArrayOutput } -func (o GetProjectTagsTagCommitArrayOutput) ToGetProjectTagsTagCommitArrayOutput() GetProjectTagsTagCommitArrayOutput { - return o -} +type GetProjectSharedWithGroupArray []GetProjectSharedWithGroupInput -func (o GetProjectTagsTagCommitArrayOutput) ToGetProjectTagsTagCommitArrayOutputWithContext(ctx context.Context) GetProjectTagsTagCommitArrayOutput { - return o +func (GetProjectSharedWithGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectSharedWithGroup)(nil)).Elem() } -func (o GetProjectTagsTagCommitArrayOutput) Index(i pulumi.IntInput) GetProjectTagsTagCommitOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectTagsTagCommit { - return vs[0].([]GetProjectTagsTagCommit)[vs[1].(int)] - }).(GetProjectTagsTagCommitOutput) +func (i GetProjectSharedWithGroupArray) ToGetProjectSharedWithGroupArrayOutput() GetProjectSharedWithGroupArrayOutput { + return i.ToGetProjectSharedWithGroupArrayOutputWithContext(context.Background()) } -type GetProjectTagsTagRelease struct { - // The description of release. - Description string `pulumi:"description"` - // The name of the tag. - TagName string `pulumi:"tagName"` +func (i GetProjectSharedWithGroupArray) ToGetProjectSharedWithGroupArrayOutputWithContext(ctx context.Context) GetProjectSharedWithGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectSharedWithGroupArrayOutput) } -// GetProjectTagsTagReleaseInput is an input type that accepts GetProjectTagsTagReleaseArgs and GetProjectTagsTagReleaseOutput values. -// You can construct a concrete instance of `GetProjectTagsTagReleaseInput` via: -// -// GetProjectTagsTagReleaseArgs{...} -type GetProjectTagsTagReleaseInput interface { - pulumi.Input +type GetProjectSharedWithGroupOutput struct{ *pulumi.OutputState } - ToGetProjectTagsTagReleaseOutput() GetProjectTagsTagReleaseOutput - ToGetProjectTagsTagReleaseOutputWithContext(context.Context) GetProjectTagsTagReleaseOutput +func (GetProjectSharedWithGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectSharedWithGroup)(nil)).Elem() } -type GetProjectTagsTagReleaseArgs struct { - // The description of release. - Description pulumi.StringInput `pulumi:"description"` - // The name of the tag. - TagName pulumi.StringInput `pulumi:"tagName"` +func (o GetProjectSharedWithGroupOutput) ToGetProjectSharedWithGroupOutput() GetProjectSharedWithGroupOutput { + return o } -func (GetProjectTagsTagReleaseArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectTagsTagRelease)(nil)).Elem() +func (o GetProjectSharedWithGroupOutput) ToGetProjectSharedWithGroupOutputWithContext(ctx context.Context) GetProjectSharedWithGroupOutput { + return o } -func (i GetProjectTagsTagReleaseArgs) ToGetProjectTagsTagReleaseOutput() GetProjectTagsTagReleaseOutput { - return i.ToGetProjectTagsTagReleaseOutputWithContext(context.Background()) +// The accessLevel permission level of the shared group. +func (o GetProjectSharedWithGroupOutput) GroupAccessLevel() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectSharedWithGroup) int { return v.GroupAccessLevel }).(pulumi.IntOutput) } -func (i GetProjectTagsTagReleaseArgs) ToGetProjectTagsTagReleaseOutputWithContext(ctx context.Context) GetProjectTagsTagReleaseOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagsTagReleaseOutput) +// The full path of the group shared with. +func (o GetProjectSharedWithGroupOutput) GroupFullPath() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectSharedWithGroup) string { return v.GroupFullPath }).(pulumi.StringOutput) } -// GetProjectTagsTagReleaseArrayInput is an input type that accepts GetProjectTagsTagReleaseArray and GetProjectTagsTagReleaseArrayOutput values. -// You can construct a concrete instance of `GetProjectTagsTagReleaseArrayInput` via: -// -// GetProjectTagsTagReleaseArray{ GetProjectTagsTagReleaseArgs{...} } -type GetProjectTagsTagReleaseArrayInput interface { - pulumi.Input - - ToGetProjectTagsTagReleaseArrayOutput() GetProjectTagsTagReleaseArrayOutput - ToGetProjectTagsTagReleaseArrayOutputWithContext(context.Context) GetProjectTagsTagReleaseArrayOutput +// The ID of the group shared with. +func (o GetProjectSharedWithGroupOutput) GroupId() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectSharedWithGroup) int { return v.GroupId }).(pulumi.IntOutput) } -type GetProjectTagsTagReleaseArray []GetProjectTagsTagReleaseInput - -func (GetProjectTagsTagReleaseArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectTagsTagRelease)(nil)).Elem() -} - -func (i GetProjectTagsTagReleaseArray) ToGetProjectTagsTagReleaseArrayOutput() GetProjectTagsTagReleaseArrayOutput { - return i.ToGetProjectTagsTagReleaseArrayOutputWithContext(context.Background()) -} - -func (i GetProjectTagsTagReleaseArray) ToGetProjectTagsTagReleaseArrayOutputWithContext(ctx context.Context) GetProjectTagsTagReleaseArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagsTagReleaseArrayOutput) -} - -type GetProjectTagsTagReleaseOutput struct{ *pulumi.OutputState } - -func (GetProjectTagsTagReleaseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectTagsTagRelease)(nil)).Elem() -} - -func (o GetProjectTagsTagReleaseOutput) ToGetProjectTagsTagReleaseOutput() GetProjectTagsTagReleaseOutput { - return o -} - -func (o GetProjectTagsTagReleaseOutput) ToGetProjectTagsTagReleaseOutputWithContext(ctx context.Context) GetProjectTagsTagReleaseOutput { - return o -} - -// The description of release. -func (o GetProjectTagsTagReleaseOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagsTagRelease) string { return v.Description }).(pulumi.StringOutput) -} - -// The name of the tag. -func (o GetProjectTagsTagReleaseOutput) TagName() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectTagsTagRelease) string { return v.TagName }).(pulumi.StringOutput) +// The name of the group shared with. +func (o GetProjectSharedWithGroupOutput) GroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectSharedWithGroup) string { return v.GroupName }).(pulumi.StringOutput) } -type GetProjectTagsTagReleaseArrayOutput struct{ *pulumi.OutputState } +type GetProjectSharedWithGroupArrayOutput struct{ *pulumi.OutputState } -func (GetProjectTagsTagReleaseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectTagsTagRelease)(nil)).Elem() +func (GetProjectSharedWithGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectSharedWithGroup)(nil)).Elem() } -func (o GetProjectTagsTagReleaseArrayOutput) ToGetProjectTagsTagReleaseArrayOutput() GetProjectTagsTagReleaseArrayOutput { +func (o GetProjectSharedWithGroupArrayOutput) ToGetProjectSharedWithGroupArrayOutput() GetProjectSharedWithGroupArrayOutput { return o } -func (o GetProjectTagsTagReleaseArrayOutput) ToGetProjectTagsTagReleaseArrayOutputWithContext(ctx context.Context) GetProjectTagsTagReleaseArrayOutput { +func (o GetProjectSharedWithGroupArrayOutput) ToGetProjectSharedWithGroupArrayOutputWithContext(ctx context.Context) GetProjectSharedWithGroupArrayOutput { return o } -func (o GetProjectTagsTagReleaseArrayOutput) Index(i pulumi.IntInput) GetProjectTagsTagReleaseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectTagsTagRelease { - return vs[0].([]GetProjectTagsTagRelease)[vs[1].(int)] - }).(GetProjectTagsTagReleaseOutput) +func (o GetProjectSharedWithGroupArrayOutput) Index(i pulumi.IntInput) GetProjectSharedWithGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectSharedWithGroup { + return vs[0].([]GetProjectSharedWithGroup)[vs[1].(int)] + }).(GetProjectSharedWithGroupOutput) } -type GetProjectVariablesVariable struct { - // The description of the variable. - Description string `pulumi:"description"` - // The environment scope of the variable. Defaults to all environment (`*`). Note that in Community Editions of Gitlab, values other than `*` will cause inconsistent plans. - EnvironmentScope string `pulumi:"environmentScope"` - // The name of the variable. - Key string `pulumi:"key"` - // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`. - Masked bool `pulumi:"masked"` - // The name or id of the project. - Project string `pulumi:"project"` - // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. - Protected bool `pulumi:"protected"` - // Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded. - Raw bool `pulumi:"raw"` - // The value of the variable. - Value string `pulumi:"value"` - // The type of a variable. Valid values are: `envVar`, `file`. Default is `envVar`. - VariableType string `pulumi:"variableType"` +type GetProjectTagCommit struct { + // The email of the author. + AuthorEmail string `pulumi:"authorEmail"` + // The name of the author. + AuthorName string `pulumi:"authorName"` + // The date which the commit was authored (format: yyyy-MM-ddTHH:mm:ssZ). + AuthoredDate string `pulumi:"authoredDate"` + // The date at which the commit was pushed (format: yyyy-MM-ddTHH:mm:ssZ). + CommittedDate string `pulumi:"committedDate"` + // The email of the user that committed. + CommitterEmail string `pulumi:"committerEmail"` + // The name of the user that committed. + CommitterName string `pulumi:"committerName"` + // The unique id assigned to the commit by Gitlab. + Id string `pulumi:"id"` + // The commit message + Message string `pulumi:"message"` + // The id of the parents of the commit + ParentIds []string `pulumi:"parentIds"` + // The short id assigned to the commit by Gitlab. + ShortId string `pulumi:"shortId"` + // The title of the commit + Title string `pulumi:"title"` } -// GetProjectVariablesVariableInput is an input type that accepts GetProjectVariablesVariableArgs and GetProjectVariablesVariableOutput values. -// You can construct a concrete instance of `GetProjectVariablesVariableInput` via: +// GetProjectTagCommitInput is an input type that accepts GetProjectTagCommitArgs and GetProjectTagCommitOutput values. +// You can construct a concrete instance of `GetProjectTagCommitInput` via: // -// GetProjectVariablesVariableArgs{...} -type GetProjectVariablesVariableInput interface { +// GetProjectTagCommitArgs{...} +type GetProjectTagCommitInput interface { pulumi.Input - ToGetProjectVariablesVariableOutput() GetProjectVariablesVariableOutput - ToGetProjectVariablesVariableOutputWithContext(context.Context) GetProjectVariablesVariableOutput + ToGetProjectTagCommitOutput() GetProjectTagCommitOutput + ToGetProjectTagCommitOutputWithContext(context.Context) GetProjectTagCommitOutput } -type GetProjectVariablesVariableArgs struct { - // The description of the variable. - Description pulumi.StringInput `pulumi:"description"` - // The environment scope of the variable. Defaults to all environment (`*`). Note that in Community Editions of Gitlab, values other than `*` will cause inconsistent plans. - EnvironmentScope pulumi.StringInput `pulumi:"environmentScope"` - // The name of the variable. - Key pulumi.StringInput `pulumi:"key"` - // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`. - Masked pulumi.BoolInput `pulumi:"masked"` - // The name or id of the project. - Project pulumi.StringInput `pulumi:"project"` - // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. - Protected pulumi.BoolInput `pulumi:"protected"` - // Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded. - Raw pulumi.BoolInput `pulumi:"raw"` - // The value of the variable. - Value pulumi.StringInput `pulumi:"value"` - // The type of a variable. Valid values are: `envVar`, `file`. Default is `envVar`. - VariableType pulumi.StringInput `pulumi:"variableType"` +type GetProjectTagCommitArgs struct { + // The email of the author. + AuthorEmail pulumi.StringInput `pulumi:"authorEmail"` + // The name of the author. + AuthorName pulumi.StringInput `pulumi:"authorName"` + // The date which the commit was authored (format: yyyy-MM-ddTHH:mm:ssZ). + AuthoredDate pulumi.StringInput `pulumi:"authoredDate"` + // The date at which the commit was pushed (format: yyyy-MM-ddTHH:mm:ssZ). + CommittedDate pulumi.StringInput `pulumi:"committedDate"` + // The email of the user that committed. + CommitterEmail pulumi.StringInput `pulumi:"committerEmail"` + // The name of the user that committed. + CommitterName pulumi.StringInput `pulumi:"committerName"` + // The unique id assigned to the commit by Gitlab. + Id pulumi.StringInput `pulumi:"id"` + // The commit message + Message pulumi.StringInput `pulumi:"message"` + // The id of the parents of the commit + ParentIds pulumi.StringArrayInput `pulumi:"parentIds"` + // The short id assigned to the commit by Gitlab. + ShortId pulumi.StringInput `pulumi:"shortId"` + // The title of the commit + Title pulumi.StringInput `pulumi:"title"` } -func (GetProjectVariablesVariableArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectVariablesVariable)(nil)).Elem() +func (GetProjectTagCommitArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectTagCommit)(nil)).Elem() } -func (i GetProjectVariablesVariableArgs) ToGetProjectVariablesVariableOutput() GetProjectVariablesVariableOutput { - return i.ToGetProjectVariablesVariableOutputWithContext(context.Background()) +func (i GetProjectTagCommitArgs) ToGetProjectTagCommitOutput() GetProjectTagCommitOutput { + return i.ToGetProjectTagCommitOutputWithContext(context.Background()) } -func (i GetProjectVariablesVariableArgs) ToGetProjectVariablesVariableOutputWithContext(ctx context.Context) GetProjectVariablesVariableOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectVariablesVariableOutput) +func (i GetProjectTagCommitArgs) ToGetProjectTagCommitOutputWithContext(ctx context.Context) GetProjectTagCommitOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagCommitOutput) } -// GetProjectVariablesVariableArrayInput is an input type that accepts GetProjectVariablesVariableArray and GetProjectVariablesVariableArrayOutput values. -// You can construct a concrete instance of `GetProjectVariablesVariableArrayInput` via: +// GetProjectTagCommitArrayInput is an input type that accepts GetProjectTagCommitArray and GetProjectTagCommitArrayOutput values. +// You can construct a concrete instance of `GetProjectTagCommitArrayInput` via: // -// GetProjectVariablesVariableArray{ GetProjectVariablesVariableArgs{...} } -type GetProjectVariablesVariableArrayInput interface { +// GetProjectTagCommitArray{ GetProjectTagCommitArgs{...} } +type GetProjectTagCommitArrayInput interface { pulumi.Input - ToGetProjectVariablesVariableArrayOutput() GetProjectVariablesVariableArrayOutput - ToGetProjectVariablesVariableArrayOutputWithContext(context.Context) GetProjectVariablesVariableArrayOutput + ToGetProjectTagCommitArrayOutput() GetProjectTagCommitArrayOutput + ToGetProjectTagCommitArrayOutputWithContext(context.Context) GetProjectTagCommitArrayOutput } -type GetProjectVariablesVariableArray []GetProjectVariablesVariableInput +type GetProjectTagCommitArray []GetProjectTagCommitInput -func (GetProjectVariablesVariableArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectVariablesVariable)(nil)).Elem() +func (GetProjectTagCommitArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectTagCommit)(nil)).Elem() } -func (i GetProjectVariablesVariableArray) ToGetProjectVariablesVariableArrayOutput() GetProjectVariablesVariableArrayOutput { - return i.ToGetProjectVariablesVariableArrayOutputWithContext(context.Background()) +func (i GetProjectTagCommitArray) ToGetProjectTagCommitArrayOutput() GetProjectTagCommitArrayOutput { + return i.ToGetProjectTagCommitArrayOutputWithContext(context.Background()) } -func (i GetProjectVariablesVariableArray) ToGetProjectVariablesVariableArrayOutputWithContext(ctx context.Context) GetProjectVariablesVariableArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectVariablesVariableArrayOutput) +func (i GetProjectTagCommitArray) ToGetProjectTagCommitArrayOutputWithContext(ctx context.Context) GetProjectTagCommitArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagCommitArrayOutput) } -type GetProjectVariablesVariableOutput struct{ *pulumi.OutputState } +type GetProjectTagCommitOutput struct{ *pulumi.OutputState } -func (GetProjectVariablesVariableOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectVariablesVariable)(nil)).Elem() +func (GetProjectTagCommitOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectTagCommit)(nil)).Elem() } -func (o GetProjectVariablesVariableOutput) ToGetProjectVariablesVariableOutput() GetProjectVariablesVariableOutput { +func (o GetProjectTagCommitOutput) ToGetProjectTagCommitOutput() GetProjectTagCommitOutput { return o } -func (o GetProjectVariablesVariableOutput) ToGetProjectVariablesVariableOutputWithContext(ctx context.Context) GetProjectVariablesVariableOutput { +func (o GetProjectTagCommitOutput) ToGetProjectTagCommitOutputWithContext(ctx context.Context) GetProjectTagCommitOutput { return o } -// The description of the variable. -func (o GetProjectVariablesVariableOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectVariablesVariable) string { return v.Description }).(pulumi.StringOutput) +// The email of the author. +func (o GetProjectTagCommitOutput) AuthorEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagCommit) string { return v.AuthorEmail }).(pulumi.StringOutput) } -// The environment scope of the variable. Defaults to all environment (`*`). Note that in Community Editions of Gitlab, values other than `*` will cause inconsistent plans. -func (o GetProjectVariablesVariableOutput) EnvironmentScope() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectVariablesVariable) string { return v.EnvironmentScope }).(pulumi.StringOutput) +// The name of the author. +func (o GetProjectTagCommitOutput) AuthorName() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagCommit) string { return v.AuthorName }).(pulumi.StringOutput) } -// The name of the variable. -func (o GetProjectVariablesVariableOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectVariablesVariable) string { return v.Key }).(pulumi.StringOutput) +// The date which the commit was authored (format: yyyy-MM-ddTHH:mm:ssZ). +func (o GetProjectTagCommitOutput) AuthoredDate() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagCommit) string { return v.AuthoredDate }).(pulumi.StringOutput) } -// If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`. -func (o GetProjectVariablesVariableOutput) Masked() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectVariablesVariable) bool { return v.Masked }).(pulumi.BoolOutput) +// The date at which the commit was pushed (format: yyyy-MM-ddTHH:mm:ssZ). +func (o GetProjectTagCommitOutput) CommittedDate() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagCommit) string { return v.CommittedDate }).(pulumi.StringOutput) } -// The name or id of the project. -func (o GetProjectVariablesVariableOutput) Project() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectVariablesVariable) string { return v.Project }).(pulumi.StringOutput) +// The email of the user that committed. +func (o GetProjectTagCommitOutput) CommitterEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagCommit) string { return v.CommitterEmail }).(pulumi.StringOutput) } -// If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. -func (o GetProjectVariablesVariableOutput) Protected() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectVariablesVariable) bool { return v.Protected }).(pulumi.BoolOutput) +// The name of the user that committed. +func (o GetProjectTagCommitOutput) CommitterName() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagCommit) string { return v.CommitterName }).(pulumi.StringOutput) } -// Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded. -func (o GetProjectVariablesVariableOutput) Raw() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectVariablesVariable) bool { return v.Raw }).(pulumi.BoolOutput) +// The unique id assigned to the commit by Gitlab. +func (o GetProjectTagCommitOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagCommit) string { return v.Id }).(pulumi.StringOutput) } -// The value of the variable. -func (o GetProjectVariablesVariableOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectVariablesVariable) string { return v.Value }).(pulumi.StringOutput) +// The commit message +func (o GetProjectTagCommitOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagCommit) string { return v.Message }).(pulumi.StringOutput) } -// The type of a variable. Valid values are: `envVar`, `file`. Default is `envVar`. -func (o GetProjectVariablesVariableOutput) VariableType() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectVariablesVariable) string { return v.VariableType }).(pulumi.StringOutput) +// The id of the parents of the commit +func (o GetProjectTagCommitOutput) ParentIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetProjectTagCommit) []string { return v.ParentIds }).(pulumi.StringArrayOutput) } -type GetProjectVariablesVariableArrayOutput struct{ *pulumi.OutputState } +// The short id assigned to the commit by Gitlab. +func (o GetProjectTagCommitOutput) ShortId() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagCommit) string { return v.ShortId }).(pulumi.StringOutput) +} -func (GetProjectVariablesVariableArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectVariablesVariable)(nil)).Elem() +// The title of the commit +func (o GetProjectTagCommitOutput) Title() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagCommit) string { return v.Title }).(pulumi.StringOutput) } -func (o GetProjectVariablesVariableArrayOutput) ToGetProjectVariablesVariableArrayOutput() GetProjectVariablesVariableArrayOutput { - return o +type GetProjectTagCommitArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectTagCommitArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectTagCommit)(nil)).Elem() } -func (o GetProjectVariablesVariableArrayOutput) ToGetProjectVariablesVariableArrayOutputWithContext(ctx context.Context) GetProjectVariablesVariableArrayOutput { +func (o GetProjectTagCommitArrayOutput) ToGetProjectTagCommitArrayOutput() GetProjectTagCommitArrayOutput { return o } -func (o GetProjectVariablesVariableArrayOutput) Index(i pulumi.IntInput) GetProjectVariablesVariableOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectVariablesVariable { - return vs[0].([]GetProjectVariablesVariable)[vs[1].(int)] - }).(GetProjectVariablesVariableOutput) +func (o GetProjectTagCommitArrayOutput) ToGetProjectTagCommitArrayOutputWithContext(ctx context.Context) GetProjectTagCommitArrayOutput { + return o } -type GetProjectsProject struct { - // Links for the project. - _links map[string]string `pulumi:"_links"` - // Whether allowMergeOnSkippedPipeline is enabled for the project. - AllowMergeOnSkippedPipeline bool `pulumi:"allowMergeOnSkippedPipeline"` - // Set whether or not a pipeline triggerer is allowed to approve deployments. Premium and Ultimate only. - AllowPipelineTriggerApproveDeployment bool `pulumi:"allowPipelineTriggerApproveDeployment"` - // Set the analytics access level. Valid values are `disabled`, `private`, `enabled`. - AnalyticsAccessLevel string `pulumi:"analyticsAccessLevel"` - // The numbers of approvals needed in a merge requests. - ApprovalsBeforeMerge int `pulumi:"approvalsBeforeMerge"` - // Whether the project is archived. - Archived bool `pulumi:"archived"` - // Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled. - AutoCancelPendingPipelines string `pulumi:"autoCancelPendingPipelines"` - // Auto Deploy strategy. Valid values are `continuous`, `manual`, `timedIncremental`. - AutoDevopsDeployStrategy string `pulumi:"autoDevopsDeployStrategy"` - // Enable Auto DevOps for this project. - AutoDevopsEnabled bool `pulumi:"autoDevopsEnabled"` - // Set whether auto-closing referenced issues on default branch. - AutocloseReferencedIssues bool `pulumi:"autocloseReferencedIssues"` - // The avatar url of the project. - AvatarUrl string `pulumi:"avatarUrl"` - // Build coverage regex for the project. - BuildCoverageRegex string `pulumi:"buildCoverageRegex"` - // The Git strategy. Defaults to fetch. - BuildGitStrategy string `pulumi:"buildGitStrategy"` - // The maximum amount of time, in seconds, that a job can run. - BuildTimeout int `pulumi:"buildTimeout"` - // Set the builds access level. Valid values are `disabled`, `private`, `enabled`. - BuildsAccessLevel string `pulumi:"buildsAccessLevel"` - // CI config file path for the project. - CiConfigPath string `pulumi:"ciConfigPath"` - // Default number of revisions for shallow cloning. - CiDefaultGitDepth int `pulumi:"ciDefaultGitDepth"` - // Pipelines older than the configured time are deleted. - CiDeletePipelinesInSeconds int `pulumi:"ciDeletePipelinesInSeconds"` - // When a new deployment job starts, skip older deployment jobs that are still pending. - CiForwardDeploymentEnabled bool `pulumi:"ciForwardDeploymentEnabled"` - // Fields included in the sub claim of the ID Token. Accepts an array starting with project_path. The array might also include refType and ref. Defaults to ["projectPath", "refType", "ref"]. Introduced in GitLab 17.10. - CiIdTokenSubClaimComponents []string `pulumi:"ciIdTokenSubClaimComponents"` - // The minimum role required to set variables when running pipelines and jobs. Introduced in GitLab 17.1. Valid values are `developer`, `maintainer`, `owner`, `noOneAllowed` - CiPipelineVariablesMinimumOverrideRole string `pulumi:"ciPipelineVariablesMinimumOverrideRole"` - // The role required to cancel a pipeline or job. Premium and Ultimate only. Valid values are `developer`, `maintainer`, `no one` - CiRestrictPipelineCancellationRole string `pulumi:"ciRestrictPipelineCancellationRole"` - // Set the image cleanup policy for this project. **Note**: this field is sometimes named `containerExpirationPolicyAttributes` in the GitLab Upstream API. - ContainerExpirationPolicies []GetProjectsProjectContainerExpirationPolicy `pulumi:"containerExpirationPolicies"` - // Set visibility of container registry, for this project. Valid values are `disabled`, `private`, `enabled`. - ContainerRegistryAccessLevel string `pulumi:"containerRegistryAccessLevel"` - // Whether the container registry is enabled for the project. - ContainerRegistryEnabled bool `pulumi:"containerRegistryEnabled"` - // Creation time for the project. - CreatedAt string `pulumi:"createdAt"` - // Creator ID for the project. - CreatorId int `pulumi:"creatorId"` - // Custom attributes for the project. - CustomAttributes []map[string]string `pulumi:"customAttributes"` - // The default branch name of the project. - DefaultBranch string `pulumi:"defaultBranch"` - // The description of the project. +func (o GetProjectTagCommitArrayOutput) Index(i pulumi.IntInput) GetProjectTagCommitOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectTagCommit { + return vs[0].([]GetProjectTagCommit)[vs[1].(int)] + }).(GetProjectTagCommitOutput) +} + +type GetProjectTagRelease struct { + // The description of the release. Description string `pulumi:"description"` - // Enable email notifications. - EmailsEnabled bool `pulumi:"emailsEnabled"` - // Whether the project is empty. - EmptyRepo bool `pulumi:"emptyRepo"` - // Set the environments access level. Valid values are `disabled`, `private`, `enabled`. - EnvironmentsAccessLevel string `pulumi:"environmentsAccessLevel"` - // The classification label for the project. - ExternalAuthorizationClassificationLabel string `pulumi:"externalAuthorizationClassificationLabel"` - // Set the feature flags access level. Valid values are `disabled`, `private`, `enabled`. - FeatureFlagsAccessLevel string `pulumi:"featureFlagsAccessLevel"` - // Present if the project is a fork. Contains information about the upstream project. - ForkedFromProjects []GetProjectsProjectForkedFromProject `pulumi:"forkedFromProjects"` - // Set the forking access level. Valid values are `disabled`, `private`, `enabled`. - ForkingAccessLevel string `pulumi:"forkingAccessLevel"` - // The number of forks of the project. - ForksCount int `pulumi:"forksCount"` - // Whether group runners are enabled for the project. - GroupRunnersEnabled bool `pulumi:"groupRunnersEnabled"` - // The HTTP clone URL of the project. - HttpUrlToRepo string `pulumi:"httpUrlToRepo"` - // The ID of the project. - Id int `pulumi:"id"` - // The import error, if it exists, for the project. - ImportError string `pulumi:"importError"` - // The import status of the project. - ImportStatus string `pulumi:"importStatus"` - // URL the project was imported from. - ImportUrl string `pulumi:"importUrl"` - // Set the infrastructure access level. Valid values are `disabled`, `private`, `enabled`. - InfrastructureAccessLevel string `pulumi:"infrastructureAccessLevel"` - // Set the issues access level. Valid values are `disabled`, `private`, `enabled`. - IssuesAccessLevel string `pulumi:"issuesAccessLevel"` - // Whether issues are enabled for the project. - IssuesEnabled bool `pulumi:"issuesEnabled"` - // Whether pipelines are enabled for the project. - JobsEnabled bool `pulumi:"jobsEnabled"` - // Disable or enable the ability to keep the latest artifact for this project. - KeepLatestArtifact bool `pulumi:"keepLatestArtifact"` - // Last activirty time for the project. - LastActivityAt string `pulumi:"lastActivityAt"` - // Whether LFS (large file storage) is enabled for the project. - LfsEnabled bool `pulumi:"lfsEnabled"` - // Template used to create merge commit message in merge requests. - MergeCommitTemplate string `pulumi:"mergeCommitTemplate"` - // Merge method for the project. - MergeMethod string `pulumi:"mergeMethod"` - // Enable or disable merge pipelines. - MergePipelinesEnabled bool `pulumi:"mergePipelinesEnabled"` - // Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`. - MergeRequestsAccessLevel string `pulumi:"mergeRequestsAccessLevel"` - // Whether merge requests are enabled for the project. - MergeRequestsEnabled bool `pulumi:"mergeRequestsEnabled"` - // Enable or disable merge trains. - MergeTrainsEnabled bool `pulumi:"mergeTrainsEnabled"` - // Whether the pull mirroring is enabled for the project. - Mirror bool `pulumi:"mirror"` - // Whether mirrorOverwritesDivergedBranches is enabled for the project. - MirrorOverwritesDivergedBranches bool `pulumi:"mirrorOverwritesDivergedBranches"` - // Whether pull mirroring triggers builds for the project. - MirrorTriggerBuilds bool `pulumi:"mirrorTriggerBuilds"` - // The mirror user ID for the project. - MirrorUserId int `pulumi:"mirrorUserId"` - // The visibility of machine learning model experiments. - ModelExperimentsAccessLevel string `pulumi:"modelExperimentsAccessLevel"` - // The visibility of machine learning model registry. - ModelRegistryAccessLevel string `pulumi:"modelRegistryAccessLevel"` - // Set the monitor access level. Valid values are `disabled`, `private`, `enabled`. - MonitorAccessLevel string `pulumi:"monitorAccessLevel"` - // The name of the project. - Name string `pulumi:"name"` - // In `group / subgroup / project` or `user / project` format. - NameWithNamespace string `pulumi:"nameWithNamespace"` - // Namespace of the project (parent group/s). - Namespaces []GetProjectsProjectNamespace `pulumi:"namespaces"` - // Whether onlyAllowMergeIfAllDiscussionsAreResolved is enabled for the project. - OnlyAllowMergeIfAllDiscussionsAreResolved bool `pulumi:"onlyAllowMergeIfAllDiscussionsAreResolved"` - // Whether onlyAllowMergeIfPipelineSucceeds is enabled for the project. - OnlyAllowMergeIfPipelineSucceeds bool `pulumi:"onlyAllowMergeIfPipelineSucceeds"` - // Whether onlyMirrorProtectedBranches is enabled for the project. - OnlyMirrorProtectedBranches bool `pulumi:"onlyMirrorProtectedBranches"` - // The number of open issies for the project. - OpenIssuesCount int `pulumi:"openIssuesCount"` - Owners []GetProjectsProjectOwner `pulumi:"owners"` - // Whether packages are enabled for the project. - PackagesEnabled bool `pulumi:"packagesEnabled"` - // The path of the project. - Path string `pulumi:"path"` - // In `group/subgroup/project` or `user/project` format. - PathWithNamespace string `pulumi:"pathWithNamespace"` - // Permissions for the project. - Permissions []GetProjectsProjectPermission `pulumi:"permissions"` - // Whether merge requests require an associated issue from Jira. Premium and Ultimate only. - PreventMergeWithoutJiraIssue bool `pulumi:"preventMergeWithoutJiraIssue"` - // Whether public builds are enabled for the project. - PublicBuilds bool `pulumi:"publicBuilds"` - // The remote url of the project. - ReadmeUrl string `pulumi:"readmeUrl"` - // Set the releases access level. Valid values are `disabled`, `private`, `enabled`. - ReleasesAccessLevel string `pulumi:"releasesAccessLevel"` - // Set the repository access level. Valid values are `disabled`, `private`, `enabled`. - RepositoryAccessLevel string `pulumi:"repositoryAccessLevel"` - // Which storage shard the repository is on. (administrator only) - RepositoryStorage string `pulumi:"repositoryStorage"` - // Whether requesting access is enabled for the project. - RequestAccessEnabled bool `pulumi:"requestAccessEnabled"` - // Set the requirements access level. Valid values are `disabled`, `private`, `enabled`. - RequirementsAccessLevel string `pulumi:"requirementsAccessLevel"` - // Whether resolveOutdatedDiffDiscussions is enabled for the project - ResolveOutdatedDiffDiscussions bool `pulumi:"resolveOutdatedDiffDiscussions"` - // Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. - RestrictUserDefinedVariables bool `pulumi:"restrictUserDefinedVariables"` - // The runners token for the project. - RunnersToken string `pulumi:"runnersToken"` - // Set the security and compliance access level. Valid values are `disabled`, `private`, `enabled`. - SecurityAndComplianceAccessLevel string `pulumi:"securityAndComplianceAccessLevel"` - // Whether shared runners are enabled for the project. - SharedRunnersEnabled bool `pulumi:"sharedRunnersEnabled"` - // Groups the the project is shared with. - SharedWithGroups []GetProjectsProjectSharedWithGroup `pulumi:"sharedWithGroups"` - // Set the snippets access level. Valid values are `disabled`, `private`, `enabled`. - SnippetsAccessLevel string `pulumi:"snippetsAccessLevel"` - // Whether snippets are enabled for the project. - SnippetsEnabled bool `pulumi:"snippetsEnabled"` - // Template used to create squash commit message in merge requests. - SquashCommitTemplate string `pulumi:"squashCommitTemplate"` - // The SSH clone URL of the project. - SshUrlToRepo string `pulumi:"sshUrlToRepo"` - // The number of stars on the project. - StarCount int `pulumi:"starCount"` - // Statistics for the project. - Statistics map[string]int `pulumi:"statistics"` - // The commit message used to apply merge request suggestions. - SuggestionCommitMessage string `pulumi:"suggestionCommitMessage"` - // A set of the project topics (formerly called "project tags"). - TagLists []string `pulumi:"tagLists"` - // The list of topics for the project. - Topics []string `pulumi:"topics"` - // The visibility of the project. - Visibility string `pulumi:"visibility"` - // The web url of the project. - WebUrl string `pulumi:"webUrl"` - // Set the wiki access level. Valid values are `disabled`, `private`, `enabled`. - WikiAccessLevel string `pulumi:"wikiAccessLevel"` - // Whether wiki is enabled for the project. - WikiEnabled bool `pulumi:"wikiEnabled"` + // The name of the tag. + TagName string `pulumi:"tagName"` } -// GetProjectsProjectInput is an input type that accepts GetProjectsProjectArgs and GetProjectsProjectOutput values. -// You can construct a concrete instance of `GetProjectsProjectInput` via: +// GetProjectTagReleaseInput is an input type that accepts GetProjectTagReleaseArgs and GetProjectTagReleaseOutput values. +// You can construct a concrete instance of `GetProjectTagReleaseInput` via: // -// GetProjectsProjectArgs{...} -type GetProjectsProjectInput interface { +// GetProjectTagReleaseArgs{...} +type GetProjectTagReleaseInput interface { pulumi.Input - ToGetProjectsProjectOutput() GetProjectsProjectOutput - ToGetProjectsProjectOutputWithContext(context.Context) GetProjectsProjectOutput + ToGetProjectTagReleaseOutput() GetProjectTagReleaseOutput + ToGetProjectTagReleaseOutputWithContext(context.Context) GetProjectTagReleaseOutput } -type GetProjectsProjectArgs struct { - // Links for the project. - _links pulumi.StringMapInput `pulumi:"_links"` - // Whether allowMergeOnSkippedPipeline is enabled for the project. - AllowMergeOnSkippedPipeline pulumi.BoolInput `pulumi:"allowMergeOnSkippedPipeline"` - // Set whether or not a pipeline triggerer is allowed to approve deployments. Premium and Ultimate only. - AllowPipelineTriggerApproveDeployment pulumi.BoolInput `pulumi:"allowPipelineTriggerApproveDeployment"` - // Set the analytics access level. Valid values are `disabled`, `private`, `enabled`. - AnalyticsAccessLevel pulumi.StringInput `pulumi:"analyticsAccessLevel"` - // The numbers of approvals needed in a merge requests. - ApprovalsBeforeMerge pulumi.IntInput `pulumi:"approvalsBeforeMerge"` - // Whether the project is archived. - Archived pulumi.BoolInput `pulumi:"archived"` - // Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled. - AutoCancelPendingPipelines pulumi.StringInput `pulumi:"autoCancelPendingPipelines"` - // Auto Deploy strategy. Valid values are `continuous`, `manual`, `timedIncremental`. - AutoDevopsDeployStrategy pulumi.StringInput `pulumi:"autoDevopsDeployStrategy"` - // Enable Auto DevOps for this project. - AutoDevopsEnabled pulumi.BoolInput `pulumi:"autoDevopsEnabled"` - // Set whether auto-closing referenced issues on default branch. - AutocloseReferencedIssues pulumi.BoolInput `pulumi:"autocloseReferencedIssues"` - // The avatar url of the project. - AvatarUrl pulumi.StringInput `pulumi:"avatarUrl"` - // Build coverage regex for the project. - BuildCoverageRegex pulumi.StringInput `pulumi:"buildCoverageRegex"` - // The Git strategy. Defaults to fetch. - BuildGitStrategy pulumi.StringInput `pulumi:"buildGitStrategy"` - // The maximum amount of time, in seconds, that a job can run. - BuildTimeout pulumi.IntInput `pulumi:"buildTimeout"` - // Set the builds access level. Valid values are `disabled`, `private`, `enabled`. - BuildsAccessLevel pulumi.StringInput `pulumi:"buildsAccessLevel"` - // CI config file path for the project. - CiConfigPath pulumi.StringInput `pulumi:"ciConfigPath"` - // Default number of revisions for shallow cloning. - CiDefaultGitDepth pulumi.IntInput `pulumi:"ciDefaultGitDepth"` - // Pipelines older than the configured time are deleted. - CiDeletePipelinesInSeconds pulumi.IntInput `pulumi:"ciDeletePipelinesInSeconds"` - // When a new deployment job starts, skip older deployment jobs that are still pending. - CiForwardDeploymentEnabled pulumi.BoolInput `pulumi:"ciForwardDeploymentEnabled"` - // Fields included in the sub claim of the ID Token. Accepts an array starting with project_path. The array might also include refType and ref. Defaults to ["projectPath", "refType", "ref"]. Introduced in GitLab 17.10. - CiIdTokenSubClaimComponents pulumi.StringArrayInput `pulumi:"ciIdTokenSubClaimComponents"` - // The minimum role required to set variables when running pipelines and jobs. Introduced in GitLab 17.1. Valid values are `developer`, `maintainer`, `owner`, `noOneAllowed` - CiPipelineVariablesMinimumOverrideRole pulumi.StringInput `pulumi:"ciPipelineVariablesMinimumOverrideRole"` - // The role required to cancel a pipeline or job. Premium and Ultimate only. Valid values are `developer`, `maintainer`, `no one` - CiRestrictPipelineCancellationRole pulumi.StringInput `pulumi:"ciRestrictPipelineCancellationRole"` - // Set the image cleanup policy for this project. **Note**: this field is sometimes named `containerExpirationPolicyAttributes` in the GitLab Upstream API. - ContainerExpirationPolicies GetProjectsProjectContainerExpirationPolicyArrayInput `pulumi:"containerExpirationPolicies"` - // Set visibility of container registry, for this project. Valid values are `disabled`, `private`, `enabled`. - ContainerRegistryAccessLevel pulumi.StringInput `pulumi:"containerRegistryAccessLevel"` - // Whether the container registry is enabled for the project. - ContainerRegistryEnabled pulumi.BoolInput `pulumi:"containerRegistryEnabled"` - // Creation time for the project. - CreatedAt pulumi.StringInput `pulumi:"createdAt"` - // Creator ID for the project. - CreatorId pulumi.IntInput `pulumi:"creatorId"` - // Custom attributes for the project. - CustomAttributes pulumi.StringMapArrayInput `pulumi:"customAttributes"` - // The default branch name of the project. - DefaultBranch pulumi.StringInput `pulumi:"defaultBranch"` - // The description of the project. +type GetProjectTagReleaseArgs struct { + // The description of the release. Description pulumi.StringInput `pulumi:"description"` - // Enable email notifications. - EmailsEnabled pulumi.BoolInput `pulumi:"emailsEnabled"` - // Whether the project is empty. - EmptyRepo pulumi.BoolInput `pulumi:"emptyRepo"` - // Set the environments access level. Valid values are `disabled`, `private`, `enabled`. - EnvironmentsAccessLevel pulumi.StringInput `pulumi:"environmentsAccessLevel"` - // The classification label for the project. - ExternalAuthorizationClassificationLabel pulumi.StringInput `pulumi:"externalAuthorizationClassificationLabel"` - // Set the feature flags access level. Valid values are `disabled`, `private`, `enabled`. - FeatureFlagsAccessLevel pulumi.StringInput `pulumi:"featureFlagsAccessLevel"` - // Present if the project is a fork. Contains information about the upstream project. - ForkedFromProjects GetProjectsProjectForkedFromProjectArrayInput `pulumi:"forkedFromProjects"` - // Set the forking access level. Valid values are `disabled`, `private`, `enabled`. - ForkingAccessLevel pulumi.StringInput `pulumi:"forkingAccessLevel"` - // The number of forks of the project. - ForksCount pulumi.IntInput `pulumi:"forksCount"` - // Whether group runners are enabled for the project. - GroupRunnersEnabled pulumi.BoolInput `pulumi:"groupRunnersEnabled"` - // The HTTP clone URL of the project. + // The name of the tag. + TagName pulumi.StringInput `pulumi:"tagName"` +} + +func (GetProjectTagReleaseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectTagRelease)(nil)).Elem() +} + +func (i GetProjectTagReleaseArgs) ToGetProjectTagReleaseOutput() GetProjectTagReleaseOutput { + return i.ToGetProjectTagReleaseOutputWithContext(context.Background()) +} + +func (i GetProjectTagReleaseArgs) ToGetProjectTagReleaseOutputWithContext(ctx context.Context) GetProjectTagReleaseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagReleaseOutput) +} + +// GetProjectTagReleaseArrayInput is an input type that accepts GetProjectTagReleaseArray and GetProjectTagReleaseArrayOutput values. +// You can construct a concrete instance of `GetProjectTagReleaseArrayInput` via: +// +// GetProjectTagReleaseArray{ GetProjectTagReleaseArgs{...} } +type GetProjectTagReleaseArrayInput interface { + pulumi.Input + + ToGetProjectTagReleaseArrayOutput() GetProjectTagReleaseArrayOutput + ToGetProjectTagReleaseArrayOutputWithContext(context.Context) GetProjectTagReleaseArrayOutput +} + +type GetProjectTagReleaseArray []GetProjectTagReleaseInput + +func (GetProjectTagReleaseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectTagRelease)(nil)).Elem() +} + +func (i GetProjectTagReleaseArray) ToGetProjectTagReleaseArrayOutput() GetProjectTagReleaseArrayOutput { + return i.ToGetProjectTagReleaseArrayOutputWithContext(context.Background()) +} + +func (i GetProjectTagReleaseArray) ToGetProjectTagReleaseArrayOutputWithContext(ctx context.Context) GetProjectTagReleaseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagReleaseArrayOutput) +} + +type GetProjectTagReleaseOutput struct{ *pulumi.OutputState } + +func (GetProjectTagReleaseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectTagRelease)(nil)).Elem() +} + +func (o GetProjectTagReleaseOutput) ToGetProjectTagReleaseOutput() GetProjectTagReleaseOutput { + return o +} + +func (o GetProjectTagReleaseOutput) ToGetProjectTagReleaseOutputWithContext(ctx context.Context) GetProjectTagReleaseOutput { + return o +} + +// The description of the release. +func (o GetProjectTagReleaseOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagRelease) string { return v.Description }).(pulumi.StringOutput) +} + +// The name of the tag. +func (o GetProjectTagReleaseOutput) TagName() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagRelease) string { return v.TagName }).(pulumi.StringOutput) +} + +type GetProjectTagReleaseArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectTagReleaseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectTagRelease)(nil)).Elem() +} + +func (o GetProjectTagReleaseArrayOutput) ToGetProjectTagReleaseArrayOutput() GetProjectTagReleaseArrayOutput { + return o +} + +func (o GetProjectTagReleaseArrayOutput) ToGetProjectTagReleaseArrayOutputWithContext(ctx context.Context) GetProjectTagReleaseArrayOutput { + return o +} + +func (o GetProjectTagReleaseArrayOutput) Index(i pulumi.IntInput) GetProjectTagReleaseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectTagRelease { + return vs[0].([]GetProjectTagRelease)[vs[1].(int)] + }).(GetProjectTagReleaseOutput) +} + +type GetProjectTagsTag struct { + // The commit associated with the tag. + Commits []GetProjectTagsTagCommit `pulumi:"commits"` + // The message of the annotated tag. + Message string `pulumi:"message"` + // The name of a tag. + Name string `pulumi:"name"` + // True if tag has tag protection. + Protected bool `pulumi:"protected"` + // The release associated with the tag. + Releases []GetProjectTagsTagRelease `pulumi:"releases"` + // The unique id assigned to the commit by Gitlab. + Target string `pulumi:"target"` +} + +// GetProjectTagsTagInput is an input type that accepts GetProjectTagsTagArgs and GetProjectTagsTagOutput values. +// You can construct a concrete instance of `GetProjectTagsTagInput` via: +// +// GetProjectTagsTagArgs{...} +type GetProjectTagsTagInput interface { + pulumi.Input + + ToGetProjectTagsTagOutput() GetProjectTagsTagOutput + ToGetProjectTagsTagOutputWithContext(context.Context) GetProjectTagsTagOutput +} + +type GetProjectTagsTagArgs struct { + // The commit associated with the tag. + Commits GetProjectTagsTagCommitArrayInput `pulumi:"commits"` + // The message of the annotated tag. + Message pulumi.StringInput `pulumi:"message"` + // The name of a tag. + Name pulumi.StringInput `pulumi:"name"` + // True if tag has tag protection. + Protected pulumi.BoolInput `pulumi:"protected"` + // The release associated with the tag. + Releases GetProjectTagsTagReleaseArrayInput `pulumi:"releases"` + // The unique id assigned to the commit by Gitlab. + Target pulumi.StringInput `pulumi:"target"` +} + +func (GetProjectTagsTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectTagsTag)(nil)).Elem() +} + +func (i GetProjectTagsTagArgs) ToGetProjectTagsTagOutput() GetProjectTagsTagOutput { + return i.ToGetProjectTagsTagOutputWithContext(context.Background()) +} + +func (i GetProjectTagsTagArgs) ToGetProjectTagsTagOutputWithContext(ctx context.Context) GetProjectTagsTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagsTagOutput) +} + +// GetProjectTagsTagArrayInput is an input type that accepts GetProjectTagsTagArray and GetProjectTagsTagArrayOutput values. +// You can construct a concrete instance of `GetProjectTagsTagArrayInput` via: +// +// GetProjectTagsTagArray{ GetProjectTagsTagArgs{...} } +type GetProjectTagsTagArrayInput interface { + pulumi.Input + + ToGetProjectTagsTagArrayOutput() GetProjectTagsTagArrayOutput + ToGetProjectTagsTagArrayOutputWithContext(context.Context) GetProjectTagsTagArrayOutput +} + +type GetProjectTagsTagArray []GetProjectTagsTagInput + +func (GetProjectTagsTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectTagsTag)(nil)).Elem() +} + +func (i GetProjectTagsTagArray) ToGetProjectTagsTagArrayOutput() GetProjectTagsTagArrayOutput { + return i.ToGetProjectTagsTagArrayOutputWithContext(context.Background()) +} + +func (i GetProjectTagsTagArray) ToGetProjectTagsTagArrayOutputWithContext(ctx context.Context) GetProjectTagsTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagsTagArrayOutput) +} + +type GetProjectTagsTagOutput struct{ *pulumi.OutputState } + +func (GetProjectTagsTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectTagsTag)(nil)).Elem() +} + +func (o GetProjectTagsTagOutput) ToGetProjectTagsTagOutput() GetProjectTagsTagOutput { + return o +} + +func (o GetProjectTagsTagOutput) ToGetProjectTagsTagOutputWithContext(ctx context.Context) GetProjectTagsTagOutput { + return o +} + +// The commit associated with the tag. +func (o GetProjectTagsTagOutput) Commits() GetProjectTagsTagCommitArrayOutput { + return o.ApplyT(func(v GetProjectTagsTag) []GetProjectTagsTagCommit { return v.Commits }).(GetProjectTagsTagCommitArrayOutput) +} + +// The message of the annotated tag. +func (o GetProjectTagsTagOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagsTag) string { return v.Message }).(pulumi.StringOutput) +} + +// The name of a tag. +func (o GetProjectTagsTagOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagsTag) string { return v.Name }).(pulumi.StringOutput) +} + +// True if tag has tag protection. +func (o GetProjectTagsTagOutput) Protected() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectTagsTag) bool { return v.Protected }).(pulumi.BoolOutput) +} + +// The release associated with the tag. +func (o GetProjectTagsTagOutput) Releases() GetProjectTagsTagReleaseArrayOutput { + return o.ApplyT(func(v GetProjectTagsTag) []GetProjectTagsTagRelease { return v.Releases }).(GetProjectTagsTagReleaseArrayOutput) +} + +// The unique id assigned to the commit by Gitlab. +func (o GetProjectTagsTagOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagsTag) string { return v.Target }).(pulumi.StringOutput) +} + +type GetProjectTagsTagArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectTagsTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectTagsTag)(nil)).Elem() +} + +func (o GetProjectTagsTagArrayOutput) ToGetProjectTagsTagArrayOutput() GetProjectTagsTagArrayOutput { + return o +} + +func (o GetProjectTagsTagArrayOutput) ToGetProjectTagsTagArrayOutputWithContext(ctx context.Context) GetProjectTagsTagArrayOutput { + return o +} + +func (o GetProjectTagsTagArrayOutput) Index(i pulumi.IntInput) GetProjectTagsTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectTagsTag { + return vs[0].([]GetProjectTagsTag)[vs[1].(int)] + }).(GetProjectTagsTagOutput) +} + +type GetProjectTagsTagCommit struct { + // The email of the author. + AuthorEmail string `pulumi:"authorEmail"` + // The name of the author. + AuthorName string `pulumi:"authorName"` + // The date which the commit was authored (format: yyyy-MM-ddTHH:mm:ssZ). + AuthoredDate string `pulumi:"authoredDate"` + // The date at which the commit was pushed (format: yyyy-MM-ddTHH:mm:ssZ). + CommittedDate string `pulumi:"committedDate"` + // The email of the user that committed. + CommitterEmail string `pulumi:"committerEmail"` + // The name of the user that committed. + CommitterName string `pulumi:"committerName"` + // The unique id assigned to the commit by Gitlab. + Id string `pulumi:"id"` + // The commit message + Message string `pulumi:"message"` + // The id of the parents of the commit + ParentIds []string `pulumi:"parentIds"` + // The short id assigned to the commit by Gitlab. + ShortId string `pulumi:"shortId"` + // The title of the commit + Title string `pulumi:"title"` +} + +// GetProjectTagsTagCommitInput is an input type that accepts GetProjectTagsTagCommitArgs and GetProjectTagsTagCommitOutput values. +// You can construct a concrete instance of `GetProjectTagsTagCommitInput` via: +// +// GetProjectTagsTagCommitArgs{...} +type GetProjectTagsTagCommitInput interface { + pulumi.Input + + ToGetProjectTagsTagCommitOutput() GetProjectTagsTagCommitOutput + ToGetProjectTagsTagCommitOutputWithContext(context.Context) GetProjectTagsTagCommitOutput +} + +type GetProjectTagsTagCommitArgs struct { + // The email of the author. + AuthorEmail pulumi.StringInput `pulumi:"authorEmail"` + // The name of the author. + AuthorName pulumi.StringInput `pulumi:"authorName"` + // The date which the commit was authored (format: yyyy-MM-ddTHH:mm:ssZ). + AuthoredDate pulumi.StringInput `pulumi:"authoredDate"` + // The date at which the commit was pushed (format: yyyy-MM-ddTHH:mm:ssZ). + CommittedDate pulumi.StringInput `pulumi:"committedDate"` + // The email of the user that committed. + CommitterEmail pulumi.StringInput `pulumi:"committerEmail"` + // The name of the user that committed. + CommitterName pulumi.StringInput `pulumi:"committerName"` + // The unique id assigned to the commit by Gitlab. + Id pulumi.StringInput `pulumi:"id"` + // The commit message + Message pulumi.StringInput `pulumi:"message"` + // The id of the parents of the commit + ParentIds pulumi.StringArrayInput `pulumi:"parentIds"` + // The short id assigned to the commit by Gitlab. + ShortId pulumi.StringInput `pulumi:"shortId"` + // The title of the commit + Title pulumi.StringInput `pulumi:"title"` +} + +func (GetProjectTagsTagCommitArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectTagsTagCommit)(nil)).Elem() +} + +func (i GetProjectTagsTagCommitArgs) ToGetProjectTagsTagCommitOutput() GetProjectTagsTagCommitOutput { + return i.ToGetProjectTagsTagCommitOutputWithContext(context.Background()) +} + +func (i GetProjectTagsTagCommitArgs) ToGetProjectTagsTagCommitOutputWithContext(ctx context.Context) GetProjectTagsTagCommitOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagsTagCommitOutput) +} + +// GetProjectTagsTagCommitArrayInput is an input type that accepts GetProjectTagsTagCommitArray and GetProjectTagsTagCommitArrayOutput values. +// You can construct a concrete instance of `GetProjectTagsTagCommitArrayInput` via: +// +// GetProjectTagsTagCommitArray{ GetProjectTagsTagCommitArgs{...} } +type GetProjectTagsTagCommitArrayInput interface { + pulumi.Input + + ToGetProjectTagsTagCommitArrayOutput() GetProjectTagsTagCommitArrayOutput + ToGetProjectTagsTagCommitArrayOutputWithContext(context.Context) GetProjectTagsTagCommitArrayOutput +} + +type GetProjectTagsTagCommitArray []GetProjectTagsTagCommitInput + +func (GetProjectTagsTagCommitArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectTagsTagCommit)(nil)).Elem() +} + +func (i GetProjectTagsTagCommitArray) ToGetProjectTagsTagCommitArrayOutput() GetProjectTagsTagCommitArrayOutput { + return i.ToGetProjectTagsTagCommitArrayOutputWithContext(context.Background()) +} + +func (i GetProjectTagsTagCommitArray) ToGetProjectTagsTagCommitArrayOutputWithContext(ctx context.Context) GetProjectTagsTagCommitArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagsTagCommitArrayOutput) +} + +type GetProjectTagsTagCommitOutput struct{ *pulumi.OutputState } + +func (GetProjectTagsTagCommitOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectTagsTagCommit)(nil)).Elem() +} + +func (o GetProjectTagsTagCommitOutput) ToGetProjectTagsTagCommitOutput() GetProjectTagsTagCommitOutput { + return o +} + +func (o GetProjectTagsTagCommitOutput) ToGetProjectTagsTagCommitOutputWithContext(ctx context.Context) GetProjectTagsTagCommitOutput { + return o +} + +// The email of the author. +func (o GetProjectTagsTagCommitOutput) AuthorEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.AuthorEmail }).(pulumi.StringOutput) +} + +// The name of the author. +func (o GetProjectTagsTagCommitOutput) AuthorName() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.AuthorName }).(pulumi.StringOutput) +} + +// The date which the commit was authored (format: yyyy-MM-ddTHH:mm:ssZ). +func (o GetProjectTagsTagCommitOutput) AuthoredDate() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.AuthoredDate }).(pulumi.StringOutput) +} + +// The date at which the commit was pushed (format: yyyy-MM-ddTHH:mm:ssZ). +func (o GetProjectTagsTagCommitOutput) CommittedDate() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.CommittedDate }).(pulumi.StringOutput) +} + +// The email of the user that committed. +func (o GetProjectTagsTagCommitOutput) CommitterEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.CommitterEmail }).(pulumi.StringOutput) +} + +// The name of the user that committed. +func (o GetProjectTagsTagCommitOutput) CommitterName() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.CommitterName }).(pulumi.StringOutput) +} + +// The unique id assigned to the commit by Gitlab. +func (o GetProjectTagsTagCommitOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.Id }).(pulumi.StringOutput) +} + +// The commit message +func (o GetProjectTagsTagCommitOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.Message }).(pulumi.StringOutput) +} + +// The id of the parents of the commit +func (o GetProjectTagsTagCommitOutput) ParentIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetProjectTagsTagCommit) []string { return v.ParentIds }).(pulumi.StringArrayOutput) +} + +// The short id assigned to the commit by Gitlab. +func (o GetProjectTagsTagCommitOutput) ShortId() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.ShortId }).(pulumi.StringOutput) +} + +// The title of the commit +func (o GetProjectTagsTagCommitOutput) Title() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagsTagCommit) string { return v.Title }).(pulumi.StringOutput) +} + +type GetProjectTagsTagCommitArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectTagsTagCommitArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectTagsTagCommit)(nil)).Elem() +} + +func (o GetProjectTagsTagCommitArrayOutput) ToGetProjectTagsTagCommitArrayOutput() GetProjectTagsTagCommitArrayOutput { + return o +} + +func (o GetProjectTagsTagCommitArrayOutput) ToGetProjectTagsTagCommitArrayOutputWithContext(ctx context.Context) GetProjectTagsTagCommitArrayOutput { + return o +} + +func (o GetProjectTagsTagCommitArrayOutput) Index(i pulumi.IntInput) GetProjectTagsTagCommitOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectTagsTagCommit { + return vs[0].([]GetProjectTagsTagCommit)[vs[1].(int)] + }).(GetProjectTagsTagCommitOutput) +} + +type GetProjectTagsTagRelease struct { + // The description of the release. + Description string `pulumi:"description"` + // The name of the tag. + TagName string `pulumi:"tagName"` +} + +// GetProjectTagsTagReleaseInput is an input type that accepts GetProjectTagsTagReleaseArgs and GetProjectTagsTagReleaseOutput values. +// You can construct a concrete instance of `GetProjectTagsTagReleaseInput` via: +// +// GetProjectTagsTagReleaseArgs{...} +type GetProjectTagsTagReleaseInput interface { + pulumi.Input + + ToGetProjectTagsTagReleaseOutput() GetProjectTagsTagReleaseOutput + ToGetProjectTagsTagReleaseOutputWithContext(context.Context) GetProjectTagsTagReleaseOutput +} + +type GetProjectTagsTagReleaseArgs struct { + // The description of the release. + Description pulumi.StringInput `pulumi:"description"` + // The name of the tag. + TagName pulumi.StringInput `pulumi:"tagName"` +} + +func (GetProjectTagsTagReleaseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectTagsTagRelease)(nil)).Elem() +} + +func (i GetProjectTagsTagReleaseArgs) ToGetProjectTagsTagReleaseOutput() GetProjectTagsTagReleaseOutput { + return i.ToGetProjectTagsTagReleaseOutputWithContext(context.Background()) +} + +func (i GetProjectTagsTagReleaseArgs) ToGetProjectTagsTagReleaseOutputWithContext(ctx context.Context) GetProjectTagsTagReleaseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagsTagReleaseOutput) +} + +// GetProjectTagsTagReleaseArrayInput is an input type that accepts GetProjectTagsTagReleaseArray and GetProjectTagsTagReleaseArrayOutput values. +// You can construct a concrete instance of `GetProjectTagsTagReleaseArrayInput` via: +// +// GetProjectTagsTagReleaseArray{ GetProjectTagsTagReleaseArgs{...} } +type GetProjectTagsTagReleaseArrayInput interface { + pulumi.Input + + ToGetProjectTagsTagReleaseArrayOutput() GetProjectTagsTagReleaseArrayOutput + ToGetProjectTagsTagReleaseArrayOutputWithContext(context.Context) GetProjectTagsTagReleaseArrayOutput +} + +type GetProjectTagsTagReleaseArray []GetProjectTagsTagReleaseInput + +func (GetProjectTagsTagReleaseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectTagsTagRelease)(nil)).Elem() +} + +func (i GetProjectTagsTagReleaseArray) ToGetProjectTagsTagReleaseArrayOutput() GetProjectTagsTagReleaseArrayOutput { + return i.ToGetProjectTagsTagReleaseArrayOutputWithContext(context.Background()) +} + +func (i GetProjectTagsTagReleaseArray) ToGetProjectTagsTagReleaseArrayOutputWithContext(ctx context.Context) GetProjectTagsTagReleaseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectTagsTagReleaseArrayOutput) +} + +type GetProjectTagsTagReleaseOutput struct{ *pulumi.OutputState } + +func (GetProjectTagsTagReleaseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectTagsTagRelease)(nil)).Elem() +} + +func (o GetProjectTagsTagReleaseOutput) ToGetProjectTagsTagReleaseOutput() GetProjectTagsTagReleaseOutput { + return o +} + +func (o GetProjectTagsTagReleaseOutput) ToGetProjectTagsTagReleaseOutputWithContext(ctx context.Context) GetProjectTagsTagReleaseOutput { + return o +} + +// The description of the release. +func (o GetProjectTagsTagReleaseOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagsTagRelease) string { return v.Description }).(pulumi.StringOutput) +} + +// The name of the tag. +func (o GetProjectTagsTagReleaseOutput) TagName() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectTagsTagRelease) string { return v.TagName }).(pulumi.StringOutput) +} + +type GetProjectTagsTagReleaseArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectTagsTagReleaseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectTagsTagRelease)(nil)).Elem() +} + +func (o GetProjectTagsTagReleaseArrayOutput) ToGetProjectTagsTagReleaseArrayOutput() GetProjectTagsTagReleaseArrayOutput { + return o +} + +func (o GetProjectTagsTagReleaseArrayOutput) ToGetProjectTagsTagReleaseArrayOutputWithContext(ctx context.Context) GetProjectTagsTagReleaseArrayOutput { + return o +} + +func (o GetProjectTagsTagReleaseArrayOutput) Index(i pulumi.IntInput) GetProjectTagsTagReleaseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectTagsTagRelease { + return vs[0].([]GetProjectTagsTagRelease)[vs[1].(int)] + }).(GetProjectTagsTagReleaseOutput) +} + +type GetProjectVariablesVariable struct { + // The description of the variable. Maximum of 255 characters. + Description string `pulumi:"description"` + // The environment scope of the variable. Defaults to all environment (`*`). + EnvironmentScope string `pulumi:"environmentScope"` + // The name of the variable. + Key string `pulumi:"key"` + // If set to `true`, the value of the variable will be hidden in job logs. + Masked bool `pulumi:"masked"` + // The name or path of the project. + Project string `pulumi:"project"` + // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. + Protected bool `pulumi:"protected"` + // If set to `true`, the variable will be treated as a raw string. + Raw bool `pulumi:"raw"` + // The value of the variable. + Value string `pulumi:"value"` + // The type of the variable, either `envVar` or `file`. + VariableType string `pulumi:"variableType"` +} + +// GetProjectVariablesVariableInput is an input type that accepts GetProjectVariablesVariableArgs and GetProjectVariablesVariableOutput values. +// You can construct a concrete instance of `GetProjectVariablesVariableInput` via: +// +// GetProjectVariablesVariableArgs{...} +type GetProjectVariablesVariableInput interface { + pulumi.Input + + ToGetProjectVariablesVariableOutput() GetProjectVariablesVariableOutput + ToGetProjectVariablesVariableOutputWithContext(context.Context) GetProjectVariablesVariableOutput +} + +type GetProjectVariablesVariableArgs struct { + // The description of the variable. Maximum of 255 characters. + Description pulumi.StringInput `pulumi:"description"` + // The environment scope of the variable. Defaults to all environment (`*`). + EnvironmentScope pulumi.StringInput `pulumi:"environmentScope"` + // The name of the variable. + Key pulumi.StringInput `pulumi:"key"` + // If set to `true`, the value of the variable will be hidden in job logs. + Masked pulumi.BoolInput `pulumi:"masked"` + // The name or path of the project. + Project pulumi.StringInput `pulumi:"project"` + // If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. + Protected pulumi.BoolInput `pulumi:"protected"` + // If set to `true`, the variable will be treated as a raw string. + Raw pulumi.BoolInput `pulumi:"raw"` + // The value of the variable. + Value pulumi.StringInput `pulumi:"value"` + // The type of the variable, either `envVar` or `file`. + VariableType pulumi.StringInput `pulumi:"variableType"` +} + +func (GetProjectVariablesVariableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectVariablesVariable)(nil)).Elem() +} + +func (i GetProjectVariablesVariableArgs) ToGetProjectVariablesVariableOutput() GetProjectVariablesVariableOutput { + return i.ToGetProjectVariablesVariableOutputWithContext(context.Background()) +} + +func (i GetProjectVariablesVariableArgs) ToGetProjectVariablesVariableOutputWithContext(ctx context.Context) GetProjectVariablesVariableOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectVariablesVariableOutput) +} + +// GetProjectVariablesVariableArrayInput is an input type that accepts GetProjectVariablesVariableArray and GetProjectVariablesVariableArrayOutput values. +// You can construct a concrete instance of `GetProjectVariablesVariableArrayInput` via: +// +// GetProjectVariablesVariableArray{ GetProjectVariablesVariableArgs{...} } +type GetProjectVariablesVariableArrayInput interface { + pulumi.Input + + ToGetProjectVariablesVariableArrayOutput() GetProjectVariablesVariableArrayOutput + ToGetProjectVariablesVariableArrayOutputWithContext(context.Context) GetProjectVariablesVariableArrayOutput +} + +type GetProjectVariablesVariableArray []GetProjectVariablesVariableInput + +func (GetProjectVariablesVariableArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectVariablesVariable)(nil)).Elem() +} + +func (i GetProjectVariablesVariableArray) ToGetProjectVariablesVariableArrayOutput() GetProjectVariablesVariableArrayOutput { + return i.ToGetProjectVariablesVariableArrayOutputWithContext(context.Background()) +} + +func (i GetProjectVariablesVariableArray) ToGetProjectVariablesVariableArrayOutputWithContext(ctx context.Context) GetProjectVariablesVariableArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectVariablesVariableArrayOutput) +} + +type GetProjectVariablesVariableOutput struct{ *pulumi.OutputState } + +func (GetProjectVariablesVariableOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectVariablesVariable)(nil)).Elem() +} + +func (o GetProjectVariablesVariableOutput) ToGetProjectVariablesVariableOutput() GetProjectVariablesVariableOutput { + return o +} + +func (o GetProjectVariablesVariableOutput) ToGetProjectVariablesVariableOutputWithContext(ctx context.Context) GetProjectVariablesVariableOutput { + return o +} + +// The description of the variable. Maximum of 255 characters. +func (o GetProjectVariablesVariableOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectVariablesVariable) string { return v.Description }).(pulumi.StringOutput) +} + +// The environment scope of the variable. Defaults to all environment (`*`). +func (o GetProjectVariablesVariableOutput) EnvironmentScope() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectVariablesVariable) string { return v.EnvironmentScope }).(pulumi.StringOutput) +} + +// The name of the variable. +func (o GetProjectVariablesVariableOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectVariablesVariable) string { return v.Key }).(pulumi.StringOutput) +} + +// If set to `true`, the value of the variable will be hidden in job logs. +func (o GetProjectVariablesVariableOutput) Masked() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectVariablesVariable) bool { return v.Masked }).(pulumi.BoolOutput) +} + +// The name or path of the project. +func (o GetProjectVariablesVariableOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectVariablesVariable) string { return v.Project }).(pulumi.StringOutput) +} + +// If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. +func (o GetProjectVariablesVariableOutput) Protected() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectVariablesVariable) bool { return v.Protected }).(pulumi.BoolOutput) +} + +// If set to `true`, the variable will be treated as a raw string. +func (o GetProjectVariablesVariableOutput) Raw() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectVariablesVariable) bool { return v.Raw }).(pulumi.BoolOutput) +} + +// The value of the variable. +func (o GetProjectVariablesVariableOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectVariablesVariable) string { return v.Value }).(pulumi.StringOutput) +} + +// The type of the variable, either `envVar` or `file`. +func (o GetProjectVariablesVariableOutput) VariableType() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectVariablesVariable) string { return v.VariableType }).(pulumi.StringOutput) +} + +type GetProjectVariablesVariableArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectVariablesVariableArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectVariablesVariable)(nil)).Elem() +} + +func (o GetProjectVariablesVariableArrayOutput) ToGetProjectVariablesVariableArrayOutput() GetProjectVariablesVariableArrayOutput { + return o +} + +func (o GetProjectVariablesVariableArrayOutput) ToGetProjectVariablesVariableArrayOutputWithContext(ctx context.Context) GetProjectVariablesVariableArrayOutput { + return o +} + +func (o GetProjectVariablesVariableArrayOutput) Index(i pulumi.IntInput) GetProjectVariablesVariableOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectVariablesVariable { + return vs[0].([]GetProjectVariablesVariable)[vs[1].(int)] + }).(GetProjectVariablesVariableOutput) +} + +type GetProjectsProject struct { + // Links for the project. Use `links` instead. To be removed in 19.0. + // + // Deprecated: Use `links` instead. To be removed in 19.0. + _links map[string]string `pulumi:"_links"` + // Whether allowMergeOnSkippedPipeline is enabled for the project. + AllowMergeOnSkippedPipeline bool `pulumi:"allowMergeOnSkippedPipeline"` + // Set whether or not a pipeline triggerer is allowed to approve deployments. Premium and Ultimate only. + AllowPipelineTriggerApproveDeployment bool `pulumi:"allowPipelineTriggerApproveDeployment"` + // Set the analytics access level. Valid values are `disabled`, `private`, `enabled`. + AnalyticsAccessLevel string `pulumi:"analyticsAccessLevel"` + // The numbers of approvals needed in a merge requests. + ApprovalsBeforeMerge int `pulumi:"approvalsBeforeMerge"` + // Whether the project is archived. + Archived bool `pulumi:"archived"` + // Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled. + AutoCancelPendingPipelines string `pulumi:"autoCancelPendingPipelines"` + // Auto Deploy strategy. Valid values are `continuous`, `manual`, `timedIncremental`. + AutoDevopsDeployStrategy string `pulumi:"autoDevopsDeployStrategy"` + // Enable Auto DevOps for this project. + AutoDevopsEnabled bool `pulumi:"autoDevopsEnabled"` + // Set whether auto-closing referenced issues on default branch. + AutocloseReferencedIssues bool `pulumi:"autocloseReferencedIssues"` + // The avatar url of the project. + AvatarUrl string `pulumi:"avatarUrl"` + // Build coverage regex for the project. + BuildCoverageRegex string `pulumi:"buildCoverageRegex"` + // The Git strategy. Defaults to fetch. + BuildGitStrategy string `pulumi:"buildGitStrategy"` + // The maximum amount of time, in seconds, that a job can run. + BuildTimeout int `pulumi:"buildTimeout"` + // Set the builds access level. Valid values are `disabled`, `private`, `enabled`. + BuildsAccessLevel string `pulumi:"buildsAccessLevel"` + // CI config file path for the project. + CiConfigPath string `pulumi:"ciConfigPath"` + // Default number of revisions for shallow cloning. + CiDefaultGitDepth int `pulumi:"ciDefaultGitDepth"` + // Pipelines older than the configured time are deleted. + CiDeletePipelinesInSeconds int `pulumi:"ciDeletePipelinesInSeconds"` + // When a new deployment job starts, skip older deployment jobs that are still pending. + CiForwardDeploymentEnabled bool `pulumi:"ciForwardDeploymentEnabled"` + // Allow job retries even if the deployment job is outdated. + CiForwardDeploymentRollbackAllowed bool `pulumi:"ciForwardDeploymentRollbackAllowed"` + // Fields included in the sub claim of the ID Token. Accepts an array starting with project_path. The array might also include refType and ref. Defaults to ["projectPath", "refType", "ref"]. Introduced in GitLab 17.10. + CiIdTokenSubClaimComponents []string `pulumi:"ciIdTokenSubClaimComponents"` + // The minimum role required to set variables when running pipelines and jobs. Introduced in GitLab 17.1. Valid values are `developer`, `maintainer`, `owner`, `noOneAllowed` + CiPipelineVariablesMinimumOverrideRole string `pulumi:"ciPipelineVariablesMinimumOverrideRole"` + // The role required to cancel a pipeline or job. Premium and Ultimate only. Valid values are `developer`, `maintainer`, `no one` + CiRestrictPipelineCancellationRole string `pulumi:"ciRestrictPipelineCancellationRole"` + // Set the image cleanup policy for this project. **Note**: this field is sometimes named `containerExpirationPolicyAttributes` in the GitLab Upstream API. + ContainerExpirationPolicies []GetProjectsProjectContainerExpirationPolicy `pulumi:"containerExpirationPolicies"` + // Set visibility of container registry, for this project. Valid values are `disabled`, `private`, `enabled`. + ContainerRegistryAccessLevel string `pulumi:"containerRegistryAccessLevel"` + // Whether the container registry is enabled for the project. + ContainerRegistryEnabled bool `pulumi:"containerRegistryEnabled"` + // Creation time for the project. + CreatedAt string `pulumi:"createdAt"` + // Creator ID for the project. + CreatorId int `pulumi:"creatorId"` + // Custom attributes for the project. + CustomAttributes []map[string]string `pulumi:"customAttributes"` + // The default branch name of the project. + DefaultBranch string `pulumi:"defaultBranch"` + // The description of the project. + Description string `pulumi:"description"` + // Enable email notifications. + EmailsEnabled bool `pulumi:"emailsEnabled"` + // Whether the project is empty. + EmptyRepo bool `pulumi:"emptyRepo"` + // Set the environments access level. Valid values are `disabled`, `private`, `enabled`. + EnvironmentsAccessLevel string `pulumi:"environmentsAccessLevel"` + // The classification label for the project. + ExternalAuthorizationClassificationLabel string `pulumi:"externalAuthorizationClassificationLabel"` + // Set the feature flags access level. Valid values are `disabled`, `private`, `enabled`. + FeatureFlagsAccessLevel string `pulumi:"featureFlagsAccessLevel"` + // Present if the project is a fork. Contains information about the upstream project. + ForkedFromProjects []GetProjectsProjectForkedFromProject `pulumi:"forkedFromProjects"` + // Set the forking access level. Valid values are `disabled`, `private`, `enabled`. + ForkingAccessLevel string `pulumi:"forkingAccessLevel"` + // The number of forks of the project. + ForksCount int `pulumi:"forksCount"` + // Whether group runners are enabled for the project. + GroupRunnersEnabled bool `pulumi:"groupRunnersEnabled"` + // The HTTP clone URL of the project. + HttpUrlToRepo string `pulumi:"httpUrlToRepo"` + // The ID of the project. + Id int `pulumi:"id"` + // The import error, if it exists, for the project. + ImportError string `pulumi:"importError"` + // The import status of the project. + ImportStatus string `pulumi:"importStatus"` + // URL the project was imported from. + ImportUrl string `pulumi:"importUrl"` + // Set the infrastructure access level. Valid values are `disabled`, `private`, `enabled`. + InfrastructureAccessLevel string `pulumi:"infrastructureAccessLevel"` + // Set the issues access level. Valid values are `disabled`, `private`, `enabled`. + IssuesAccessLevel string `pulumi:"issuesAccessLevel"` + // Whether issues are enabled for the project. + IssuesEnabled bool `pulumi:"issuesEnabled"` + // Whether pipelines are enabled for the project. + JobsEnabled bool `pulumi:"jobsEnabled"` + // Disable or enable the ability to keep the latest artifact for this project. + KeepLatestArtifact bool `pulumi:"keepLatestArtifact"` + // Last activirty time for the project. + LastActivityAt string `pulumi:"lastActivityAt"` + // Whether LFS (large file storage) is enabled for the project. + LfsEnabled bool `pulumi:"lfsEnabled"` + // Links for the project. + Links map[string]string `pulumi:"links"` + // Template used to create merge commit message in merge requests. + MergeCommitTemplate string `pulumi:"mergeCommitTemplate"` + // Merge method for the project. + MergeMethod string `pulumi:"mergeMethod"` + // Enable or disable merge pipelines. + MergePipelinesEnabled bool `pulumi:"mergePipelinesEnabled"` + // Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`. + MergeRequestsAccessLevel string `pulumi:"mergeRequestsAccessLevel"` + // Whether merge requests are enabled for the project. + MergeRequestsEnabled bool `pulumi:"mergeRequestsEnabled"` + // Enable or disable merge trains. + MergeTrainsEnabled bool `pulumi:"mergeTrainsEnabled"` + // Whether the pull mirroring is enabled for the project. + Mirror bool `pulumi:"mirror"` + // Whether mirrorOverwritesDivergedBranches is enabled for the project. + MirrorOverwritesDivergedBranches bool `pulumi:"mirrorOverwritesDivergedBranches"` + // Whether pull mirroring triggers builds for the project. + MirrorTriggerBuilds bool `pulumi:"mirrorTriggerBuilds"` + // The mirror user ID for the project. + MirrorUserId int `pulumi:"mirrorUserId"` + // The visibility of machine learning model experiments. + ModelExperimentsAccessLevel string `pulumi:"modelExperimentsAccessLevel"` + // The visibility of machine learning model registry. + ModelRegistryAccessLevel string `pulumi:"modelRegistryAccessLevel"` + // Set the monitor access level. Valid values are `disabled`, `private`, `enabled`. + MonitorAccessLevel string `pulumi:"monitorAccessLevel"` + // The name of the project. + Name string `pulumi:"name"` + // In `group / subgroup / project` or `user / project` format. + NameWithNamespace string `pulumi:"nameWithNamespace"` + // Namespace of the project (parent group/s). + Namespaces []GetProjectsProjectNamespace `pulumi:"namespaces"` + // Whether onlyAllowMergeIfAllDiscussionsAreResolved is enabled for the project. + OnlyAllowMergeIfAllDiscussionsAreResolved bool `pulumi:"onlyAllowMergeIfAllDiscussionsAreResolved"` + // Whether onlyAllowMergeIfPipelineSucceeds is enabled for the project. + OnlyAllowMergeIfPipelineSucceeds bool `pulumi:"onlyAllowMergeIfPipelineSucceeds"` + // Whether onlyMirrorProtectedBranches is enabled for the project. + OnlyMirrorProtectedBranches bool `pulumi:"onlyMirrorProtectedBranches"` + // The number of open issies for the project. + OpenIssuesCount int `pulumi:"openIssuesCount"` + // The owner of the project, due to Terraform aggregate types limitations, this field's attributes are accessed with the `owner.0` prefix. Structure is documented below. + Owners []GetProjectsProjectOwner `pulumi:"owners"` + // Whether packages are enabled for the project. + PackagesEnabled bool `pulumi:"packagesEnabled"` + // The path of the project. + Path string `pulumi:"path"` + // In `group/subgroup/project` or `user/project` format. + PathWithNamespace string `pulumi:"pathWithNamespace"` + // Permissions for the project. + Permissions []GetProjectsProjectPermission `pulumi:"permissions"` + // Whether merge requests require an associated issue from Jira. Premium and Ultimate only. + PreventMergeWithoutJiraIssue bool `pulumi:"preventMergeWithoutJiraIssue"` + // Whether public builds are enabled for the project. + PublicBuilds bool `pulumi:"publicBuilds"` + // The remote url of the project. + ReadmeUrl string `pulumi:"readmeUrl"` + // Set the releases access level. Valid values are `disabled`, `private`, `enabled`. + ReleasesAccessLevel string `pulumi:"releasesAccessLevel"` + // Set the repository access level. Valid values are `disabled`, `private`, `enabled`. + RepositoryAccessLevel string `pulumi:"repositoryAccessLevel"` + // Which storage shard the repository is on. (administrator only) + RepositoryStorage string `pulumi:"repositoryStorage"` + // Whether requesting access is enabled for the project. + RequestAccessEnabled bool `pulumi:"requestAccessEnabled"` + // Set the requirements access level. Valid values are `disabled`, `private`, `enabled`. + RequirementsAccessLevel string `pulumi:"requirementsAccessLevel"` + // Whether resolveOutdatedDiffDiscussions is enabled for the project + ResolveOutdatedDiffDiscussions bool `pulumi:"resolveOutdatedDiffDiscussions"` + // The default resource group process mode for the project. + ResourceGroupDefaultProcessMode string `pulumi:"resourceGroupDefaultProcessMode"` + // Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. + RestrictUserDefinedVariables bool `pulumi:"restrictUserDefinedVariables"` + // The runners token for the project. + RunnersToken string `pulumi:"runnersToken"` + // Set the security and compliance access level. Valid values are `disabled`, `private`, `enabled`. + SecurityAndComplianceAccessLevel string `pulumi:"securityAndComplianceAccessLevel"` + // Whether shared runners are enabled for the project. + SharedRunnersEnabled bool `pulumi:"sharedRunnersEnabled"` + // Groups the the project is shared with. + SharedWithGroups []GetProjectsProjectSharedWithGroup `pulumi:"sharedWithGroups"` + // Set the snippets access level. Valid values are `disabled`, `private`, `enabled`. + SnippetsAccessLevel string `pulumi:"snippetsAccessLevel"` + // Whether snippets are enabled for the project. + SnippetsEnabled bool `pulumi:"snippetsEnabled"` + // Template used to create squash commit message in merge requests. + SquashCommitTemplate string `pulumi:"squashCommitTemplate"` + // The SSH clone URL of the project. + SshUrlToRepo string `pulumi:"sshUrlToRepo"` + // The number of stars on the project. + StarCount int `pulumi:"starCount"` + // Statistics for the project. + Statistics map[string]int `pulumi:"statistics"` + // The commit message used to apply merge request suggestions. + SuggestionCommitMessage string `pulumi:"suggestionCommitMessage"` + // A set of the project topics (formerly called "project tags"). + TagLists []string `pulumi:"tagLists"` + // The list of topics for the project. + Topics []string `pulumi:"topics"` + // The visibility of the project. + Visibility string `pulumi:"visibility"` + // The web url of the project. + WebUrl string `pulumi:"webUrl"` + // Set the wiki access level. Valid values are `disabled`, `private`, `enabled`. + WikiAccessLevel string `pulumi:"wikiAccessLevel"` + // Whether wiki is enabled for the project. + WikiEnabled bool `pulumi:"wikiEnabled"` +} + +// GetProjectsProjectInput is an input type that accepts GetProjectsProjectArgs and GetProjectsProjectOutput values. +// You can construct a concrete instance of `GetProjectsProjectInput` via: +// +// GetProjectsProjectArgs{...} +type GetProjectsProjectInput interface { + pulumi.Input + + ToGetProjectsProjectOutput() GetProjectsProjectOutput + ToGetProjectsProjectOutputWithContext(context.Context) GetProjectsProjectOutput +} + +type GetProjectsProjectArgs struct { + // Links for the project. Use `links` instead. To be removed in 19.0. + // + // Deprecated: Use `links` instead. To be removed in 19.0. + _links pulumi.StringMapInput `pulumi:"_links"` + // Whether allowMergeOnSkippedPipeline is enabled for the project. + AllowMergeOnSkippedPipeline pulumi.BoolInput `pulumi:"allowMergeOnSkippedPipeline"` + // Set whether or not a pipeline triggerer is allowed to approve deployments. Premium and Ultimate only. + AllowPipelineTriggerApproveDeployment pulumi.BoolInput `pulumi:"allowPipelineTriggerApproveDeployment"` + // Set the analytics access level. Valid values are `disabled`, `private`, `enabled`. + AnalyticsAccessLevel pulumi.StringInput `pulumi:"analyticsAccessLevel"` + // The numbers of approvals needed in a merge requests. + ApprovalsBeforeMerge pulumi.IntInput `pulumi:"approvalsBeforeMerge"` + // Whether the project is archived. + Archived pulumi.BoolInput `pulumi:"archived"` + // Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled. + AutoCancelPendingPipelines pulumi.StringInput `pulumi:"autoCancelPendingPipelines"` + // Auto Deploy strategy. Valid values are `continuous`, `manual`, `timedIncremental`. + AutoDevopsDeployStrategy pulumi.StringInput `pulumi:"autoDevopsDeployStrategy"` + // Enable Auto DevOps for this project. + AutoDevopsEnabled pulumi.BoolInput `pulumi:"autoDevopsEnabled"` + // Set whether auto-closing referenced issues on default branch. + AutocloseReferencedIssues pulumi.BoolInput `pulumi:"autocloseReferencedIssues"` + // The avatar url of the project. + AvatarUrl pulumi.StringInput `pulumi:"avatarUrl"` + // Build coverage regex for the project. + BuildCoverageRegex pulumi.StringInput `pulumi:"buildCoverageRegex"` + // The Git strategy. Defaults to fetch. + BuildGitStrategy pulumi.StringInput `pulumi:"buildGitStrategy"` + // The maximum amount of time, in seconds, that a job can run. + BuildTimeout pulumi.IntInput `pulumi:"buildTimeout"` + // Set the builds access level. Valid values are `disabled`, `private`, `enabled`. + BuildsAccessLevel pulumi.StringInput `pulumi:"buildsAccessLevel"` + // CI config file path for the project. + CiConfigPath pulumi.StringInput `pulumi:"ciConfigPath"` + // Default number of revisions for shallow cloning. + CiDefaultGitDepth pulumi.IntInput `pulumi:"ciDefaultGitDepth"` + // Pipelines older than the configured time are deleted. + CiDeletePipelinesInSeconds pulumi.IntInput `pulumi:"ciDeletePipelinesInSeconds"` + // When a new deployment job starts, skip older deployment jobs that are still pending. + CiForwardDeploymentEnabled pulumi.BoolInput `pulumi:"ciForwardDeploymentEnabled"` + // Allow job retries even if the deployment job is outdated. + CiForwardDeploymentRollbackAllowed pulumi.BoolInput `pulumi:"ciForwardDeploymentRollbackAllowed"` + // Fields included in the sub claim of the ID Token. Accepts an array starting with project_path. The array might also include refType and ref. Defaults to ["projectPath", "refType", "ref"]. Introduced in GitLab 17.10. + CiIdTokenSubClaimComponents pulumi.StringArrayInput `pulumi:"ciIdTokenSubClaimComponents"` + // The minimum role required to set variables when running pipelines and jobs. Introduced in GitLab 17.1. Valid values are `developer`, `maintainer`, `owner`, `noOneAllowed` + CiPipelineVariablesMinimumOverrideRole pulumi.StringInput `pulumi:"ciPipelineVariablesMinimumOverrideRole"` + // The role required to cancel a pipeline or job. Premium and Ultimate only. Valid values are `developer`, `maintainer`, `no one` + CiRestrictPipelineCancellationRole pulumi.StringInput `pulumi:"ciRestrictPipelineCancellationRole"` + // Set the image cleanup policy for this project. **Note**: this field is sometimes named `containerExpirationPolicyAttributes` in the GitLab Upstream API. + ContainerExpirationPolicies GetProjectsProjectContainerExpirationPolicyArrayInput `pulumi:"containerExpirationPolicies"` + // Set visibility of container registry, for this project. Valid values are `disabled`, `private`, `enabled`. + ContainerRegistryAccessLevel pulumi.StringInput `pulumi:"containerRegistryAccessLevel"` + // Whether the container registry is enabled for the project. + ContainerRegistryEnabled pulumi.BoolInput `pulumi:"containerRegistryEnabled"` + // Creation time for the project. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Creator ID for the project. + CreatorId pulumi.IntInput `pulumi:"creatorId"` + // Custom attributes for the project. + CustomAttributes pulumi.StringMapArrayInput `pulumi:"customAttributes"` + // The default branch name of the project. + DefaultBranch pulumi.StringInput `pulumi:"defaultBranch"` + // The description of the project. + Description pulumi.StringInput `pulumi:"description"` + // Enable email notifications. + EmailsEnabled pulumi.BoolInput `pulumi:"emailsEnabled"` + // Whether the project is empty. + EmptyRepo pulumi.BoolInput `pulumi:"emptyRepo"` + // Set the environments access level. Valid values are `disabled`, `private`, `enabled`. + EnvironmentsAccessLevel pulumi.StringInput `pulumi:"environmentsAccessLevel"` + // The classification label for the project. + ExternalAuthorizationClassificationLabel pulumi.StringInput `pulumi:"externalAuthorizationClassificationLabel"` + // Set the feature flags access level. Valid values are `disabled`, `private`, `enabled`. + FeatureFlagsAccessLevel pulumi.StringInput `pulumi:"featureFlagsAccessLevel"` + // Present if the project is a fork. Contains information about the upstream project. + ForkedFromProjects GetProjectsProjectForkedFromProjectArrayInput `pulumi:"forkedFromProjects"` + // Set the forking access level. Valid values are `disabled`, `private`, `enabled`. + ForkingAccessLevel pulumi.StringInput `pulumi:"forkingAccessLevel"` + // The number of forks of the project. + ForksCount pulumi.IntInput `pulumi:"forksCount"` + // Whether group runners are enabled for the project. + GroupRunnersEnabled pulumi.BoolInput `pulumi:"groupRunnersEnabled"` + // The HTTP clone URL of the project. + HttpUrlToRepo pulumi.StringInput `pulumi:"httpUrlToRepo"` + // The ID of the project. + Id pulumi.IntInput `pulumi:"id"` + // The import error, if it exists, for the project. + ImportError pulumi.StringInput `pulumi:"importError"` + // The import status of the project. + ImportStatus pulumi.StringInput `pulumi:"importStatus"` + // URL the project was imported from. + ImportUrl pulumi.StringInput `pulumi:"importUrl"` + // Set the infrastructure access level. Valid values are `disabled`, `private`, `enabled`. + InfrastructureAccessLevel pulumi.StringInput `pulumi:"infrastructureAccessLevel"` + // Set the issues access level. Valid values are `disabled`, `private`, `enabled`. + IssuesAccessLevel pulumi.StringInput `pulumi:"issuesAccessLevel"` + // Whether issues are enabled for the project. + IssuesEnabled pulumi.BoolInput `pulumi:"issuesEnabled"` + // Whether pipelines are enabled for the project. + JobsEnabled pulumi.BoolInput `pulumi:"jobsEnabled"` + // Disable or enable the ability to keep the latest artifact for this project. + KeepLatestArtifact pulumi.BoolInput `pulumi:"keepLatestArtifact"` + // Last activirty time for the project. + LastActivityAt pulumi.StringInput `pulumi:"lastActivityAt"` + // Whether LFS (large file storage) is enabled for the project. + LfsEnabled pulumi.BoolInput `pulumi:"lfsEnabled"` + // Links for the project. + Links pulumi.StringMapInput `pulumi:"links"` + // Template used to create merge commit message in merge requests. + MergeCommitTemplate pulumi.StringInput `pulumi:"mergeCommitTemplate"` + // Merge method for the project. + MergeMethod pulumi.StringInput `pulumi:"mergeMethod"` + // Enable or disable merge pipelines. + MergePipelinesEnabled pulumi.BoolInput `pulumi:"mergePipelinesEnabled"` + // Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`. + MergeRequestsAccessLevel pulumi.StringInput `pulumi:"mergeRequestsAccessLevel"` + // Whether merge requests are enabled for the project. + MergeRequestsEnabled pulumi.BoolInput `pulumi:"mergeRequestsEnabled"` + // Enable or disable merge trains. + MergeTrainsEnabled pulumi.BoolInput `pulumi:"mergeTrainsEnabled"` + // Whether the pull mirroring is enabled for the project. + Mirror pulumi.BoolInput `pulumi:"mirror"` + // Whether mirrorOverwritesDivergedBranches is enabled for the project. + MirrorOverwritesDivergedBranches pulumi.BoolInput `pulumi:"mirrorOverwritesDivergedBranches"` + // Whether pull mirroring triggers builds for the project. + MirrorTriggerBuilds pulumi.BoolInput `pulumi:"mirrorTriggerBuilds"` + // The mirror user ID for the project. + MirrorUserId pulumi.IntInput `pulumi:"mirrorUserId"` + // The visibility of machine learning model experiments. + ModelExperimentsAccessLevel pulumi.StringInput `pulumi:"modelExperimentsAccessLevel"` + // The visibility of machine learning model registry. + ModelRegistryAccessLevel pulumi.StringInput `pulumi:"modelRegistryAccessLevel"` + // Set the monitor access level. Valid values are `disabled`, `private`, `enabled`. + MonitorAccessLevel pulumi.StringInput `pulumi:"monitorAccessLevel"` + // The name of the project. + Name pulumi.StringInput `pulumi:"name"` + // In `group / subgroup / project` or `user / project` format. + NameWithNamespace pulumi.StringInput `pulumi:"nameWithNamespace"` + // Namespace of the project (parent group/s). + Namespaces GetProjectsProjectNamespaceArrayInput `pulumi:"namespaces"` + // Whether onlyAllowMergeIfAllDiscussionsAreResolved is enabled for the project. + OnlyAllowMergeIfAllDiscussionsAreResolved pulumi.BoolInput `pulumi:"onlyAllowMergeIfAllDiscussionsAreResolved"` + // Whether onlyAllowMergeIfPipelineSucceeds is enabled for the project. + OnlyAllowMergeIfPipelineSucceeds pulumi.BoolInput `pulumi:"onlyAllowMergeIfPipelineSucceeds"` + // Whether onlyMirrorProtectedBranches is enabled for the project. + OnlyMirrorProtectedBranches pulumi.BoolInput `pulumi:"onlyMirrorProtectedBranches"` + // The number of open issies for the project. + OpenIssuesCount pulumi.IntInput `pulumi:"openIssuesCount"` + // The owner of the project, due to Terraform aggregate types limitations, this field's attributes are accessed with the `owner.0` prefix. Structure is documented below. + Owners GetProjectsProjectOwnerArrayInput `pulumi:"owners"` + // Whether packages are enabled for the project. + PackagesEnabled pulumi.BoolInput `pulumi:"packagesEnabled"` + // The path of the project. + Path pulumi.StringInput `pulumi:"path"` + // In `group/subgroup/project` or `user/project` format. + PathWithNamespace pulumi.StringInput `pulumi:"pathWithNamespace"` + // Permissions for the project. + Permissions GetProjectsProjectPermissionArrayInput `pulumi:"permissions"` + // Whether merge requests require an associated issue from Jira. Premium and Ultimate only. + PreventMergeWithoutJiraIssue pulumi.BoolInput `pulumi:"preventMergeWithoutJiraIssue"` + // Whether public builds are enabled for the project. + PublicBuilds pulumi.BoolInput `pulumi:"publicBuilds"` + // The remote url of the project. + ReadmeUrl pulumi.StringInput `pulumi:"readmeUrl"` + // Set the releases access level. Valid values are `disabled`, `private`, `enabled`. + ReleasesAccessLevel pulumi.StringInput `pulumi:"releasesAccessLevel"` + // Set the repository access level. Valid values are `disabled`, `private`, `enabled`. + RepositoryAccessLevel pulumi.StringInput `pulumi:"repositoryAccessLevel"` + // Which storage shard the repository is on. (administrator only) + RepositoryStorage pulumi.StringInput `pulumi:"repositoryStorage"` + // Whether requesting access is enabled for the project. + RequestAccessEnabled pulumi.BoolInput `pulumi:"requestAccessEnabled"` + // Set the requirements access level. Valid values are `disabled`, `private`, `enabled`. + RequirementsAccessLevel pulumi.StringInput `pulumi:"requirementsAccessLevel"` + // Whether resolveOutdatedDiffDiscussions is enabled for the project + ResolveOutdatedDiffDiscussions pulumi.BoolInput `pulumi:"resolveOutdatedDiffDiscussions"` + // The default resource group process mode for the project. + ResourceGroupDefaultProcessMode pulumi.StringInput `pulumi:"resourceGroupDefaultProcessMode"` + // Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. + RestrictUserDefinedVariables pulumi.BoolInput `pulumi:"restrictUserDefinedVariables"` + // The runners token for the project. + RunnersToken pulumi.StringInput `pulumi:"runnersToken"` + // Set the security and compliance access level. Valid values are `disabled`, `private`, `enabled`. + SecurityAndComplianceAccessLevel pulumi.StringInput `pulumi:"securityAndComplianceAccessLevel"` + // Whether shared runners are enabled for the project. + SharedRunnersEnabled pulumi.BoolInput `pulumi:"sharedRunnersEnabled"` + // Groups the the project is shared with. + SharedWithGroups GetProjectsProjectSharedWithGroupArrayInput `pulumi:"sharedWithGroups"` + // Set the snippets access level. Valid values are `disabled`, `private`, `enabled`. + SnippetsAccessLevel pulumi.StringInput `pulumi:"snippetsAccessLevel"` + // Whether snippets are enabled for the project. + SnippetsEnabled pulumi.BoolInput `pulumi:"snippetsEnabled"` + // Template used to create squash commit message in merge requests. + SquashCommitTemplate pulumi.StringInput `pulumi:"squashCommitTemplate"` + // The SSH clone URL of the project. + SshUrlToRepo pulumi.StringInput `pulumi:"sshUrlToRepo"` + // The number of stars on the project. + StarCount pulumi.IntInput `pulumi:"starCount"` + // Statistics for the project. + Statistics pulumi.IntMapInput `pulumi:"statistics"` + // The commit message used to apply merge request suggestions. + SuggestionCommitMessage pulumi.StringInput `pulumi:"suggestionCommitMessage"` + // A set of the project topics (formerly called "project tags"). + TagLists pulumi.StringArrayInput `pulumi:"tagLists"` + // The list of topics for the project. + Topics pulumi.StringArrayInput `pulumi:"topics"` + // The visibility of the project. + Visibility pulumi.StringInput `pulumi:"visibility"` + // The web url of the project. + WebUrl pulumi.StringInput `pulumi:"webUrl"` + // Set the wiki access level. Valid values are `disabled`, `private`, `enabled`. + WikiAccessLevel pulumi.StringInput `pulumi:"wikiAccessLevel"` + // Whether wiki is enabled for the project. + WikiEnabled pulumi.BoolInput `pulumi:"wikiEnabled"` +} + +func (GetProjectsProjectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsProject)(nil)).Elem() +} + +func (i GetProjectsProjectArgs) ToGetProjectsProjectOutput() GetProjectsProjectOutput { + return i.ToGetProjectsProjectOutputWithContext(context.Background()) +} + +func (i GetProjectsProjectArgs) ToGetProjectsProjectOutputWithContext(ctx context.Context) GetProjectsProjectOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectOutput) +} + +// GetProjectsProjectArrayInput is an input type that accepts GetProjectsProjectArray and GetProjectsProjectArrayOutput values. +// You can construct a concrete instance of `GetProjectsProjectArrayInput` via: +// +// GetProjectsProjectArray{ GetProjectsProjectArgs{...} } +type GetProjectsProjectArrayInput interface { + pulumi.Input + + ToGetProjectsProjectArrayOutput() GetProjectsProjectArrayOutput + ToGetProjectsProjectArrayOutputWithContext(context.Context) GetProjectsProjectArrayOutput +} + +type GetProjectsProjectArray []GetProjectsProjectInput + +func (GetProjectsProjectArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectsProject)(nil)).Elem() +} + +func (i GetProjectsProjectArray) ToGetProjectsProjectArrayOutput() GetProjectsProjectArrayOutput { + return i.ToGetProjectsProjectArrayOutputWithContext(context.Background()) +} + +func (i GetProjectsProjectArray) ToGetProjectsProjectArrayOutputWithContext(ctx context.Context) GetProjectsProjectArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectArrayOutput) +} + +type GetProjectsProjectOutput struct{ *pulumi.OutputState } + +func (GetProjectsProjectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsProject)(nil)).Elem() +} + +func (o GetProjectsProjectOutput) ToGetProjectsProjectOutput() GetProjectsProjectOutput { + return o +} + +func (o GetProjectsProjectOutput) ToGetProjectsProjectOutputWithContext(ctx context.Context) GetProjectsProjectOutput { + return o +} + +// Links for the project. Use `links` instead. To be removed in 19.0. +// +// Deprecated: Use `links` instead. To be removed in 19.0. +func (o GetProjectsProjectOutput) _links() pulumi.StringMapOutput { + return o.ApplyT(func(v GetProjectsProject) map[string]string { return v._links }).(pulumi.StringMapOutput) +} + +// Whether allowMergeOnSkippedPipeline is enabled for the project. +func (o GetProjectsProjectOutput) AllowMergeOnSkippedPipeline() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.AllowMergeOnSkippedPipeline }).(pulumi.BoolOutput) +} + +// Set whether or not a pipeline triggerer is allowed to approve deployments. Premium and Ultimate only. +func (o GetProjectsProjectOutput) AllowPipelineTriggerApproveDeployment() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.AllowPipelineTriggerApproveDeployment }).(pulumi.BoolOutput) +} + +// Set the analytics access level. Valid values are `disabled`, `private`, `enabled`. +func (o GetProjectsProjectOutput) AnalyticsAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.AnalyticsAccessLevel }).(pulumi.StringOutput) +} + +// The numbers of approvals needed in a merge requests. +func (o GetProjectsProjectOutput) ApprovalsBeforeMerge() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectsProject) int { return v.ApprovalsBeforeMerge }).(pulumi.IntOutput) +} + +// Whether the project is archived. +func (o GetProjectsProjectOutput) Archived() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.Archived }).(pulumi.BoolOutput) +} + +// Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled. +func (o GetProjectsProjectOutput) AutoCancelPendingPipelines() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.AutoCancelPendingPipelines }).(pulumi.StringOutput) +} + +// Auto Deploy strategy. Valid values are `continuous`, `manual`, `timedIncremental`. +func (o GetProjectsProjectOutput) AutoDevopsDeployStrategy() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.AutoDevopsDeployStrategy }).(pulumi.StringOutput) +} + +// Enable Auto DevOps for this project. +func (o GetProjectsProjectOutput) AutoDevopsEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.AutoDevopsEnabled }).(pulumi.BoolOutput) +} + +// Set whether auto-closing referenced issues on default branch. +func (o GetProjectsProjectOutput) AutocloseReferencedIssues() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.AutocloseReferencedIssues }).(pulumi.BoolOutput) +} + +// The avatar url of the project. +func (o GetProjectsProjectOutput) AvatarUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.AvatarUrl }).(pulumi.StringOutput) +} + +// Build coverage regex for the project. +func (o GetProjectsProjectOutput) BuildCoverageRegex() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.BuildCoverageRegex }).(pulumi.StringOutput) +} + +// The Git strategy. Defaults to fetch. +func (o GetProjectsProjectOutput) BuildGitStrategy() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.BuildGitStrategy }).(pulumi.StringOutput) +} + +// The maximum amount of time, in seconds, that a job can run. +func (o GetProjectsProjectOutput) BuildTimeout() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectsProject) int { return v.BuildTimeout }).(pulumi.IntOutput) +} + +// Set the builds access level. Valid values are `disabled`, `private`, `enabled`. +func (o GetProjectsProjectOutput) BuildsAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.BuildsAccessLevel }).(pulumi.StringOutput) +} + +// CI config file path for the project. +func (o GetProjectsProjectOutput) CiConfigPath() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.CiConfigPath }).(pulumi.StringOutput) +} + +// Default number of revisions for shallow cloning. +func (o GetProjectsProjectOutput) CiDefaultGitDepth() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectsProject) int { return v.CiDefaultGitDepth }).(pulumi.IntOutput) +} + +// Pipelines older than the configured time are deleted. +func (o GetProjectsProjectOutput) CiDeletePipelinesInSeconds() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectsProject) int { return v.CiDeletePipelinesInSeconds }).(pulumi.IntOutput) +} + +// When a new deployment job starts, skip older deployment jobs that are still pending. +func (o GetProjectsProjectOutput) CiForwardDeploymentEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.CiForwardDeploymentEnabled }).(pulumi.BoolOutput) +} + +// Allow job retries even if the deployment job is outdated. +func (o GetProjectsProjectOutput) CiForwardDeploymentRollbackAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.CiForwardDeploymentRollbackAllowed }).(pulumi.BoolOutput) +} + +// Fields included in the sub claim of the ID Token. Accepts an array starting with project_path. The array might also include refType and ref. Defaults to ["projectPath", "refType", "ref"]. Introduced in GitLab 17.10. +func (o GetProjectsProjectOutput) CiIdTokenSubClaimComponents() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetProjectsProject) []string { return v.CiIdTokenSubClaimComponents }).(pulumi.StringArrayOutput) +} + +// The minimum role required to set variables when running pipelines and jobs. Introduced in GitLab 17.1. Valid values are `developer`, `maintainer`, `owner`, `noOneAllowed` +func (o GetProjectsProjectOutput) CiPipelineVariablesMinimumOverrideRole() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.CiPipelineVariablesMinimumOverrideRole }).(pulumi.StringOutput) +} + +// The role required to cancel a pipeline or job. Premium and Ultimate only. Valid values are `developer`, `maintainer`, `no one` +func (o GetProjectsProjectOutput) CiRestrictPipelineCancellationRole() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.CiRestrictPipelineCancellationRole }).(pulumi.StringOutput) +} + +// Set the image cleanup policy for this project. **Note**: this field is sometimes named `containerExpirationPolicyAttributes` in the GitLab Upstream API. +func (o GetProjectsProjectOutput) ContainerExpirationPolicies() GetProjectsProjectContainerExpirationPolicyArrayOutput { + return o.ApplyT(func(v GetProjectsProject) []GetProjectsProjectContainerExpirationPolicy { + return v.ContainerExpirationPolicies + }).(GetProjectsProjectContainerExpirationPolicyArrayOutput) +} + +// Set visibility of container registry, for this project. Valid values are `disabled`, `private`, `enabled`. +func (o GetProjectsProjectOutput) ContainerRegistryAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.ContainerRegistryAccessLevel }).(pulumi.StringOutput) +} + +// Whether the container registry is enabled for the project. +func (o GetProjectsProjectOutput) ContainerRegistryEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.ContainerRegistryEnabled }).(pulumi.BoolOutput) +} + +// Creation time for the project. +func (o GetProjectsProjectOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Creator ID for the project. +func (o GetProjectsProjectOutput) CreatorId() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectsProject) int { return v.CreatorId }).(pulumi.IntOutput) +} + +// Custom attributes for the project. +func (o GetProjectsProjectOutput) CustomAttributes() pulumi.StringMapArrayOutput { + return o.ApplyT(func(v GetProjectsProject) []map[string]string { return v.CustomAttributes }).(pulumi.StringMapArrayOutput) +} + +// The default branch name of the project. +func (o GetProjectsProjectOutput) DefaultBranch() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.DefaultBranch }).(pulumi.StringOutput) +} + +// The description of the project. +func (o GetProjectsProjectOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.Description }).(pulumi.StringOutput) +} + +// Enable email notifications. +func (o GetProjectsProjectOutput) EmailsEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.EmailsEnabled }).(pulumi.BoolOutput) +} + +// Whether the project is empty. +func (o GetProjectsProjectOutput) EmptyRepo() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.EmptyRepo }).(pulumi.BoolOutput) +} + +// Set the environments access level. Valid values are `disabled`, `private`, `enabled`. +func (o GetProjectsProjectOutput) EnvironmentsAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.EnvironmentsAccessLevel }).(pulumi.StringOutput) +} + +// The classification label for the project. +func (o GetProjectsProjectOutput) ExternalAuthorizationClassificationLabel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.ExternalAuthorizationClassificationLabel }).(pulumi.StringOutput) +} + +// Set the feature flags access level. Valid values are `disabled`, `private`, `enabled`. +func (o GetProjectsProjectOutput) FeatureFlagsAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.FeatureFlagsAccessLevel }).(pulumi.StringOutput) +} + +// Present if the project is a fork. Contains information about the upstream project. +func (o GetProjectsProjectOutput) ForkedFromProjects() GetProjectsProjectForkedFromProjectArrayOutput { + return o.ApplyT(func(v GetProjectsProject) []GetProjectsProjectForkedFromProject { return v.ForkedFromProjects }).(GetProjectsProjectForkedFromProjectArrayOutput) +} + +// Set the forking access level. Valid values are `disabled`, `private`, `enabled`. +func (o GetProjectsProjectOutput) ForkingAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.ForkingAccessLevel }).(pulumi.StringOutput) +} + +// The number of forks of the project. +func (o GetProjectsProjectOutput) ForksCount() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectsProject) int { return v.ForksCount }).(pulumi.IntOutput) +} + +// Whether group runners are enabled for the project. +func (o GetProjectsProjectOutput) GroupRunnersEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.GroupRunnersEnabled }).(pulumi.BoolOutput) +} + +// The HTTP clone URL of the project. +func (o GetProjectsProjectOutput) HttpUrlToRepo() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.HttpUrlToRepo }).(pulumi.StringOutput) +} + +// The ID of the project. +func (o GetProjectsProjectOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectsProject) int { return v.Id }).(pulumi.IntOutput) +} + +// The import error, if it exists, for the project. +func (o GetProjectsProjectOutput) ImportError() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.ImportError }).(pulumi.StringOutput) +} + +// The import status of the project. +func (o GetProjectsProjectOutput) ImportStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.ImportStatus }).(pulumi.StringOutput) +} + +// URL the project was imported from. +func (o GetProjectsProjectOutput) ImportUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.ImportUrl }).(pulumi.StringOutput) +} + +// Set the infrastructure access level. Valid values are `disabled`, `private`, `enabled`. +func (o GetProjectsProjectOutput) InfrastructureAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.InfrastructureAccessLevel }).(pulumi.StringOutput) +} + +// Set the issues access level. Valid values are `disabled`, `private`, `enabled`. +func (o GetProjectsProjectOutput) IssuesAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.IssuesAccessLevel }).(pulumi.StringOutput) +} + +// Whether issues are enabled for the project. +func (o GetProjectsProjectOutput) IssuesEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.IssuesEnabled }).(pulumi.BoolOutput) +} + +// Whether pipelines are enabled for the project. +func (o GetProjectsProjectOutput) JobsEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.JobsEnabled }).(pulumi.BoolOutput) +} + +// Disable or enable the ability to keep the latest artifact for this project. +func (o GetProjectsProjectOutput) KeepLatestArtifact() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.KeepLatestArtifact }).(pulumi.BoolOutput) +} + +// Last activirty time for the project. +func (o GetProjectsProjectOutput) LastActivityAt() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.LastActivityAt }).(pulumi.StringOutput) +} + +// Whether LFS (large file storage) is enabled for the project. +func (o GetProjectsProjectOutput) LfsEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.LfsEnabled }).(pulumi.BoolOutput) +} + +// Links for the project. +func (o GetProjectsProjectOutput) Links() pulumi.StringMapOutput { + return o.ApplyT(func(v GetProjectsProject) map[string]string { return v.Links }).(pulumi.StringMapOutput) +} + +// Template used to create merge commit message in merge requests. +func (o GetProjectsProjectOutput) MergeCommitTemplate() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.MergeCommitTemplate }).(pulumi.StringOutput) +} + +// Merge method for the project. +func (o GetProjectsProjectOutput) MergeMethod() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.MergeMethod }).(pulumi.StringOutput) +} + +// Enable or disable merge pipelines. +func (o GetProjectsProjectOutput) MergePipelinesEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.MergePipelinesEnabled }).(pulumi.BoolOutput) +} + +// Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`. +func (o GetProjectsProjectOutput) MergeRequestsAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.MergeRequestsAccessLevel }).(pulumi.StringOutput) +} + +// Whether merge requests are enabled for the project. +func (o GetProjectsProjectOutput) MergeRequestsEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.MergeRequestsEnabled }).(pulumi.BoolOutput) +} + +// Enable or disable merge trains. +func (o GetProjectsProjectOutput) MergeTrainsEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.MergeTrainsEnabled }).(pulumi.BoolOutput) +} + +// Whether the pull mirroring is enabled for the project. +func (o GetProjectsProjectOutput) Mirror() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.Mirror }).(pulumi.BoolOutput) +} + +// Whether mirrorOverwritesDivergedBranches is enabled for the project. +func (o GetProjectsProjectOutput) MirrorOverwritesDivergedBranches() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.MirrorOverwritesDivergedBranches }).(pulumi.BoolOutput) +} + +// Whether pull mirroring triggers builds for the project. +func (o GetProjectsProjectOutput) MirrorTriggerBuilds() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.MirrorTriggerBuilds }).(pulumi.BoolOutput) +} + +// The mirror user ID for the project. +func (o GetProjectsProjectOutput) MirrorUserId() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectsProject) int { return v.MirrorUserId }).(pulumi.IntOutput) +} + +// The visibility of machine learning model experiments. +func (o GetProjectsProjectOutput) ModelExperimentsAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.ModelExperimentsAccessLevel }).(pulumi.StringOutput) +} + +// The visibility of machine learning model registry. +func (o GetProjectsProjectOutput) ModelRegistryAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.ModelRegistryAccessLevel }).(pulumi.StringOutput) +} + +// Set the monitor access level. Valid values are `disabled`, `private`, `enabled`. +func (o GetProjectsProjectOutput) MonitorAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.MonitorAccessLevel }).(pulumi.StringOutput) +} + +// The name of the project. +func (o GetProjectsProjectOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.Name }).(pulumi.StringOutput) +} + +// In `group / subgroup / project` or `user / project` format. +func (o GetProjectsProjectOutput) NameWithNamespace() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.NameWithNamespace }).(pulumi.StringOutput) +} + +// Namespace of the project (parent group/s). +func (o GetProjectsProjectOutput) Namespaces() GetProjectsProjectNamespaceArrayOutput { + return o.ApplyT(func(v GetProjectsProject) []GetProjectsProjectNamespace { return v.Namespaces }).(GetProjectsProjectNamespaceArrayOutput) +} + +// Whether onlyAllowMergeIfAllDiscussionsAreResolved is enabled for the project. +func (o GetProjectsProjectOutput) OnlyAllowMergeIfAllDiscussionsAreResolved() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.OnlyAllowMergeIfAllDiscussionsAreResolved }).(pulumi.BoolOutput) +} + +// Whether onlyAllowMergeIfPipelineSucceeds is enabled for the project. +func (o GetProjectsProjectOutput) OnlyAllowMergeIfPipelineSucceeds() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.OnlyAllowMergeIfPipelineSucceeds }).(pulumi.BoolOutput) +} + +// Whether onlyMirrorProtectedBranches is enabled for the project. +func (o GetProjectsProjectOutput) OnlyMirrorProtectedBranches() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.OnlyMirrorProtectedBranches }).(pulumi.BoolOutput) +} + +// The number of open issies for the project. +func (o GetProjectsProjectOutput) OpenIssuesCount() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectsProject) int { return v.OpenIssuesCount }).(pulumi.IntOutput) +} + +// The owner of the project, due to Terraform aggregate types limitations, this field's attributes are accessed with the `owner.0` prefix. Structure is documented below. +func (o GetProjectsProjectOutput) Owners() GetProjectsProjectOwnerArrayOutput { + return o.ApplyT(func(v GetProjectsProject) []GetProjectsProjectOwner { return v.Owners }).(GetProjectsProjectOwnerArrayOutput) +} + +// Whether packages are enabled for the project. +func (o GetProjectsProjectOutput) PackagesEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.PackagesEnabled }).(pulumi.BoolOutput) +} + +// The path of the project. +func (o GetProjectsProjectOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.Path }).(pulumi.StringOutput) +} + +// In `group/subgroup/project` or `user/project` format. +func (o GetProjectsProjectOutput) PathWithNamespace() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.PathWithNamespace }).(pulumi.StringOutput) +} + +// Permissions for the project. +func (o GetProjectsProjectOutput) Permissions() GetProjectsProjectPermissionArrayOutput { + return o.ApplyT(func(v GetProjectsProject) []GetProjectsProjectPermission { return v.Permissions }).(GetProjectsProjectPermissionArrayOutput) +} + +// Whether merge requests require an associated issue from Jira. Premium and Ultimate only. +func (o GetProjectsProjectOutput) PreventMergeWithoutJiraIssue() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.PreventMergeWithoutJiraIssue }).(pulumi.BoolOutput) +} + +// Whether public builds are enabled for the project. +func (o GetProjectsProjectOutput) PublicBuilds() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.PublicBuilds }).(pulumi.BoolOutput) +} + +// The remote url of the project. +func (o GetProjectsProjectOutput) ReadmeUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.ReadmeUrl }).(pulumi.StringOutput) +} + +// Set the releases access level. Valid values are `disabled`, `private`, `enabled`. +func (o GetProjectsProjectOutput) ReleasesAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.ReleasesAccessLevel }).(pulumi.StringOutput) +} + +// Set the repository access level. Valid values are `disabled`, `private`, `enabled`. +func (o GetProjectsProjectOutput) RepositoryAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.RepositoryAccessLevel }).(pulumi.StringOutput) +} + +// Which storage shard the repository is on. (administrator only) +func (o GetProjectsProjectOutput) RepositoryStorage() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.RepositoryStorage }).(pulumi.StringOutput) +} + +// Whether requesting access is enabled for the project. +func (o GetProjectsProjectOutput) RequestAccessEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.RequestAccessEnabled }).(pulumi.BoolOutput) +} + +// Set the requirements access level. Valid values are `disabled`, `private`, `enabled`. +func (o GetProjectsProjectOutput) RequirementsAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.RequirementsAccessLevel }).(pulumi.StringOutput) +} + +// Whether resolveOutdatedDiffDiscussions is enabled for the project +func (o GetProjectsProjectOutput) ResolveOutdatedDiffDiscussions() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.ResolveOutdatedDiffDiscussions }).(pulumi.BoolOutput) +} + +// The default resource group process mode for the project. +func (o GetProjectsProjectOutput) ResourceGroupDefaultProcessMode() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.ResourceGroupDefaultProcessMode }).(pulumi.StringOutput) +} + +// Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. +func (o GetProjectsProjectOutput) RestrictUserDefinedVariables() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.RestrictUserDefinedVariables }).(pulumi.BoolOutput) +} + +// The runners token for the project. +func (o GetProjectsProjectOutput) RunnersToken() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.RunnersToken }).(pulumi.StringOutput) +} + +// Set the security and compliance access level. Valid values are `disabled`, `private`, `enabled`. +func (o GetProjectsProjectOutput) SecurityAndComplianceAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.SecurityAndComplianceAccessLevel }).(pulumi.StringOutput) +} + +// Whether shared runners are enabled for the project. +func (o GetProjectsProjectOutput) SharedRunnersEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.SharedRunnersEnabled }).(pulumi.BoolOutput) +} + +// Groups the the project is shared with. +func (o GetProjectsProjectOutput) SharedWithGroups() GetProjectsProjectSharedWithGroupArrayOutput { + return o.ApplyT(func(v GetProjectsProject) []GetProjectsProjectSharedWithGroup { return v.SharedWithGroups }).(GetProjectsProjectSharedWithGroupArrayOutput) +} + +// Set the snippets access level. Valid values are `disabled`, `private`, `enabled`. +func (o GetProjectsProjectOutput) SnippetsAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.SnippetsAccessLevel }).(pulumi.StringOutput) +} + +// Whether snippets are enabled for the project. +func (o GetProjectsProjectOutput) SnippetsEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.SnippetsEnabled }).(pulumi.BoolOutput) +} + +// Template used to create squash commit message in merge requests. +func (o GetProjectsProjectOutput) SquashCommitTemplate() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.SquashCommitTemplate }).(pulumi.StringOutput) +} + +// The SSH clone URL of the project. +func (o GetProjectsProjectOutput) SshUrlToRepo() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.SshUrlToRepo }).(pulumi.StringOutput) +} + +// The number of stars on the project. +func (o GetProjectsProjectOutput) StarCount() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectsProject) int { return v.StarCount }).(pulumi.IntOutput) +} + +// Statistics for the project. +func (o GetProjectsProjectOutput) Statistics() pulumi.IntMapOutput { + return o.ApplyT(func(v GetProjectsProject) map[string]int { return v.Statistics }).(pulumi.IntMapOutput) +} + +// The commit message used to apply merge request suggestions. +func (o GetProjectsProjectOutput) SuggestionCommitMessage() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.SuggestionCommitMessage }).(pulumi.StringOutput) +} + +// A set of the project topics (formerly called "project tags"). +func (o GetProjectsProjectOutput) TagLists() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetProjectsProject) []string { return v.TagLists }).(pulumi.StringArrayOutput) +} + +// The list of topics for the project. +func (o GetProjectsProjectOutput) Topics() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetProjectsProject) []string { return v.Topics }).(pulumi.StringArrayOutput) +} + +// The visibility of the project. +func (o GetProjectsProjectOutput) Visibility() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.Visibility }).(pulumi.StringOutput) +} + +// The web url of the project. +func (o GetProjectsProjectOutput) WebUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.WebUrl }).(pulumi.StringOutput) +} + +// Set the wiki access level. Valid values are `disabled`, `private`, `enabled`. +func (o GetProjectsProjectOutput) WikiAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProject) string { return v.WikiAccessLevel }).(pulumi.StringOutput) +} + +// Whether wiki is enabled for the project. +func (o GetProjectsProjectOutput) WikiEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProject) bool { return v.WikiEnabled }).(pulumi.BoolOutput) +} + +type GetProjectsProjectArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectsProjectArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectsProject)(nil)).Elem() +} + +func (o GetProjectsProjectArrayOutput) ToGetProjectsProjectArrayOutput() GetProjectsProjectArrayOutput { + return o +} + +func (o GetProjectsProjectArrayOutput) ToGetProjectsProjectArrayOutputWithContext(ctx context.Context) GetProjectsProjectArrayOutput { + return o +} + +func (o GetProjectsProjectArrayOutput) Index(i pulumi.IntInput) GetProjectsProjectOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectsProject { + return vs[0].([]GetProjectsProject)[vs[1].(int)] + }).(GetProjectsProjectOutput) +} + +type GetProjectsProjectContainerExpirationPolicy struct { + // The cadence of the policy. Valid values are: `1d`, `7d`, `14d`, `1month`, `3month`. + Cadence string `pulumi:"cadence"` + // If true, the policy is enabled. + Enabled bool `pulumi:"enabled"` + // The number of images to keep. + KeepN int `pulumi:"keepN"` + // The regular expression to match image names to delete. + NameRegexDelete string `pulumi:"nameRegexDelete"` + // The regular expression to match image names to keep. + NameRegexKeep string `pulumi:"nameRegexKeep"` + // The next time the policy will run. + NextRunAt string `pulumi:"nextRunAt"` + // The number of days to keep images. + OlderThan string `pulumi:"olderThan"` +} + +// GetProjectsProjectContainerExpirationPolicyInput is an input type that accepts GetProjectsProjectContainerExpirationPolicyArgs and GetProjectsProjectContainerExpirationPolicyOutput values. +// You can construct a concrete instance of `GetProjectsProjectContainerExpirationPolicyInput` via: +// +// GetProjectsProjectContainerExpirationPolicyArgs{...} +type GetProjectsProjectContainerExpirationPolicyInput interface { + pulumi.Input + + ToGetProjectsProjectContainerExpirationPolicyOutput() GetProjectsProjectContainerExpirationPolicyOutput + ToGetProjectsProjectContainerExpirationPolicyOutputWithContext(context.Context) GetProjectsProjectContainerExpirationPolicyOutput +} + +type GetProjectsProjectContainerExpirationPolicyArgs struct { + // The cadence of the policy. Valid values are: `1d`, `7d`, `14d`, `1month`, `3month`. + Cadence pulumi.StringInput `pulumi:"cadence"` + // If true, the policy is enabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // The number of images to keep. + KeepN pulumi.IntInput `pulumi:"keepN"` + // The regular expression to match image names to delete. + NameRegexDelete pulumi.StringInput `pulumi:"nameRegexDelete"` + // The regular expression to match image names to keep. + NameRegexKeep pulumi.StringInput `pulumi:"nameRegexKeep"` + // The next time the policy will run. + NextRunAt pulumi.StringInput `pulumi:"nextRunAt"` + // The number of days to keep images. + OlderThan pulumi.StringInput `pulumi:"olderThan"` +} + +func (GetProjectsProjectContainerExpirationPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsProjectContainerExpirationPolicy)(nil)).Elem() +} + +func (i GetProjectsProjectContainerExpirationPolicyArgs) ToGetProjectsProjectContainerExpirationPolicyOutput() GetProjectsProjectContainerExpirationPolicyOutput { + return i.ToGetProjectsProjectContainerExpirationPolicyOutputWithContext(context.Background()) +} + +func (i GetProjectsProjectContainerExpirationPolicyArgs) ToGetProjectsProjectContainerExpirationPolicyOutputWithContext(ctx context.Context) GetProjectsProjectContainerExpirationPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectContainerExpirationPolicyOutput) +} + +// GetProjectsProjectContainerExpirationPolicyArrayInput is an input type that accepts GetProjectsProjectContainerExpirationPolicyArray and GetProjectsProjectContainerExpirationPolicyArrayOutput values. +// You can construct a concrete instance of `GetProjectsProjectContainerExpirationPolicyArrayInput` via: +// +// GetProjectsProjectContainerExpirationPolicyArray{ GetProjectsProjectContainerExpirationPolicyArgs{...} } +type GetProjectsProjectContainerExpirationPolicyArrayInput interface { + pulumi.Input + + ToGetProjectsProjectContainerExpirationPolicyArrayOutput() GetProjectsProjectContainerExpirationPolicyArrayOutput + ToGetProjectsProjectContainerExpirationPolicyArrayOutputWithContext(context.Context) GetProjectsProjectContainerExpirationPolicyArrayOutput +} + +type GetProjectsProjectContainerExpirationPolicyArray []GetProjectsProjectContainerExpirationPolicyInput + +func (GetProjectsProjectContainerExpirationPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectsProjectContainerExpirationPolicy)(nil)).Elem() +} + +func (i GetProjectsProjectContainerExpirationPolicyArray) ToGetProjectsProjectContainerExpirationPolicyArrayOutput() GetProjectsProjectContainerExpirationPolicyArrayOutput { + return i.ToGetProjectsProjectContainerExpirationPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetProjectsProjectContainerExpirationPolicyArray) ToGetProjectsProjectContainerExpirationPolicyArrayOutputWithContext(ctx context.Context) GetProjectsProjectContainerExpirationPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectContainerExpirationPolicyArrayOutput) +} + +type GetProjectsProjectContainerExpirationPolicyOutput struct{ *pulumi.OutputState } + +func (GetProjectsProjectContainerExpirationPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsProjectContainerExpirationPolicy)(nil)).Elem() +} + +func (o GetProjectsProjectContainerExpirationPolicyOutput) ToGetProjectsProjectContainerExpirationPolicyOutput() GetProjectsProjectContainerExpirationPolicyOutput { + return o +} + +func (o GetProjectsProjectContainerExpirationPolicyOutput) ToGetProjectsProjectContainerExpirationPolicyOutputWithContext(ctx context.Context) GetProjectsProjectContainerExpirationPolicyOutput { + return o +} + +// The cadence of the policy. Valid values are: `1d`, `7d`, `14d`, `1month`, `3month`. +func (o GetProjectsProjectContainerExpirationPolicyOutput) Cadence() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectContainerExpirationPolicy) string { return v.Cadence }).(pulumi.StringOutput) +} + +// If true, the policy is enabled. +func (o GetProjectsProjectContainerExpirationPolicyOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectsProjectContainerExpirationPolicy) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// The number of images to keep. +func (o GetProjectsProjectContainerExpirationPolicyOutput) KeepN() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectsProjectContainerExpirationPolicy) int { return v.KeepN }).(pulumi.IntOutput) +} + +// The regular expression to match image names to delete. +func (o GetProjectsProjectContainerExpirationPolicyOutput) NameRegexDelete() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectContainerExpirationPolicy) string { return v.NameRegexDelete }).(pulumi.StringOutput) +} + +// The regular expression to match image names to keep. +func (o GetProjectsProjectContainerExpirationPolicyOutput) NameRegexKeep() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectContainerExpirationPolicy) string { return v.NameRegexKeep }).(pulumi.StringOutput) +} + +// The next time the policy will run. +func (o GetProjectsProjectContainerExpirationPolicyOutput) NextRunAt() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectContainerExpirationPolicy) string { return v.NextRunAt }).(pulumi.StringOutput) +} + +// The number of days to keep images. +func (o GetProjectsProjectContainerExpirationPolicyOutput) OlderThan() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectContainerExpirationPolicy) string { return v.OlderThan }).(pulumi.StringOutput) +} + +type GetProjectsProjectContainerExpirationPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectsProjectContainerExpirationPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectsProjectContainerExpirationPolicy)(nil)).Elem() +} + +func (o GetProjectsProjectContainerExpirationPolicyArrayOutput) ToGetProjectsProjectContainerExpirationPolicyArrayOutput() GetProjectsProjectContainerExpirationPolicyArrayOutput { + return o +} + +func (o GetProjectsProjectContainerExpirationPolicyArrayOutput) ToGetProjectsProjectContainerExpirationPolicyArrayOutputWithContext(ctx context.Context) GetProjectsProjectContainerExpirationPolicyArrayOutput { + return o +} + +func (o GetProjectsProjectContainerExpirationPolicyArrayOutput) Index(i pulumi.IntInput) GetProjectsProjectContainerExpirationPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectsProjectContainerExpirationPolicy { + return vs[0].([]GetProjectsProjectContainerExpirationPolicy)[vs[1].(int)] + }).(GetProjectsProjectContainerExpirationPolicyOutput) +} + +type GetProjectsProjectForkedFromProject struct { + // The HTTP clone URL of the upstream project. + HttpUrlToRepo string `pulumi:"httpUrlToRepo"` + // The ID of the upstream project. + Id int `pulumi:"id"` + // The name of the upstream project. + Name string `pulumi:"name"` + // In `group / subgroup / project` or `user / project` format. + NameWithNamespace string `pulumi:"nameWithNamespace"` + // The path of the upstream project. + Path string `pulumi:"path"` + // In `group/subgroup/project` or `user/project` format. + PathWithNamespace string `pulumi:"pathWithNamespace"` + // The web url of the upstream project. + WebUrl string `pulumi:"webUrl"` +} + +// GetProjectsProjectForkedFromProjectInput is an input type that accepts GetProjectsProjectForkedFromProjectArgs and GetProjectsProjectForkedFromProjectOutput values. +// You can construct a concrete instance of `GetProjectsProjectForkedFromProjectInput` via: +// +// GetProjectsProjectForkedFromProjectArgs{...} +type GetProjectsProjectForkedFromProjectInput interface { + pulumi.Input + + ToGetProjectsProjectForkedFromProjectOutput() GetProjectsProjectForkedFromProjectOutput + ToGetProjectsProjectForkedFromProjectOutputWithContext(context.Context) GetProjectsProjectForkedFromProjectOutput +} + +type GetProjectsProjectForkedFromProjectArgs struct { + // The HTTP clone URL of the upstream project. HttpUrlToRepo pulumi.StringInput `pulumi:"httpUrlToRepo"` - // The ID of the project. + // The ID of the upstream project. + Id pulumi.IntInput `pulumi:"id"` + // The name of the upstream project. + Name pulumi.StringInput `pulumi:"name"` + // In `group / subgroup / project` or `user / project` format. + NameWithNamespace pulumi.StringInput `pulumi:"nameWithNamespace"` + // The path of the upstream project. + Path pulumi.StringInput `pulumi:"path"` + // In `group/subgroup/project` or `user/project` format. + PathWithNamespace pulumi.StringInput `pulumi:"pathWithNamespace"` + // The web url of the upstream project. + WebUrl pulumi.StringInput `pulumi:"webUrl"` +} + +func (GetProjectsProjectForkedFromProjectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsProjectForkedFromProject)(nil)).Elem() +} + +func (i GetProjectsProjectForkedFromProjectArgs) ToGetProjectsProjectForkedFromProjectOutput() GetProjectsProjectForkedFromProjectOutput { + return i.ToGetProjectsProjectForkedFromProjectOutputWithContext(context.Background()) +} + +func (i GetProjectsProjectForkedFromProjectArgs) ToGetProjectsProjectForkedFromProjectOutputWithContext(ctx context.Context) GetProjectsProjectForkedFromProjectOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectForkedFromProjectOutput) +} + +// GetProjectsProjectForkedFromProjectArrayInput is an input type that accepts GetProjectsProjectForkedFromProjectArray and GetProjectsProjectForkedFromProjectArrayOutput values. +// You can construct a concrete instance of `GetProjectsProjectForkedFromProjectArrayInput` via: +// +// GetProjectsProjectForkedFromProjectArray{ GetProjectsProjectForkedFromProjectArgs{...} } +type GetProjectsProjectForkedFromProjectArrayInput interface { + pulumi.Input + + ToGetProjectsProjectForkedFromProjectArrayOutput() GetProjectsProjectForkedFromProjectArrayOutput + ToGetProjectsProjectForkedFromProjectArrayOutputWithContext(context.Context) GetProjectsProjectForkedFromProjectArrayOutput +} + +type GetProjectsProjectForkedFromProjectArray []GetProjectsProjectForkedFromProjectInput + +func (GetProjectsProjectForkedFromProjectArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectsProjectForkedFromProject)(nil)).Elem() +} + +func (i GetProjectsProjectForkedFromProjectArray) ToGetProjectsProjectForkedFromProjectArrayOutput() GetProjectsProjectForkedFromProjectArrayOutput { + return i.ToGetProjectsProjectForkedFromProjectArrayOutputWithContext(context.Background()) +} + +func (i GetProjectsProjectForkedFromProjectArray) ToGetProjectsProjectForkedFromProjectArrayOutputWithContext(ctx context.Context) GetProjectsProjectForkedFromProjectArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectForkedFromProjectArrayOutput) +} + +type GetProjectsProjectForkedFromProjectOutput struct{ *pulumi.OutputState } + +func (GetProjectsProjectForkedFromProjectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsProjectForkedFromProject)(nil)).Elem() +} + +func (o GetProjectsProjectForkedFromProjectOutput) ToGetProjectsProjectForkedFromProjectOutput() GetProjectsProjectForkedFromProjectOutput { + return o +} + +func (o GetProjectsProjectForkedFromProjectOutput) ToGetProjectsProjectForkedFromProjectOutputWithContext(ctx context.Context) GetProjectsProjectForkedFromProjectOutput { + return o +} + +// The HTTP clone URL of the upstream project. +func (o GetProjectsProjectForkedFromProjectOutput) HttpUrlToRepo() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectForkedFromProject) string { return v.HttpUrlToRepo }).(pulumi.StringOutput) +} + +// The ID of the upstream project. +func (o GetProjectsProjectForkedFromProjectOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectsProjectForkedFromProject) int { return v.Id }).(pulumi.IntOutput) +} + +// The name of the upstream project. +func (o GetProjectsProjectForkedFromProjectOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectForkedFromProject) string { return v.Name }).(pulumi.StringOutput) +} + +// In `group / subgroup / project` or `user / project` format. +func (o GetProjectsProjectForkedFromProjectOutput) NameWithNamespace() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectForkedFromProject) string { return v.NameWithNamespace }).(pulumi.StringOutput) +} + +// The path of the upstream project. +func (o GetProjectsProjectForkedFromProjectOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectForkedFromProject) string { return v.Path }).(pulumi.StringOutput) +} + +// In `group/subgroup/project` or `user/project` format. +func (o GetProjectsProjectForkedFromProjectOutput) PathWithNamespace() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectForkedFromProject) string { return v.PathWithNamespace }).(pulumi.StringOutput) +} + +// The web url of the upstream project. +func (o GetProjectsProjectForkedFromProjectOutput) WebUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectForkedFromProject) string { return v.WebUrl }).(pulumi.StringOutput) +} + +type GetProjectsProjectForkedFromProjectArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectsProjectForkedFromProjectArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectsProjectForkedFromProject)(nil)).Elem() +} + +func (o GetProjectsProjectForkedFromProjectArrayOutput) ToGetProjectsProjectForkedFromProjectArrayOutput() GetProjectsProjectForkedFromProjectArrayOutput { + return o +} + +func (o GetProjectsProjectForkedFromProjectArrayOutput) ToGetProjectsProjectForkedFromProjectArrayOutputWithContext(ctx context.Context) GetProjectsProjectForkedFromProjectArrayOutput { + return o +} + +func (o GetProjectsProjectForkedFromProjectArrayOutput) Index(i pulumi.IntInput) GetProjectsProjectForkedFromProjectOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectsProjectForkedFromProject { + return vs[0].([]GetProjectsProjectForkedFromProject)[vs[1].(int)] + }).(GetProjectsProjectForkedFromProjectOutput) +} + +type GetProjectsProjectNamespace struct { + // The full path of the namespace. + FullPath string `pulumi:"fullPath"` + // The ID of the namespace. + Id int `pulumi:"id"` + // The kind of the namespace. + Kind string `pulumi:"kind"` + // The name of the namespace. + Name string `pulumi:"name"` + // The path of the namespace. + Path string `pulumi:"path"` +} + +// GetProjectsProjectNamespaceInput is an input type that accepts GetProjectsProjectNamespaceArgs and GetProjectsProjectNamespaceOutput values. +// You can construct a concrete instance of `GetProjectsProjectNamespaceInput` via: +// +// GetProjectsProjectNamespaceArgs{...} +type GetProjectsProjectNamespaceInput interface { + pulumi.Input + + ToGetProjectsProjectNamespaceOutput() GetProjectsProjectNamespaceOutput + ToGetProjectsProjectNamespaceOutputWithContext(context.Context) GetProjectsProjectNamespaceOutput +} + +type GetProjectsProjectNamespaceArgs struct { + // The full path of the namespace. + FullPath pulumi.StringInput `pulumi:"fullPath"` + // The ID of the namespace. Id pulumi.IntInput `pulumi:"id"` - // The import error, if it exists, for the project. - ImportError pulumi.StringInput `pulumi:"importError"` - // The import status of the project. - ImportStatus pulumi.StringInput `pulumi:"importStatus"` - // URL the project was imported from. - ImportUrl pulumi.StringInput `pulumi:"importUrl"` - // Set the infrastructure access level. Valid values are `disabled`, `private`, `enabled`. - InfrastructureAccessLevel pulumi.StringInput `pulumi:"infrastructureAccessLevel"` - // Set the issues access level. Valid values are `disabled`, `private`, `enabled`. - IssuesAccessLevel pulumi.StringInput `pulumi:"issuesAccessLevel"` - // Whether issues are enabled for the project. - IssuesEnabled pulumi.BoolInput `pulumi:"issuesEnabled"` - // Whether pipelines are enabled for the project. - JobsEnabled pulumi.BoolInput `pulumi:"jobsEnabled"` - // Disable or enable the ability to keep the latest artifact for this project. - KeepLatestArtifact pulumi.BoolInput `pulumi:"keepLatestArtifact"` - // Last activirty time for the project. - LastActivityAt pulumi.StringInput `pulumi:"lastActivityAt"` - // Whether LFS (large file storage) is enabled for the project. - LfsEnabled pulumi.BoolInput `pulumi:"lfsEnabled"` - // Template used to create merge commit message in merge requests. - MergeCommitTemplate pulumi.StringInput `pulumi:"mergeCommitTemplate"` - // Merge method for the project. - MergeMethod pulumi.StringInput `pulumi:"mergeMethod"` - // Enable or disable merge pipelines. - MergePipelinesEnabled pulumi.BoolInput `pulumi:"mergePipelinesEnabled"` - // Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`. - MergeRequestsAccessLevel pulumi.StringInput `pulumi:"mergeRequestsAccessLevel"` - // Whether merge requests are enabled for the project. - MergeRequestsEnabled pulumi.BoolInput `pulumi:"mergeRequestsEnabled"` - // Enable or disable merge trains. - MergeTrainsEnabled pulumi.BoolInput `pulumi:"mergeTrainsEnabled"` - // Whether the pull mirroring is enabled for the project. - Mirror pulumi.BoolInput `pulumi:"mirror"` - // Whether mirrorOverwritesDivergedBranches is enabled for the project. - MirrorOverwritesDivergedBranches pulumi.BoolInput `pulumi:"mirrorOverwritesDivergedBranches"` - // Whether pull mirroring triggers builds for the project. - MirrorTriggerBuilds pulumi.BoolInput `pulumi:"mirrorTriggerBuilds"` - // The mirror user ID for the project. - MirrorUserId pulumi.IntInput `pulumi:"mirrorUserId"` - // The visibility of machine learning model experiments. - ModelExperimentsAccessLevel pulumi.StringInput `pulumi:"modelExperimentsAccessLevel"` - // The visibility of machine learning model registry. - ModelRegistryAccessLevel pulumi.StringInput `pulumi:"modelRegistryAccessLevel"` - // Set the monitor access level. Valid values are `disabled`, `private`, `enabled`. - MonitorAccessLevel pulumi.StringInput `pulumi:"monitorAccessLevel"` - // The name of the project. + // The kind of the namespace. + Kind pulumi.StringInput `pulumi:"kind"` + // The name of the namespace. Name pulumi.StringInput `pulumi:"name"` - // In `group / subgroup / project` or `user / project` format. - NameWithNamespace pulumi.StringInput `pulumi:"nameWithNamespace"` - // Namespace of the project (parent group/s). - Namespaces GetProjectsProjectNamespaceArrayInput `pulumi:"namespaces"` - // Whether onlyAllowMergeIfAllDiscussionsAreResolved is enabled for the project. - OnlyAllowMergeIfAllDiscussionsAreResolved pulumi.BoolInput `pulumi:"onlyAllowMergeIfAllDiscussionsAreResolved"` - // Whether onlyAllowMergeIfPipelineSucceeds is enabled for the project. - OnlyAllowMergeIfPipelineSucceeds pulumi.BoolInput `pulumi:"onlyAllowMergeIfPipelineSucceeds"` - // Whether onlyMirrorProtectedBranches is enabled for the project. - OnlyMirrorProtectedBranches pulumi.BoolInput `pulumi:"onlyMirrorProtectedBranches"` - // The number of open issies for the project. - OpenIssuesCount pulumi.IntInput `pulumi:"openIssuesCount"` - Owners GetProjectsProjectOwnerArrayInput `pulumi:"owners"` - // Whether packages are enabled for the project. - PackagesEnabled pulumi.BoolInput `pulumi:"packagesEnabled"` - // The path of the project. + // The path of the namespace. Path pulumi.StringInput `pulumi:"path"` - // In `group/subgroup/project` or `user/project` format. - PathWithNamespace pulumi.StringInput `pulumi:"pathWithNamespace"` - // Permissions for the project. - Permissions GetProjectsProjectPermissionArrayInput `pulumi:"permissions"` - // Whether merge requests require an associated issue from Jira. Premium and Ultimate only. - PreventMergeWithoutJiraIssue pulumi.BoolInput `pulumi:"preventMergeWithoutJiraIssue"` - // Whether public builds are enabled for the project. - PublicBuilds pulumi.BoolInput `pulumi:"publicBuilds"` - // The remote url of the project. - ReadmeUrl pulumi.StringInput `pulumi:"readmeUrl"` - // Set the releases access level. Valid values are `disabled`, `private`, `enabled`. - ReleasesAccessLevel pulumi.StringInput `pulumi:"releasesAccessLevel"` - // Set the repository access level. Valid values are `disabled`, `private`, `enabled`. - RepositoryAccessLevel pulumi.StringInput `pulumi:"repositoryAccessLevel"` - // Which storage shard the repository is on. (administrator only) - RepositoryStorage pulumi.StringInput `pulumi:"repositoryStorage"` - // Whether requesting access is enabled for the project. - RequestAccessEnabled pulumi.BoolInput `pulumi:"requestAccessEnabled"` - // Set the requirements access level. Valid values are `disabled`, `private`, `enabled`. - RequirementsAccessLevel pulumi.StringInput `pulumi:"requirementsAccessLevel"` - // Whether resolveOutdatedDiffDiscussions is enabled for the project - ResolveOutdatedDiffDiscussions pulumi.BoolInput `pulumi:"resolveOutdatedDiffDiscussions"` - // Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. - RestrictUserDefinedVariables pulumi.BoolInput `pulumi:"restrictUserDefinedVariables"` - // The runners token for the project. - RunnersToken pulumi.StringInput `pulumi:"runnersToken"` - // Set the security and compliance access level. Valid values are `disabled`, `private`, `enabled`. - SecurityAndComplianceAccessLevel pulumi.StringInput `pulumi:"securityAndComplianceAccessLevel"` - // Whether shared runners are enabled for the project. - SharedRunnersEnabled pulumi.BoolInput `pulumi:"sharedRunnersEnabled"` - // Groups the the project is shared with. - SharedWithGroups GetProjectsProjectSharedWithGroupArrayInput `pulumi:"sharedWithGroups"` - // Set the snippets access level. Valid values are `disabled`, `private`, `enabled`. - SnippetsAccessLevel pulumi.StringInput `pulumi:"snippetsAccessLevel"` - // Whether snippets are enabled for the project. - SnippetsEnabled pulumi.BoolInput `pulumi:"snippetsEnabled"` - // Template used to create squash commit message in merge requests. - SquashCommitTemplate pulumi.StringInput `pulumi:"squashCommitTemplate"` - // The SSH clone URL of the project. - SshUrlToRepo pulumi.StringInput `pulumi:"sshUrlToRepo"` - // The number of stars on the project. - StarCount pulumi.IntInput `pulumi:"starCount"` - // Statistics for the project. - Statistics pulumi.IntMapInput `pulumi:"statistics"` - // The commit message used to apply merge request suggestions. - SuggestionCommitMessage pulumi.StringInput `pulumi:"suggestionCommitMessage"` - // A set of the project topics (formerly called "project tags"). - TagLists pulumi.StringArrayInput `pulumi:"tagLists"` - // The list of topics for the project. - Topics pulumi.StringArrayInput `pulumi:"topics"` - // The visibility of the project. - Visibility pulumi.StringInput `pulumi:"visibility"` - // The web url of the project. - WebUrl pulumi.StringInput `pulumi:"webUrl"` - // Set the wiki access level. Valid values are `disabled`, `private`, `enabled`. - WikiAccessLevel pulumi.StringInput `pulumi:"wikiAccessLevel"` - // Whether wiki is enabled for the project. - WikiEnabled pulumi.BoolInput `pulumi:"wikiEnabled"` } -func (GetProjectsProjectArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectsProject)(nil)).Elem() +func (GetProjectsProjectNamespaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsProjectNamespace)(nil)).Elem() +} + +func (i GetProjectsProjectNamespaceArgs) ToGetProjectsProjectNamespaceOutput() GetProjectsProjectNamespaceOutput { + return i.ToGetProjectsProjectNamespaceOutputWithContext(context.Background()) +} + +func (i GetProjectsProjectNamespaceArgs) ToGetProjectsProjectNamespaceOutputWithContext(ctx context.Context) GetProjectsProjectNamespaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectNamespaceOutput) +} + +// GetProjectsProjectNamespaceArrayInput is an input type that accepts GetProjectsProjectNamespaceArray and GetProjectsProjectNamespaceArrayOutput values. +// You can construct a concrete instance of `GetProjectsProjectNamespaceArrayInput` via: +// +// GetProjectsProjectNamespaceArray{ GetProjectsProjectNamespaceArgs{...} } +type GetProjectsProjectNamespaceArrayInput interface { + pulumi.Input + + ToGetProjectsProjectNamespaceArrayOutput() GetProjectsProjectNamespaceArrayOutput + ToGetProjectsProjectNamespaceArrayOutputWithContext(context.Context) GetProjectsProjectNamespaceArrayOutput +} + +type GetProjectsProjectNamespaceArray []GetProjectsProjectNamespaceInput + +func (GetProjectsProjectNamespaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectsProjectNamespace)(nil)).Elem() +} + +func (i GetProjectsProjectNamespaceArray) ToGetProjectsProjectNamespaceArrayOutput() GetProjectsProjectNamespaceArrayOutput { + return i.ToGetProjectsProjectNamespaceArrayOutputWithContext(context.Background()) +} + +func (i GetProjectsProjectNamespaceArray) ToGetProjectsProjectNamespaceArrayOutputWithContext(ctx context.Context) GetProjectsProjectNamespaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectNamespaceArrayOutput) +} + +type GetProjectsProjectNamespaceOutput struct{ *pulumi.OutputState } + +func (GetProjectsProjectNamespaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsProjectNamespace)(nil)).Elem() +} + +func (o GetProjectsProjectNamespaceOutput) ToGetProjectsProjectNamespaceOutput() GetProjectsProjectNamespaceOutput { + return o +} + +func (o GetProjectsProjectNamespaceOutput) ToGetProjectsProjectNamespaceOutputWithContext(ctx context.Context) GetProjectsProjectNamespaceOutput { + return o +} + +// The full path of the namespace. +func (o GetProjectsProjectNamespaceOutput) FullPath() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectNamespace) string { return v.FullPath }).(pulumi.StringOutput) +} + +// The ID of the namespace. +func (o GetProjectsProjectNamespaceOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectsProjectNamespace) int { return v.Id }).(pulumi.IntOutput) +} + +// The kind of the namespace. +func (o GetProjectsProjectNamespaceOutput) Kind() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectNamespace) string { return v.Kind }).(pulumi.StringOutput) +} + +// The name of the namespace. +func (o GetProjectsProjectNamespaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectNamespace) string { return v.Name }).(pulumi.StringOutput) +} + +// The path of the namespace. +func (o GetProjectsProjectNamespaceOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectNamespace) string { return v.Path }).(pulumi.StringOutput) +} + +type GetProjectsProjectNamespaceArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectsProjectNamespaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectsProjectNamespace)(nil)).Elem() +} + +func (o GetProjectsProjectNamespaceArrayOutput) ToGetProjectsProjectNamespaceArrayOutput() GetProjectsProjectNamespaceArrayOutput { + return o +} + +func (o GetProjectsProjectNamespaceArrayOutput) ToGetProjectsProjectNamespaceArrayOutputWithContext(ctx context.Context) GetProjectsProjectNamespaceArrayOutput { + return o +} + +func (o GetProjectsProjectNamespaceArrayOutput) Index(i pulumi.IntInput) GetProjectsProjectNamespaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectsProjectNamespace { + return vs[0].([]GetProjectsProjectNamespace)[vs[1].(int)] + }).(GetProjectsProjectNamespaceOutput) +} + +type GetProjectsProjectOwner struct { + // The avatar url of the owner. + AvatarUrl string `pulumi:"avatarUrl"` + // The ID of the owner. + Id int `pulumi:"id"` + // The name of the owner. + Name string `pulumi:"name"` + // The state of the owner. + State string `pulumi:"state"` + // The username of the owner. + Username string `pulumi:"username"` + // The website url of the owner. + WebsiteUrl string `pulumi:"websiteUrl"` +} + +// GetProjectsProjectOwnerInput is an input type that accepts GetProjectsProjectOwnerArgs and GetProjectsProjectOwnerOutput values. +// You can construct a concrete instance of `GetProjectsProjectOwnerInput` via: +// +// GetProjectsProjectOwnerArgs{...} +type GetProjectsProjectOwnerInput interface { + pulumi.Input + + ToGetProjectsProjectOwnerOutput() GetProjectsProjectOwnerOutput + ToGetProjectsProjectOwnerOutputWithContext(context.Context) GetProjectsProjectOwnerOutput } -func (i GetProjectsProjectArgs) ToGetProjectsProjectOutput() GetProjectsProjectOutput { - return i.ToGetProjectsProjectOutputWithContext(context.Background()) +type GetProjectsProjectOwnerArgs struct { + // The avatar url of the owner. + AvatarUrl pulumi.StringInput `pulumi:"avatarUrl"` + // The ID of the owner. + Id pulumi.IntInput `pulumi:"id"` + // The name of the owner. + Name pulumi.StringInput `pulumi:"name"` + // The state of the owner. + State pulumi.StringInput `pulumi:"state"` + // The username of the owner. + Username pulumi.StringInput `pulumi:"username"` + // The website url of the owner. + WebsiteUrl pulumi.StringInput `pulumi:"websiteUrl"` } -func (i GetProjectsProjectArgs) ToGetProjectsProjectOutputWithContext(ctx context.Context) GetProjectsProjectOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectOutput) +func (GetProjectsProjectOwnerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsProjectOwner)(nil)).Elem() } -// GetProjectsProjectArrayInput is an input type that accepts GetProjectsProjectArray and GetProjectsProjectArrayOutput values. -// You can construct a concrete instance of `GetProjectsProjectArrayInput` via: +func (i GetProjectsProjectOwnerArgs) ToGetProjectsProjectOwnerOutput() GetProjectsProjectOwnerOutput { + return i.ToGetProjectsProjectOwnerOutputWithContext(context.Background()) +} + +func (i GetProjectsProjectOwnerArgs) ToGetProjectsProjectOwnerOutputWithContext(ctx context.Context) GetProjectsProjectOwnerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectOwnerOutput) +} + +// GetProjectsProjectOwnerArrayInput is an input type that accepts GetProjectsProjectOwnerArray and GetProjectsProjectOwnerArrayOutput values. +// You can construct a concrete instance of `GetProjectsProjectOwnerArrayInput` via: // -// GetProjectsProjectArray{ GetProjectsProjectArgs{...} } -type GetProjectsProjectArrayInput interface { +// GetProjectsProjectOwnerArray{ GetProjectsProjectOwnerArgs{...} } +type GetProjectsProjectOwnerArrayInput interface { pulumi.Input - ToGetProjectsProjectArrayOutput() GetProjectsProjectArrayOutput - ToGetProjectsProjectArrayOutputWithContext(context.Context) GetProjectsProjectArrayOutput + ToGetProjectsProjectOwnerArrayOutput() GetProjectsProjectOwnerArrayOutput + ToGetProjectsProjectOwnerArrayOutputWithContext(context.Context) GetProjectsProjectOwnerArrayOutput } -type GetProjectsProjectArray []GetProjectsProjectInput +type GetProjectsProjectOwnerArray []GetProjectsProjectOwnerInput -func (GetProjectsProjectArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectsProject)(nil)).Elem() +func (GetProjectsProjectOwnerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectsProjectOwner)(nil)).Elem() } -func (i GetProjectsProjectArray) ToGetProjectsProjectArrayOutput() GetProjectsProjectArrayOutput { - return i.ToGetProjectsProjectArrayOutputWithContext(context.Background()) +func (i GetProjectsProjectOwnerArray) ToGetProjectsProjectOwnerArrayOutput() GetProjectsProjectOwnerArrayOutput { + return i.ToGetProjectsProjectOwnerArrayOutputWithContext(context.Background()) } -func (i GetProjectsProjectArray) ToGetProjectsProjectArrayOutputWithContext(ctx context.Context) GetProjectsProjectArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectArrayOutput) +func (i GetProjectsProjectOwnerArray) ToGetProjectsProjectOwnerArrayOutputWithContext(ctx context.Context) GetProjectsProjectOwnerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectOwnerArrayOutput) } -type GetProjectsProjectOutput struct{ *pulumi.OutputState } +type GetProjectsProjectOwnerOutput struct{ *pulumi.OutputState } -func (GetProjectsProjectOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectsProject)(nil)).Elem() +func (GetProjectsProjectOwnerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsProjectOwner)(nil)).Elem() } -func (o GetProjectsProjectOutput) ToGetProjectsProjectOutput() GetProjectsProjectOutput { +func (o GetProjectsProjectOwnerOutput) ToGetProjectsProjectOwnerOutput() GetProjectsProjectOwnerOutput { return o } -func (o GetProjectsProjectOutput) ToGetProjectsProjectOutputWithContext(ctx context.Context) GetProjectsProjectOutput { +func (o GetProjectsProjectOwnerOutput) ToGetProjectsProjectOwnerOutputWithContext(ctx context.Context) GetProjectsProjectOwnerOutput { return o } -// Links for the project. -func (o GetProjectsProjectOutput) _links() pulumi.StringMapOutput { - return o.ApplyT(func(v GetProjectsProject) map[string]string { return v._links }).(pulumi.StringMapOutput) +// The avatar url of the owner. +func (o GetProjectsProjectOwnerOutput) AvatarUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectOwner) string { return v.AvatarUrl }).(pulumi.StringOutput) } -// Whether allowMergeOnSkippedPipeline is enabled for the project. -func (o GetProjectsProjectOutput) AllowMergeOnSkippedPipeline() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.AllowMergeOnSkippedPipeline }).(pulumi.BoolOutput) +// The ID of the owner. +func (o GetProjectsProjectOwnerOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectsProjectOwner) int { return v.Id }).(pulumi.IntOutput) } -// Set whether or not a pipeline triggerer is allowed to approve deployments. Premium and Ultimate only. -func (o GetProjectsProjectOutput) AllowPipelineTriggerApproveDeployment() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.AllowPipelineTriggerApproveDeployment }).(pulumi.BoolOutput) +// The name of the owner. +func (o GetProjectsProjectOwnerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectOwner) string { return v.Name }).(pulumi.StringOutput) } -// Set the analytics access level. Valid values are `disabled`, `private`, `enabled`. -func (o GetProjectsProjectOutput) AnalyticsAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.AnalyticsAccessLevel }).(pulumi.StringOutput) +// The state of the owner. +func (o GetProjectsProjectOwnerOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectOwner) string { return v.State }).(pulumi.StringOutput) } -// The numbers of approvals needed in a merge requests. -func (o GetProjectsProjectOutput) ApprovalsBeforeMerge() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectsProject) int { return v.ApprovalsBeforeMerge }).(pulumi.IntOutput) +// The username of the owner. +func (o GetProjectsProjectOwnerOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectOwner) string { return v.Username }).(pulumi.StringOutput) } -// Whether the project is archived. -func (o GetProjectsProjectOutput) Archived() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.Archived }).(pulumi.BoolOutput) +// The website url of the owner. +func (o GetProjectsProjectOwnerOutput) WebsiteUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectOwner) string { return v.WebsiteUrl }).(pulumi.StringOutput) } -// Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled. -func (o GetProjectsProjectOutput) AutoCancelPendingPipelines() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.AutoCancelPendingPipelines }).(pulumi.StringOutput) +type GetProjectsProjectOwnerArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectsProjectOwnerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectsProjectOwner)(nil)).Elem() +} + +func (o GetProjectsProjectOwnerArrayOutput) ToGetProjectsProjectOwnerArrayOutput() GetProjectsProjectOwnerArrayOutput { + return o +} + +func (o GetProjectsProjectOwnerArrayOutput) ToGetProjectsProjectOwnerArrayOutputWithContext(ctx context.Context) GetProjectsProjectOwnerArrayOutput { + return o +} + +func (o GetProjectsProjectOwnerArrayOutput) Index(i pulumi.IntInput) GetProjectsProjectOwnerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectsProjectOwner { + return vs[0].([]GetProjectsProjectOwner)[vs[1].(int)] + }).(GetProjectsProjectOwnerOutput) +} + +type GetProjectsProjectPermission struct { + // Group access level. + GroupAccess map[string]int `pulumi:"groupAccess"` + // Project access level. + ProjectAccess map[string]int `pulumi:"projectAccess"` +} + +// GetProjectsProjectPermissionInput is an input type that accepts GetProjectsProjectPermissionArgs and GetProjectsProjectPermissionOutput values. +// You can construct a concrete instance of `GetProjectsProjectPermissionInput` via: +// +// GetProjectsProjectPermissionArgs{...} +type GetProjectsProjectPermissionInput interface { + pulumi.Input + + ToGetProjectsProjectPermissionOutput() GetProjectsProjectPermissionOutput + ToGetProjectsProjectPermissionOutputWithContext(context.Context) GetProjectsProjectPermissionOutput +} + +type GetProjectsProjectPermissionArgs struct { + // Group access level. + GroupAccess pulumi.IntMapInput `pulumi:"groupAccess"` + // Project access level. + ProjectAccess pulumi.IntMapInput `pulumi:"projectAccess"` +} + +func (GetProjectsProjectPermissionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsProjectPermission)(nil)).Elem() +} + +func (i GetProjectsProjectPermissionArgs) ToGetProjectsProjectPermissionOutput() GetProjectsProjectPermissionOutput { + return i.ToGetProjectsProjectPermissionOutputWithContext(context.Background()) +} + +func (i GetProjectsProjectPermissionArgs) ToGetProjectsProjectPermissionOutputWithContext(ctx context.Context) GetProjectsProjectPermissionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectPermissionOutput) +} + +// GetProjectsProjectPermissionArrayInput is an input type that accepts GetProjectsProjectPermissionArray and GetProjectsProjectPermissionArrayOutput values. +// You can construct a concrete instance of `GetProjectsProjectPermissionArrayInput` via: +// +// GetProjectsProjectPermissionArray{ GetProjectsProjectPermissionArgs{...} } +type GetProjectsProjectPermissionArrayInput interface { + pulumi.Input + + ToGetProjectsProjectPermissionArrayOutput() GetProjectsProjectPermissionArrayOutput + ToGetProjectsProjectPermissionArrayOutputWithContext(context.Context) GetProjectsProjectPermissionArrayOutput +} + +type GetProjectsProjectPermissionArray []GetProjectsProjectPermissionInput + +func (GetProjectsProjectPermissionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectsProjectPermission)(nil)).Elem() +} + +func (i GetProjectsProjectPermissionArray) ToGetProjectsProjectPermissionArrayOutput() GetProjectsProjectPermissionArrayOutput { + return i.ToGetProjectsProjectPermissionArrayOutputWithContext(context.Background()) +} + +func (i GetProjectsProjectPermissionArray) ToGetProjectsProjectPermissionArrayOutputWithContext(ctx context.Context) GetProjectsProjectPermissionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectPermissionArrayOutput) +} + +type GetProjectsProjectPermissionOutput struct{ *pulumi.OutputState } + +func (GetProjectsProjectPermissionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsProjectPermission)(nil)).Elem() +} + +func (o GetProjectsProjectPermissionOutput) ToGetProjectsProjectPermissionOutput() GetProjectsProjectPermissionOutput { + return o +} + +func (o GetProjectsProjectPermissionOutput) ToGetProjectsProjectPermissionOutputWithContext(ctx context.Context) GetProjectsProjectPermissionOutput { + return o +} + +// Group access level. +func (o GetProjectsProjectPermissionOutput) GroupAccess() pulumi.IntMapOutput { + return o.ApplyT(func(v GetProjectsProjectPermission) map[string]int { return v.GroupAccess }).(pulumi.IntMapOutput) +} + +// Project access level. +func (o GetProjectsProjectPermissionOutput) ProjectAccess() pulumi.IntMapOutput { + return o.ApplyT(func(v GetProjectsProjectPermission) map[string]int { return v.ProjectAccess }).(pulumi.IntMapOutput) +} + +type GetProjectsProjectPermissionArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectsProjectPermissionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectsProjectPermission)(nil)).Elem() +} + +func (o GetProjectsProjectPermissionArrayOutput) ToGetProjectsProjectPermissionArrayOutput() GetProjectsProjectPermissionArrayOutput { + return o +} + +func (o GetProjectsProjectPermissionArrayOutput) ToGetProjectsProjectPermissionArrayOutputWithContext(ctx context.Context) GetProjectsProjectPermissionArrayOutput { + return o +} + +func (o GetProjectsProjectPermissionArrayOutput) Index(i pulumi.IntInput) GetProjectsProjectPermissionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectsProjectPermission { + return vs[0].([]GetProjectsProjectPermission)[vs[1].(int)] + }).(GetProjectsProjectPermissionOutput) +} + +type GetProjectsProjectSharedWithGroup struct { + // The group access level. + GroupAccessLevel string `pulumi:"groupAccessLevel"` + // The group ID. + GroupId int `pulumi:"groupId"` + // The group name. + GroupName string `pulumi:"groupName"` } -// Auto Deploy strategy. Valid values are `continuous`, `manual`, `timedIncremental`. -func (o GetProjectsProjectOutput) AutoDevopsDeployStrategy() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.AutoDevopsDeployStrategy }).(pulumi.StringOutput) -} +// GetProjectsProjectSharedWithGroupInput is an input type that accepts GetProjectsProjectSharedWithGroupArgs and GetProjectsProjectSharedWithGroupOutput values. +// You can construct a concrete instance of `GetProjectsProjectSharedWithGroupInput` via: +// +// GetProjectsProjectSharedWithGroupArgs{...} +type GetProjectsProjectSharedWithGroupInput interface { + pulumi.Input -// Enable Auto DevOps for this project. -func (o GetProjectsProjectOutput) AutoDevopsEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.AutoDevopsEnabled }).(pulumi.BoolOutput) + ToGetProjectsProjectSharedWithGroupOutput() GetProjectsProjectSharedWithGroupOutput + ToGetProjectsProjectSharedWithGroupOutputWithContext(context.Context) GetProjectsProjectSharedWithGroupOutput } -// Set whether auto-closing referenced issues on default branch. -func (o GetProjectsProjectOutput) AutocloseReferencedIssues() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.AutocloseReferencedIssues }).(pulumi.BoolOutput) +type GetProjectsProjectSharedWithGroupArgs struct { + // The group access level. + GroupAccessLevel pulumi.StringInput `pulumi:"groupAccessLevel"` + // The group ID. + GroupId pulumi.IntInput `pulumi:"groupId"` + // The group name. + GroupName pulumi.StringInput `pulumi:"groupName"` } -// The avatar url of the project. -func (o GetProjectsProjectOutput) AvatarUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.AvatarUrl }).(pulumi.StringOutput) +func (GetProjectsProjectSharedWithGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsProjectSharedWithGroup)(nil)).Elem() } -// Build coverage regex for the project. -func (o GetProjectsProjectOutput) BuildCoverageRegex() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.BuildCoverageRegex }).(pulumi.StringOutput) +func (i GetProjectsProjectSharedWithGroupArgs) ToGetProjectsProjectSharedWithGroupOutput() GetProjectsProjectSharedWithGroupOutput { + return i.ToGetProjectsProjectSharedWithGroupOutputWithContext(context.Background()) } -// The Git strategy. Defaults to fetch. -func (o GetProjectsProjectOutput) BuildGitStrategy() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.BuildGitStrategy }).(pulumi.StringOutput) +func (i GetProjectsProjectSharedWithGroupArgs) ToGetProjectsProjectSharedWithGroupOutputWithContext(ctx context.Context) GetProjectsProjectSharedWithGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectSharedWithGroupOutput) } -// The maximum amount of time, in seconds, that a job can run. -func (o GetProjectsProjectOutput) BuildTimeout() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectsProject) int { return v.BuildTimeout }).(pulumi.IntOutput) -} +// GetProjectsProjectSharedWithGroupArrayInput is an input type that accepts GetProjectsProjectSharedWithGroupArray and GetProjectsProjectSharedWithGroupArrayOutput values. +// You can construct a concrete instance of `GetProjectsProjectSharedWithGroupArrayInput` via: +// +// GetProjectsProjectSharedWithGroupArray{ GetProjectsProjectSharedWithGroupArgs{...} } +type GetProjectsProjectSharedWithGroupArrayInput interface { + pulumi.Input -// Set the builds access level. Valid values are `disabled`, `private`, `enabled`. -func (o GetProjectsProjectOutput) BuildsAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.BuildsAccessLevel }).(pulumi.StringOutput) + ToGetProjectsProjectSharedWithGroupArrayOutput() GetProjectsProjectSharedWithGroupArrayOutput + ToGetProjectsProjectSharedWithGroupArrayOutputWithContext(context.Context) GetProjectsProjectSharedWithGroupArrayOutput } -// CI config file path for the project. -func (o GetProjectsProjectOutput) CiConfigPath() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.CiConfigPath }).(pulumi.StringOutput) -} +type GetProjectsProjectSharedWithGroupArray []GetProjectsProjectSharedWithGroupInput -// Default number of revisions for shallow cloning. -func (o GetProjectsProjectOutput) CiDefaultGitDepth() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectsProject) int { return v.CiDefaultGitDepth }).(pulumi.IntOutput) +func (GetProjectsProjectSharedWithGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectsProjectSharedWithGroup)(nil)).Elem() } -// Pipelines older than the configured time are deleted. -func (o GetProjectsProjectOutput) CiDeletePipelinesInSeconds() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectsProject) int { return v.CiDeletePipelinesInSeconds }).(pulumi.IntOutput) +func (i GetProjectsProjectSharedWithGroupArray) ToGetProjectsProjectSharedWithGroupArrayOutput() GetProjectsProjectSharedWithGroupArrayOutput { + return i.ToGetProjectsProjectSharedWithGroupArrayOutputWithContext(context.Background()) } -// When a new deployment job starts, skip older deployment jobs that are still pending. -func (o GetProjectsProjectOutput) CiForwardDeploymentEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.CiForwardDeploymentEnabled }).(pulumi.BoolOutput) +func (i GetProjectsProjectSharedWithGroupArray) ToGetProjectsProjectSharedWithGroupArrayOutputWithContext(ctx context.Context) GetProjectsProjectSharedWithGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectSharedWithGroupArrayOutput) } -// Fields included in the sub claim of the ID Token. Accepts an array starting with project_path. The array might also include refType and ref. Defaults to ["projectPath", "refType", "ref"]. Introduced in GitLab 17.10. -func (o GetProjectsProjectOutput) CiIdTokenSubClaimComponents() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetProjectsProject) []string { return v.CiIdTokenSubClaimComponents }).(pulumi.StringArrayOutput) -} +type GetProjectsProjectSharedWithGroupOutput struct{ *pulumi.OutputState } -// The minimum role required to set variables when running pipelines and jobs. Introduced in GitLab 17.1. Valid values are `developer`, `maintainer`, `owner`, `noOneAllowed` -func (o GetProjectsProjectOutput) CiPipelineVariablesMinimumOverrideRole() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.CiPipelineVariablesMinimumOverrideRole }).(pulumi.StringOutput) +func (GetProjectsProjectSharedWithGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsProjectSharedWithGroup)(nil)).Elem() } -// The role required to cancel a pipeline or job. Premium and Ultimate only. Valid values are `developer`, `maintainer`, `no one` -func (o GetProjectsProjectOutput) CiRestrictPipelineCancellationRole() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.CiRestrictPipelineCancellationRole }).(pulumi.StringOutput) +func (o GetProjectsProjectSharedWithGroupOutput) ToGetProjectsProjectSharedWithGroupOutput() GetProjectsProjectSharedWithGroupOutput { + return o } -// Set the image cleanup policy for this project. **Note**: this field is sometimes named `containerExpirationPolicyAttributes` in the GitLab Upstream API. -func (o GetProjectsProjectOutput) ContainerExpirationPolicies() GetProjectsProjectContainerExpirationPolicyArrayOutput { - return o.ApplyT(func(v GetProjectsProject) []GetProjectsProjectContainerExpirationPolicy { - return v.ContainerExpirationPolicies - }).(GetProjectsProjectContainerExpirationPolicyArrayOutput) +func (o GetProjectsProjectSharedWithGroupOutput) ToGetProjectsProjectSharedWithGroupOutputWithContext(ctx context.Context) GetProjectsProjectSharedWithGroupOutput { + return o } -// Set visibility of container registry, for this project. Valid values are `disabled`, `private`, `enabled`. -func (o GetProjectsProjectOutput) ContainerRegistryAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.ContainerRegistryAccessLevel }).(pulumi.StringOutput) +// The group access level. +func (o GetProjectsProjectSharedWithGroupOutput) GroupAccessLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectSharedWithGroup) string { return v.GroupAccessLevel }).(pulumi.StringOutput) } -// Whether the container registry is enabled for the project. -func (o GetProjectsProjectOutput) ContainerRegistryEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.ContainerRegistryEnabled }).(pulumi.BoolOutput) +// The group ID. +func (o GetProjectsProjectSharedWithGroupOutput) GroupId() pulumi.IntOutput { + return o.ApplyT(func(v GetProjectsProjectSharedWithGroup) int { return v.GroupId }).(pulumi.IntOutput) } -// Creation time for the project. -func (o GetProjectsProjectOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.CreatedAt }).(pulumi.StringOutput) +// The group name. +func (o GetProjectsProjectSharedWithGroupOutput) GroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsProjectSharedWithGroup) string { return v.GroupName }).(pulumi.StringOutput) } -// Creator ID for the project. -func (o GetProjectsProjectOutput) CreatorId() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectsProject) int { return v.CreatorId }).(pulumi.IntOutput) -} +type GetProjectsProjectSharedWithGroupArrayOutput struct{ *pulumi.OutputState } -// Custom attributes for the project. -func (o GetProjectsProjectOutput) CustomAttributes() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v GetProjectsProject) []map[string]string { return v.CustomAttributes }).(pulumi.StringMapArrayOutput) +func (GetProjectsProjectSharedWithGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectsProjectSharedWithGroup)(nil)).Elem() } -// The default branch name of the project. -func (o GetProjectsProjectOutput) DefaultBranch() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.DefaultBranch }).(pulumi.StringOutput) +func (o GetProjectsProjectSharedWithGroupArrayOutput) ToGetProjectsProjectSharedWithGroupArrayOutput() GetProjectsProjectSharedWithGroupArrayOutput { + return o } -// The description of the project. -func (o GetProjectsProjectOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.Description }).(pulumi.StringOutput) +func (o GetProjectsProjectSharedWithGroupArrayOutput) ToGetProjectsProjectSharedWithGroupArrayOutputWithContext(ctx context.Context) GetProjectsProjectSharedWithGroupArrayOutput { + return o } -// Enable email notifications. -func (o GetProjectsProjectOutput) EmailsEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.EmailsEnabled }).(pulumi.BoolOutput) +func (o GetProjectsProjectSharedWithGroupArrayOutput) Index(i pulumi.IntInput) GetProjectsProjectSharedWithGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectsProjectSharedWithGroup { + return vs[0].([]GetProjectsProjectSharedWithGroup)[vs[1].(int)] + }).(GetProjectsProjectSharedWithGroupOutput) } -// Whether the project is empty. -func (o GetProjectsProjectOutput) EmptyRepo() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.EmptyRepo }).(pulumi.BoolOutput) +type GetReleaseAssets struct { + // The number of assets for a release + Count int `pulumi:"count"` + // The links for a release + Links []GetReleaseAssetsLink `pulumi:"links"` + // The sources for a release + Sources []GetReleaseAssetsSource `pulumi:"sources"` } -// Set the environments access level. Valid values are `disabled`, `private`, `enabled`. -func (o GetProjectsProjectOutput) EnvironmentsAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.EnvironmentsAccessLevel }).(pulumi.StringOutput) -} +// GetReleaseAssetsInput is an input type that accepts GetReleaseAssetsArgs and GetReleaseAssetsOutput values. +// You can construct a concrete instance of `GetReleaseAssetsInput` via: +// +// GetReleaseAssetsArgs{...} +type GetReleaseAssetsInput interface { + pulumi.Input -// The classification label for the project. -func (o GetProjectsProjectOutput) ExternalAuthorizationClassificationLabel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.ExternalAuthorizationClassificationLabel }).(pulumi.StringOutput) + ToGetReleaseAssetsOutput() GetReleaseAssetsOutput + ToGetReleaseAssetsOutputWithContext(context.Context) GetReleaseAssetsOutput } -// Set the feature flags access level. Valid values are `disabled`, `private`, `enabled`. -func (o GetProjectsProjectOutput) FeatureFlagsAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.FeatureFlagsAccessLevel }).(pulumi.StringOutput) +type GetReleaseAssetsArgs struct { + // The number of assets for a release + Count pulumi.IntInput `pulumi:"count"` + // The links for a release + Links GetReleaseAssetsLinkArrayInput `pulumi:"links"` + // The sources for a release + Sources GetReleaseAssetsSourceArrayInput `pulumi:"sources"` } -// Present if the project is a fork. Contains information about the upstream project. -func (o GetProjectsProjectOutput) ForkedFromProjects() GetProjectsProjectForkedFromProjectArrayOutput { - return o.ApplyT(func(v GetProjectsProject) []GetProjectsProjectForkedFromProject { return v.ForkedFromProjects }).(GetProjectsProjectForkedFromProjectArrayOutput) +func (GetReleaseAssetsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReleaseAssets)(nil)).Elem() } -// Set the forking access level. Valid values are `disabled`, `private`, `enabled`. -func (o GetProjectsProjectOutput) ForkingAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.ForkingAccessLevel }).(pulumi.StringOutput) +func (i GetReleaseAssetsArgs) ToGetReleaseAssetsOutput() GetReleaseAssetsOutput { + return i.ToGetReleaseAssetsOutputWithContext(context.Background()) } -// The number of forks of the project. -func (o GetProjectsProjectOutput) ForksCount() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectsProject) int { return v.ForksCount }).(pulumi.IntOutput) +func (i GetReleaseAssetsArgs) ToGetReleaseAssetsOutputWithContext(ctx context.Context) GetReleaseAssetsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReleaseAssetsOutput) } -// Whether group runners are enabled for the project. -func (o GetProjectsProjectOutput) GroupRunnersEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.GroupRunnersEnabled }).(pulumi.BoolOutput) +func (i GetReleaseAssetsArgs) ToGetReleaseAssetsPtrOutput() GetReleaseAssetsPtrOutput { + return i.ToGetReleaseAssetsPtrOutputWithContext(context.Background()) } -// The HTTP clone URL of the project. -func (o GetProjectsProjectOutput) HttpUrlToRepo() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.HttpUrlToRepo }).(pulumi.StringOutput) +func (i GetReleaseAssetsArgs) ToGetReleaseAssetsPtrOutputWithContext(ctx context.Context) GetReleaseAssetsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReleaseAssetsOutput).ToGetReleaseAssetsPtrOutputWithContext(ctx) } -// The ID of the project. -func (o GetProjectsProjectOutput) Id() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectsProject) int { return v.Id }).(pulumi.IntOutput) -} +// GetReleaseAssetsPtrInput is an input type that accepts GetReleaseAssetsArgs, GetReleaseAssetsPtr and GetReleaseAssetsPtrOutput values. +// You can construct a concrete instance of `GetReleaseAssetsPtrInput` via: +// +// GetReleaseAssetsArgs{...} +// +// or: +// +// nil +type GetReleaseAssetsPtrInput interface { + pulumi.Input -// The import error, if it exists, for the project. -func (o GetProjectsProjectOutput) ImportError() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.ImportError }).(pulumi.StringOutput) + ToGetReleaseAssetsPtrOutput() GetReleaseAssetsPtrOutput + ToGetReleaseAssetsPtrOutputWithContext(context.Context) GetReleaseAssetsPtrOutput } -// The import status of the project. -func (o GetProjectsProjectOutput) ImportStatus() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.ImportStatus }).(pulumi.StringOutput) -} +type getReleaseAssetsPtrType GetReleaseAssetsArgs -// URL the project was imported from. -func (o GetProjectsProjectOutput) ImportUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.ImportUrl }).(pulumi.StringOutput) +func GetReleaseAssetsPtr(v *GetReleaseAssetsArgs) GetReleaseAssetsPtrInput { + return (*getReleaseAssetsPtrType)(v) } -// Set the infrastructure access level. Valid values are `disabled`, `private`, `enabled`. -func (o GetProjectsProjectOutput) InfrastructureAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.InfrastructureAccessLevel }).(pulumi.StringOutput) +func (*getReleaseAssetsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetReleaseAssets)(nil)).Elem() } -// Set the issues access level. Valid values are `disabled`, `private`, `enabled`. -func (o GetProjectsProjectOutput) IssuesAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.IssuesAccessLevel }).(pulumi.StringOutput) +func (i *getReleaseAssetsPtrType) ToGetReleaseAssetsPtrOutput() GetReleaseAssetsPtrOutput { + return i.ToGetReleaseAssetsPtrOutputWithContext(context.Background()) } -// Whether issues are enabled for the project. -func (o GetProjectsProjectOutput) IssuesEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.IssuesEnabled }).(pulumi.BoolOutput) +func (i *getReleaseAssetsPtrType) ToGetReleaseAssetsPtrOutputWithContext(ctx context.Context) GetReleaseAssetsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReleaseAssetsPtrOutput) } -// Whether pipelines are enabled for the project. -func (o GetProjectsProjectOutput) JobsEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.JobsEnabled }).(pulumi.BoolOutput) -} +type GetReleaseAssetsOutput struct{ *pulumi.OutputState } -// Disable or enable the ability to keep the latest artifact for this project. -func (o GetProjectsProjectOutput) KeepLatestArtifact() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.KeepLatestArtifact }).(pulumi.BoolOutput) +func (GetReleaseAssetsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReleaseAssets)(nil)).Elem() } -// Last activirty time for the project. -func (o GetProjectsProjectOutput) LastActivityAt() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.LastActivityAt }).(pulumi.StringOutput) +func (o GetReleaseAssetsOutput) ToGetReleaseAssetsOutput() GetReleaseAssetsOutput { + return o } -// Whether LFS (large file storage) is enabled for the project. -func (o GetProjectsProjectOutput) LfsEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.LfsEnabled }).(pulumi.BoolOutput) +func (o GetReleaseAssetsOutput) ToGetReleaseAssetsOutputWithContext(ctx context.Context) GetReleaseAssetsOutput { + return o } -// Template used to create merge commit message in merge requests. -func (o GetProjectsProjectOutput) MergeCommitTemplate() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.MergeCommitTemplate }).(pulumi.StringOutput) +func (o GetReleaseAssetsOutput) ToGetReleaseAssetsPtrOutput() GetReleaseAssetsPtrOutput { + return o.ToGetReleaseAssetsPtrOutputWithContext(context.Background()) } -// Merge method for the project. -func (o GetProjectsProjectOutput) MergeMethod() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.MergeMethod }).(pulumi.StringOutput) +func (o GetReleaseAssetsOutput) ToGetReleaseAssetsPtrOutputWithContext(ctx context.Context) GetReleaseAssetsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetReleaseAssets) *GetReleaseAssets { + return &v + }).(GetReleaseAssetsPtrOutput) } -// Enable or disable merge pipelines. -func (o GetProjectsProjectOutput) MergePipelinesEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.MergePipelinesEnabled }).(pulumi.BoolOutput) +// The number of assets for a release +func (o GetReleaseAssetsOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetReleaseAssets) int { return v.Count }).(pulumi.IntOutput) } -// Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`. -func (o GetProjectsProjectOutput) MergeRequestsAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.MergeRequestsAccessLevel }).(pulumi.StringOutput) +// The links for a release +func (o GetReleaseAssetsOutput) Links() GetReleaseAssetsLinkArrayOutput { + return o.ApplyT(func(v GetReleaseAssets) []GetReleaseAssetsLink { return v.Links }).(GetReleaseAssetsLinkArrayOutput) } -// Whether merge requests are enabled for the project. -func (o GetProjectsProjectOutput) MergeRequestsEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.MergeRequestsEnabled }).(pulumi.BoolOutput) +// The sources for a release +func (o GetReleaseAssetsOutput) Sources() GetReleaseAssetsSourceArrayOutput { + return o.ApplyT(func(v GetReleaseAssets) []GetReleaseAssetsSource { return v.Sources }).(GetReleaseAssetsSourceArrayOutput) } -// Enable or disable merge trains. -func (o GetProjectsProjectOutput) MergeTrainsEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.MergeTrainsEnabled }).(pulumi.BoolOutput) -} +type GetReleaseAssetsPtrOutput struct{ *pulumi.OutputState } -// Whether the pull mirroring is enabled for the project. -func (o GetProjectsProjectOutput) Mirror() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.Mirror }).(pulumi.BoolOutput) +func (GetReleaseAssetsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetReleaseAssets)(nil)).Elem() } -// Whether mirrorOverwritesDivergedBranches is enabled for the project. -func (o GetProjectsProjectOutput) MirrorOverwritesDivergedBranches() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.MirrorOverwritesDivergedBranches }).(pulumi.BoolOutput) +func (o GetReleaseAssetsPtrOutput) ToGetReleaseAssetsPtrOutput() GetReleaseAssetsPtrOutput { + return o } -// Whether pull mirroring triggers builds for the project. -func (o GetProjectsProjectOutput) MirrorTriggerBuilds() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.MirrorTriggerBuilds }).(pulumi.BoolOutput) +func (o GetReleaseAssetsPtrOutput) ToGetReleaseAssetsPtrOutputWithContext(ctx context.Context) GetReleaseAssetsPtrOutput { + return o } -// The mirror user ID for the project. -func (o GetProjectsProjectOutput) MirrorUserId() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectsProject) int { return v.MirrorUserId }).(pulumi.IntOutput) +func (o GetReleaseAssetsPtrOutput) Elem() GetReleaseAssetsOutput { + return o.ApplyT(func(v *GetReleaseAssets) GetReleaseAssets { + if v != nil { + return *v + } + var ret GetReleaseAssets + return ret + }).(GetReleaseAssetsOutput) } -// The visibility of machine learning model experiments. -func (o GetProjectsProjectOutput) ModelExperimentsAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.ModelExperimentsAccessLevel }).(pulumi.StringOutput) +// The number of assets for a release +func (o GetReleaseAssetsPtrOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GetReleaseAssets) *int { + if v == nil { + return nil + } + return &v.Count + }).(pulumi.IntPtrOutput) } -// The visibility of machine learning model registry. -func (o GetProjectsProjectOutput) ModelRegistryAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.ModelRegistryAccessLevel }).(pulumi.StringOutput) +// The links for a release +func (o GetReleaseAssetsPtrOutput) Links() GetReleaseAssetsLinkArrayOutput { + return o.ApplyT(func(v *GetReleaseAssets) []GetReleaseAssetsLink { + if v == nil { + return nil + } + return v.Links + }).(GetReleaseAssetsLinkArrayOutput) } -// Set the monitor access level. Valid values are `disabled`, `private`, `enabled`. -func (o GetProjectsProjectOutput) MonitorAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.MonitorAccessLevel }).(pulumi.StringOutput) +// The sources for a release +func (o GetReleaseAssetsPtrOutput) Sources() GetReleaseAssetsSourceArrayOutput { + return o.ApplyT(func(v *GetReleaseAssets) []GetReleaseAssetsSource { + if v == nil { + return nil + } + return v.Sources + }).(GetReleaseAssetsSourceArrayOutput) } -// The name of the project. -func (o GetProjectsProjectOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.Name }).(pulumi.StringOutput) +type GetReleaseAssetsLink struct { + // The ID of the link + Id int `pulumi:"id"` + // The type of the link + LinkType string `pulumi:"linkType"` + // The name of the link + Name string `pulumi:"name"` + // The URL of the link + Url string `pulumi:"url"` } -// In `group / subgroup / project` or `user / project` format. -func (o GetProjectsProjectOutput) NameWithNamespace() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.NameWithNamespace }).(pulumi.StringOutput) +// GetReleaseAssetsLinkInput is an input type that accepts GetReleaseAssetsLinkArgs and GetReleaseAssetsLinkOutput values. +// You can construct a concrete instance of `GetReleaseAssetsLinkInput` via: +// +// GetReleaseAssetsLinkArgs{...} +type GetReleaseAssetsLinkInput interface { + pulumi.Input + + ToGetReleaseAssetsLinkOutput() GetReleaseAssetsLinkOutput + ToGetReleaseAssetsLinkOutputWithContext(context.Context) GetReleaseAssetsLinkOutput } -// Namespace of the project (parent group/s). -func (o GetProjectsProjectOutput) Namespaces() GetProjectsProjectNamespaceArrayOutput { - return o.ApplyT(func(v GetProjectsProject) []GetProjectsProjectNamespace { return v.Namespaces }).(GetProjectsProjectNamespaceArrayOutput) +type GetReleaseAssetsLinkArgs struct { + // The ID of the link + Id pulumi.IntInput `pulumi:"id"` + // The type of the link + LinkType pulumi.StringInput `pulumi:"linkType"` + // The name of the link + Name pulumi.StringInput `pulumi:"name"` + // The URL of the link + Url pulumi.StringInput `pulumi:"url"` } -// Whether onlyAllowMergeIfAllDiscussionsAreResolved is enabled for the project. -func (o GetProjectsProjectOutput) OnlyAllowMergeIfAllDiscussionsAreResolved() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.OnlyAllowMergeIfAllDiscussionsAreResolved }).(pulumi.BoolOutput) +func (GetReleaseAssetsLinkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReleaseAssetsLink)(nil)).Elem() } -// Whether onlyAllowMergeIfPipelineSucceeds is enabled for the project. -func (o GetProjectsProjectOutput) OnlyAllowMergeIfPipelineSucceeds() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.OnlyAllowMergeIfPipelineSucceeds }).(pulumi.BoolOutput) +func (i GetReleaseAssetsLinkArgs) ToGetReleaseAssetsLinkOutput() GetReleaseAssetsLinkOutput { + return i.ToGetReleaseAssetsLinkOutputWithContext(context.Background()) } -// Whether onlyMirrorProtectedBranches is enabled for the project. -func (o GetProjectsProjectOutput) OnlyMirrorProtectedBranches() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.OnlyMirrorProtectedBranches }).(pulumi.BoolOutput) +func (i GetReleaseAssetsLinkArgs) ToGetReleaseAssetsLinkOutputWithContext(ctx context.Context) GetReleaseAssetsLinkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReleaseAssetsLinkOutput) } -// The number of open issies for the project. -func (o GetProjectsProjectOutput) OpenIssuesCount() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectsProject) int { return v.OpenIssuesCount }).(pulumi.IntOutput) +// GetReleaseAssetsLinkArrayInput is an input type that accepts GetReleaseAssetsLinkArray and GetReleaseAssetsLinkArrayOutput values. +// You can construct a concrete instance of `GetReleaseAssetsLinkArrayInput` via: +// +// GetReleaseAssetsLinkArray{ GetReleaseAssetsLinkArgs{...} } +type GetReleaseAssetsLinkArrayInput interface { + pulumi.Input + + ToGetReleaseAssetsLinkArrayOutput() GetReleaseAssetsLinkArrayOutput + ToGetReleaseAssetsLinkArrayOutputWithContext(context.Context) GetReleaseAssetsLinkArrayOutput } -func (o GetProjectsProjectOutput) Owners() GetProjectsProjectOwnerArrayOutput { - return o.ApplyT(func(v GetProjectsProject) []GetProjectsProjectOwner { return v.Owners }).(GetProjectsProjectOwnerArrayOutput) +type GetReleaseAssetsLinkArray []GetReleaseAssetsLinkInput + +func (GetReleaseAssetsLinkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReleaseAssetsLink)(nil)).Elem() } -// Whether packages are enabled for the project. -func (o GetProjectsProjectOutput) PackagesEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.PackagesEnabled }).(pulumi.BoolOutput) +func (i GetReleaseAssetsLinkArray) ToGetReleaseAssetsLinkArrayOutput() GetReleaseAssetsLinkArrayOutput { + return i.ToGetReleaseAssetsLinkArrayOutputWithContext(context.Background()) } -// The path of the project. -func (o GetProjectsProjectOutput) Path() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.Path }).(pulumi.StringOutput) +func (i GetReleaseAssetsLinkArray) ToGetReleaseAssetsLinkArrayOutputWithContext(ctx context.Context) GetReleaseAssetsLinkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReleaseAssetsLinkArrayOutput) } -// In `group/subgroup/project` or `user/project` format. -func (o GetProjectsProjectOutput) PathWithNamespace() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.PathWithNamespace }).(pulumi.StringOutput) +type GetReleaseAssetsLinkOutput struct{ *pulumi.OutputState } + +func (GetReleaseAssetsLinkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReleaseAssetsLink)(nil)).Elem() } -// Permissions for the project. -func (o GetProjectsProjectOutput) Permissions() GetProjectsProjectPermissionArrayOutput { - return o.ApplyT(func(v GetProjectsProject) []GetProjectsProjectPermission { return v.Permissions }).(GetProjectsProjectPermissionArrayOutput) +func (o GetReleaseAssetsLinkOutput) ToGetReleaseAssetsLinkOutput() GetReleaseAssetsLinkOutput { + return o } -// Whether merge requests require an associated issue from Jira. Premium and Ultimate only. -func (o GetProjectsProjectOutput) PreventMergeWithoutJiraIssue() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.PreventMergeWithoutJiraIssue }).(pulumi.BoolOutput) +func (o GetReleaseAssetsLinkOutput) ToGetReleaseAssetsLinkOutputWithContext(ctx context.Context) GetReleaseAssetsLinkOutput { + return o } -// Whether public builds are enabled for the project. -func (o GetProjectsProjectOutput) PublicBuilds() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.PublicBuilds }).(pulumi.BoolOutput) +// The ID of the link +func (o GetReleaseAssetsLinkOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetReleaseAssetsLink) int { return v.Id }).(pulumi.IntOutput) } -// The remote url of the project. -func (o GetProjectsProjectOutput) ReadmeUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.ReadmeUrl }).(pulumi.StringOutput) +// The type of the link +func (o GetReleaseAssetsLinkOutput) LinkType() pulumi.StringOutput { + return o.ApplyT(func(v GetReleaseAssetsLink) string { return v.LinkType }).(pulumi.StringOutput) } -// Set the releases access level. Valid values are `disabled`, `private`, `enabled`. -func (o GetProjectsProjectOutput) ReleasesAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.ReleasesAccessLevel }).(pulumi.StringOutput) +// The name of the link +func (o GetReleaseAssetsLinkOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetReleaseAssetsLink) string { return v.Name }).(pulumi.StringOutput) } -// Set the repository access level. Valid values are `disabled`, `private`, `enabled`. -func (o GetProjectsProjectOutput) RepositoryAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.RepositoryAccessLevel }).(pulumi.StringOutput) +// The URL of the link +func (o GetReleaseAssetsLinkOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v GetReleaseAssetsLink) string { return v.Url }).(pulumi.StringOutput) } -// Which storage shard the repository is on. (administrator only) -func (o GetProjectsProjectOutput) RepositoryStorage() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.RepositoryStorage }).(pulumi.StringOutput) +type GetReleaseAssetsLinkArrayOutput struct{ *pulumi.OutputState } + +func (GetReleaseAssetsLinkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReleaseAssetsLink)(nil)).Elem() } -// Whether requesting access is enabled for the project. -func (o GetProjectsProjectOutput) RequestAccessEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.RequestAccessEnabled }).(pulumi.BoolOutput) +func (o GetReleaseAssetsLinkArrayOutput) ToGetReleaseAssetsLinkArrayOutput() GetReleaseAssetsLinkArrayOutput { + return o } -// Set the requirements access level. Valid values are `disabled`, `private`, `enabled`. -func (o GetProjectsProjectOutput) RequirementsAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.RequirementsAccessLevel }).(pulumi.StringOutput) +func (o GetReleaseAssetsLinkArrayOutput) ToGetReleaseAssetsLinkArrayOutputWithContext(ctx context.Context) GetReleaseAssetsLinkArrayOutput { + return o } -// Whether resolveOutdatedDiffDiscussions is enabled for the project -func (o GetProjectsProjectOutput) ResolveOutdatedDiffDiscussions() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.ResolveOutdatedDiffDiscussions }).(pulumi.BoolOutput) +func (o GetReleaseAssetsLinkArrayOutput) Index(i pulumi.IntInput) GetReleaseAssetsLinkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReleaseAssetsLink { + return vs[0].([]GetReleaseAssetsLink)[vs[1].(int)] + }).(GetReleaseAssetsLinkOutput) } -// Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline. -func (o GetProjectsProjectOutput) RestrictUserDefinedVariables() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.RestrictUserDefinedVariables }).(pulumi.BoolOutput) +type GetReleaseAssetsSource struct { + // The format of the source + Format string `pulumi:"format"` + // The URL of the source + Url string `pulumi:"url"` } -// The runners token for the project. -func (o GetProjectsProjectOutput) RunnersToken() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.RunnersToken }).(pulumi.StringOutput) -} +// GetReleaseAssetsSourceInput is an input type that accepts GetReleaseAssetsSourceArgs and GetReleaseAssetsSourceOutput values. +// You can construct a concrete instance of `GetReleaseAssetsSourceInput` via: +// +// GetReleaseAssetsSourceArgs{...} +type GetReleaseAssetsSourceInput interface { + pulumi.Input -// Set the security and compliance access level. Valid values are `disabled`, `private`, `enabled`. -func (o GetProjectsProjectOutput) SecurityAndComplianceAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.SecurityAndComplianceAccessLevel }).(pulumi.StringOutput) + ToGetReleaseAssetsSourceOutput() GetReleaseAssetsSourceOutput + ToGetReleaseAssetsSourceOutputWithContext(context.Context) GetReleaseAssetsSourceOutput } -// Whether shared runners are enabled for the project. -func (o GetProjectsProjectOutput) SharedRunnersEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.SharedRunnersEnabled }).(pulumi.BoolOutput) +type GetReleaseAssetsSourceArgs struct { + // The format of the source + Format pulumi.StringInput `pulumi:"format"` + // The URL of the source + Url pulumi.StringInput `pulumi:"url"` } -// Groups the the project is shared with. -func (o GetProjectsProjectOutput) SharedWithGroups() GetProjectsProjectSharedWithGroupArrayOutput { - return o.ApplyT(func(v GetProjectsProject) []GetProjectsProjectSharedWithGroup { return v.SharedWithGroups }).(GetProjectsProjectSharedWithGroupArrayOutput) +func (GetReleaseAssetsSourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReleaseAssetsSource)(nil)).Elem() } -// Set the snippets access level. Valid values are `disabled`, `private`, `enabled`. -func (o GetProjectsProjectOutput) SnippetsAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.SnippetsAccessLevel }).(pulumi.StringOutput) +func (i GetReleaseAssetsSourceArgs) ToGetReleaseAssetsSourceOutput() GetReleaseAssetsSourceOutput { + return i.ToGetReleaseAssetsSourceOutputWithContext(context.Background()) } -// Whether snippets are enabled for the project. -func (o GetProjectsProjectOutput) SnippetsEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.SnippetsEnabled }).(pulumi.BoolOutput) +func (i GetReleaseAssetsSourceArgs) ToGetReleaseAssetsSourceOutputWithContext(ctx context.Context) GetReleaseAssetsSourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReleaseAssetsSourceOutput) } -// Template used to create squash commit message in merge requests. -func (o GetProjectsProjectOutput) SquashCommitTemplate() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.SquashCommitTemplate }).(pulumi.StringOutput) -} +// GetReleaseAssetsSourceArrayInput is an input type that accepts GetReleaseAssetsSourceArray and GetReleaseAssetsSourceArrayOutput values. +// You can construct a concrete instance of `GetReleaseAssetsSourceArrayInput` via: +// +// GetReleaseAssetsSourceArray{ GetReleaseAssetsSourceArgs{...} } +type GetReleaseAssetsSourceArrayInput interface { + pulumi.Input -// The SSH clone URL of the project. -func (o GetProjectsProjectOutput) SshUrlToRepo() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.SshUrlToRepo }).(pulumi.StringOutput) + ToGetReleaseAssetsSourceArrayOutput() GetReleaseAssetsSourceArrayOutput + ToGetReleaseAssetsSourceArrayOutputWithContext(context.Context) GetReleaseAssetsSourceArrayOutput } -// The number of stars on the project. -func (o GetProjectsProjectOutput) StarCount() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectsProject) int { return v.StarCount }).(pulumi.IntOutput) -} +type GetReleaseAssetsSourceArray []GetReleaseAssetsSourceInput -// Statistics for the project. -func (o GetProjectsProjectOutput) Statistics() pulumi.IntMapOutput { - return o.ApplyT(func(v GetProjectsProject) map[string]int { return v.Statistics }).(pulumi.IntMapOutput) +func (GetReleaseAssetsSourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReleaseAssetsSource)(nil)).Elem() } -// The commit message used to apply merge request suggestions. -func (o GetProjectsProjectOutput) SuggestionCommitMessage() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.SuggestionCommitMessage }).(pulumi.StringOutput) +func (i GetReleaseAssetsSourceArray) ToGetReleaseAssetsSourceArrayOutput() GetReleaseAssetsSourceArrayOutput { + return i.ToGetReleaseAssetsSourceArrayOutputWithContext(context.Background()) } -// A set of the project topics (formerly called "project tags"). -func (o GetProjectsProjectOutput) TagLists() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetProjectsProject) []string { return v.TagLists }).(pulumi.StringArrayOutput) +func (i GetReleaseAssetsSourceArray) ToGetReleaseAssetsSourceArrayOutputWithContext(ctx context.Context) GetReleaseAssetsSourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReleaseAssetsSourceArrayOutput) } -// The list of topics for the project. -func (o GetProjectsProjectOutput) Topics() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetProjectsProject) []string { return v.Topics }).(pulumi.StringArrayOutput) +type GetReleaseAssetsSourceOutput struct{ *pulumi.OutputState } + +func (GetReleaseAssetsSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReleaseAssetsSource)(nil)).Elem() } -// The visibility of the project. -func (o GetProjectsProjectOutput) Visibility() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.Visibility }).(pulumi.StringOutput) +func (o GetReleaseAssetsSourceOutput) ToGetReleaseAssetsSourceOutput() GetReleaseAssetsSourceOutput { + return o } -// The web url of the project. -func (o GetProjectsProjectOutput) WebUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.WebUrl }).(pulumi.StringOutput) +func (o GetReleaseAssetsSourceOutput) ToGetReleaseAssetsSourceOutputWithContext(ctx context.Context) GetReleaseAssetsSourceOutput { + return o } -// Set the wiki access level. Valid values are `disabled`, `private`, `enabled`. -func (o GetProjectsProjectOutput) WikiAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProject) string { return v.WikiAccessLevel }).(pulumi.StringOutput) +// The format of the source +func (o GetReleaseAssetsSourceOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v GetReleaseAssetsSource) string { return v.Format }).(pulumi.StringOutput) } -// Whether wiki is enabled for the project. -func (o GetProjectsProjectOutput) WikiEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.WikiEnabled }).(pulumi.BoolOutput) +// The URL of the source +func (o GetReleaseAssetsSourceOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v GetReleaseAssetsSource) string { return v.Url }).(pulumi.StringOutput) } -type GetProjectsProjectArrayOutput struct{ *pulumi.OutputState } +type GetReleaseAssetsSourceArrayOutput struct{ *pulumi.OutputState } -func (GetProjectsProjectArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectsProject)(nil)).Elem() +func (GetReleaseAssetsSourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReleaseAssetsSource)(nil)).Elem() } -func (o GetProjectsProjectArrayOutput) ToGetProjectsProjectArrayOutput() GetProjectsProjectArrayOutput { +func (o GetReleaseAssetsSourceArrayOutput) ToGetReleaseAssetsSourceArrayOutput() GetReleaseAssetsSourceArrayOutput { return o } -func (o GetProjectsProjectArrayOutput) ToGetProjectsProjectArrayOutputWithContext(ctx context.Context) GetProjectsProjectArrayOutput { +func (o GetReleaseAssetsSourceArrayOutput) ToGetReleaseAssetsSourceArrayOutputWithContext(ctx context.Context) GetReleaseAssetsSourceArrayOutput { return o } -func (o GetProjectsProjectArrayOutput) Index(i pulumi.IntInput) GetProjectsProjectOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectsProject { - return vs[0].([]GetProjectsProject)[vs[1].(int)] - }).(GetProjectsProjectOutput) +func (o GetReleaseAssetsSourceArrayOutput) Index(i pulumi.IntInput) GetReleaseAssetsSourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReleaseAssetsSource { + return vs[0].([]GetReleaseAssetsSource)[vs[1].(int)] + }).(GetReleaseAssetsSourceOutput) } -type GetProjectsProjectContainerExpirationPolicy struct { - // The cadence of the policy. Valid values are: `1d`, `7d`, `14d`, `1month`, `3month`. - Cadence string `pulumi:"cadence"` - // If true, the policy is enabled. - Enabled bool `pulumi:"enabled"` - // The number of images to keep. - KeepN int `pulumi:"keepN"` - // The regular expression to match image names to delete. - // - // Deprecated: `nameRegex` has been deprecated. Use `nameRegexDelete` instead. - NameRegex string `pulumi:"nameRegex"` - // The regular expression to match image names to delete. - NameRegexDelete string `pulumi:"nameRegexDelete"` - // The regular expression to match image names to keep. - NameRegexKeep string `pulumi:"nameRegexKeep"` - // The next time the policy will run. - NextRunAt string `pulumi:"nextRunAt"` - // The number of days to keep images. - OlderThan string `pulumi:"olderThan"` +type GetReleaseLinksReleaseLink struct { + // Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). + DirectAssetUrl string `pulumi:"directAssetUrl"` + // External or internal link. + External bool `pulumi:"external"` + // Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). + Filepath string `pulumi:"filepath"` + // The ID of the link. + LinkId int `pulumi:"linkId"` + // The type of the link. Valid values are `other`, `runbook`, `image`, `package`. + LinkType string `pulumi:"linkType"` + // The name of the link. Link names must be unique within the release. + Name string `pulumi:"name"` + // The ID or Namespace path of the project. + Project string `pulumi:"project"` + // The tag associated with the Release. + TagName string `pulumi:"tagName"` + // The URL of the link. Link URLs must be unique within the release. + Url string `pulumi:"url"` } -// GetProjectsProjectContainerExpirationPolicyInput is an input type that accepts GetProjectsProjectContainerExpirationPolicyArgs and GetProjectsProjectContainerExpirationPolicyOutput values. -// You can construct a concrete instance of `GetProjectsProjectContainerExpirationPolicyInput` via: +// GetReleaseLinksReleaseLinkInput is an input type that accepts GetReleaseLinksReleaseLinkArgs and GetReleaseLinksReleaseLinkOutput values. +// You can construct a concrete instance of `GetReleaseLinksReleaseLinkInput` via: // -// GetProjectsProjectContainerExpirationPolicyArgs{...} -type GetProjectsProjectContainerExpirationPolicyInput interface { +// GetReleaseLinksReleaseLinkArgs{...} +type GetReleaseLinksReleaseLinkInput interface { pulumi.Input - ToGetProjectsProjectContainerExpirationPolicyOutput() GetProjectsProjectContainerExpirationPolicyOutput - ToGetProjectsProjectContainerExpirationPolicyOutputWithContext(context.Context) GetProjectsProjectContainerExpirationPolicyOutput + ToGetReleaseLinksReleaseLinkOutput() GetReleaseLinksReleaseLinkOutput + ToGetReleaseLinksReleaseLinkOutputWithContext(context.Context) GetReleaseLinksReleaseLinkOutput } -type GetProjectsProjectContainerExpirationPolicyArgs struct { - // The cadence of the policy. Valid values are: `1d`, `7d`, `14d`, `1month`, `3month`. - Cadence pulumi.StringInput `pulumi:"cadence"` - // If true, the policy is enabled. - Enabled pulumi.BoolInput `pulumi:"enabled"` - // The number of images to keep. - KeepN pulumi.IntInput `pulumi:"keepN"` - // The regular expression to match image names to delete. - // - // Deprecated: `nameRegex` has been deprecated. Use `nameRegexDelete` instead. - NameRegex pulumi.StringInput `pulumi:"nameRegex"` - // The regular expression to match image names to delete. - NameRegexDelete pulumi.StringInput `pulumi:"nameRegexDelete"` - // The regular expression to match image names to keep. - NameRegexKeep pulumi.StringInput `pulumi:"nameRegexKeep"` - // The next time the policy will run. - NextRunAt pulumi.StringInput `pulumi:"nextRunAt"` - // The number of days to keep images. - OlderThan pulumi.StringInput `pulumi:"olderThan"` +type GetReleaseLinksReleaseLinkArgs struct { + // Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). + DirectAssetUrl pulumi.StringInput `pulumi:"directAssetUrl"` + // External or internal link. + External pulumi.BoolInput `pulumi:"external"` + // Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). + Filepath pulumi.StringInput `pulumi:"filepath"` + // The ID of the link. + LinkId pulumi.IntInput `pulumi:"linkId"` + // The type of the link. Valid values are `other`, `runbook`, `image`, `package`. + LinkType pulumi.StringInput `pulumi:"linkType"` + // The name of the link. Link names must be unique within the release. + Name pulumi.StringInput `pulumi:"name"` + // The ID or Namespace path of the project. + Project pulumi.StringInput `pulumi:"project"` + // The tag associated with the Release. + TagName pulumi.StringInput `pulumi:"tagName"` + // The URL of the link. Link URLs must be unique within the release. + Url pulumi.StringInput `pulumi:"url"` } -func (GetProjectsProjectContainerExpirationPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectsProjectContainerExpirationPolicy)(nil)).Elem() +func (GetReleaseLinksReleaseLinkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReleaseLinksReleaseLink)(nil)).Elem() } -func (i GetProjectsProjectContainerExpirationPolicyArgs) ToGetProjectsProjectContainerExpirationPolicyOutput() GetProjectsProjectContainerExpirationPolicyOutput { - return i.ToGetProjectsProjectContainerExpirationPolicyOutputWithContext(context.Background()) +func (i GetReleaseLinksReleaseLinkArgs) ToGetReleaseLinksReleaseLinkOutput() GetReleaseLinksReleaseLinkOutput { + return i.ToGetReleaseLinksReleaseLinkOutputWithContext(context.Background()) } -func (i GetProjectsProjectContainerExpirationPolicyArgs) ToGetProjectsProjectContainerExpirationPolicyOutputWithContext(ctx context.Context) GetProjectsProjectContainerExpirationPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectContainerExpirationPolicyOutput) +func (i GetReleaseLinksReleaseLinkArgs) ToGetReleaseLinksReleaseLinkOutputWithContext(ctx context.Context) GetReleaseLinksReleaseLinkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReleaseLinksReleaseLinkOutput) } -// GetProjectsProjectContainerExpirationPolicyArrayInput is an input type that accepts GetProjectsProjectContainerExpirationPolicyArray and GetProjectsProjectContainerExpirationPolicyArrayOutput values. -// You can construct a concrete instance of `GetProjectsProjectContainerExpirationPolicyArrayInput` via: +// GetReleaseLinksReleaseLinkArrayInput is an input type that accepts GetReleaseLinksReleaseLinkArray and GetReleaseLinksReleaseLinkArrayOutput values. +// You can construct a concrete instance of `GetReleaseLinksReleaseLinkArrayInput` via: // -// GetProjectsProjectContainerExpirationPolicyArray{ GetProjectsProjectContainerExpirationPolicyArgs{...} } -type GetProjectsProjectContainerExpirationPolicyArrayInput interface { +// GetReleaseLinksReleaseLinkArray{ GetReleaseLinksReleaseLinkArgs{...} } +type GetReleaseLinksReleaseLinkArrayInput interface { pulumi.Input - ToGetProjectsProjectContainerExpirationPolicyArrayOutput() GetProjectsProjectContainerExpirationPolicyArrayOutput - ToGetProjectsProjectContainerExpirationPolicyArrayOutputWithContext(context.Context) GetProjectsProjectContainerExpirationPolicyArrayOutput + ToGetReleaseLinksReleaseLinkArrayOutput() GetReleaseLinksReleaseLinkArrayOutput + ToGetReleaseLinksReleaseLinkArrayOutputWithContext(context.Context) GetReleaseLinksReleaseLinkArrayOutput } -type GetProjectsProjectContainerExpirationPolicyArray []GetProjectsProjectContainerExpirationPolicyInput +type GetReleaseLinksReleaseLinkArray []GetReleaseLinksReleaseLinkInput -func (GetProjectsProjectContainerExpirationPolicyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectsProjectContainerExpirationPolicy)(nil)).Elem() +func (GetReleaseLinksReleaseLinkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReleaseLinksReleaseLink)(nil)).Elem() } -func (i GetProjectsProjectContainerExpirationPolicyArray) ToGetProjectsProjectContainerExpirationPolicyArrayOutput() GetProjectsProjectContainerExpirationPolicyArrayOutput { - return i.ToGetProjectsProjectContainerExpirationPolicyArrayOutputWithContext(context.Background()) +func (i GetReleaseLinksReleaseLinkArray) ToGetReleaseLinksReleaseLinkArrayOutput() GetReleaseLinksReleaseLinkArrayOutput { + return i.ToGetReleaseLinksReleaseLinkArrayOutputWithContext(context.Background()) } -func (i GetProjectsProjectContainerExpirationPolicyArray) ToGetProjectsProjectContainerExpirationPolicyArrayOutputWithContext(ctx context.Context) GetProjectsProjectContainerExpirationPolicyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectContainerExpirationPolicyArrayOutput) +func (i GetReleaseLinksReleaseLinkArray) ToGetReleaseLinksReleaseLinkArrayOutputWithContext(ctx context.Context) GetReleaseLinksReleaseLinkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReleaseLinksReleaseLinkArrayOutput) } -type GetProjectsProjectContainerExpirationPolicyOutput struct{ *pulumi.OutputState } +type GetReleaseLinksReleaseLinkOutput struct{ *pulumi.OutputState } -func (GetProjectsProjectContainerExpirationPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectsProjectContainerExpirationPolicy)(nil)).Elem() +func (GetReleaseLinksReleaseLinkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReleaseLinksReleaseLink)(nil)).Elem() } -func (o GetProjectsProjectContainerExpirationPolicyOutput) ToGetProjectsProjectContainerExpirationPolicyOutput() GetProjectsProjectContainerExpirationPolicyOutput { +func (o GetReleaseLinksReleaseLinkOutput) ToGetReleaseLinksReleaseLinkOutput() GetReleaseLinksReleaseLinkOutput { return o } -func (o GetProjectsProjectContainerExpirationPolicyOutput) ToGetProjectsProjectContainerExpirationPolicyOutputWithContext(ctx context.Context) GetProjectsProjectContainerExpirationPolicyOutput { +func (o GetReleaseLinksReleaseLinkOutput) ToGetReleaseLinksReleaseLinkOutputWithContext(ctx context.Context) GetReleaseLinksReleaseLinkOutput { return o } -// The cadence of the policy. Valid values are: `1d`, `7d`, `14d`, `1month`, `3month`. -func (o GetProjectsProjectContainerExpirationPolicyOutput) Cadence() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectContainerExpirationPolicy) string { return v.Cadence }).(pulumi.StringOutput) +// Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). +func (o GetReleaseLinksReleaseLinkOutput) DirectAssetUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetReleaseLinksReleaseLink) string { return v.DirectAssetUrl }).(pulumi.StringOutput) } -// If true, the policy is enabled. -func (o GetProjectsProjectContainerExpirationPolicyOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProjectContainerExpirationPolicy) bool { return v.Enabled }).(pulumi.BoolOutput) +// External or internal link. +func (o GetReleaseLinksReleaseLinkOutput) External() pulumi.BoolOutput { + return o.ApplyT(func(v GetReleaseLinksReleaseLink) bool { return v.External }).(pulumi.BoolOutput) +} + +// Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). +func (o GetReleaseLinksReleaseLinkOutput) Filepath() pulumi.StringOutput { + return o.ApplyT(func(v GetReleaseLinksReleaseLink) string { return v.Filepath }).(pulumi.StringOutput) } -// The number of images to keep. -func (o GetProjectsProjectContainerExpirationPolicyOutput) KeepN() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectsProjectContainerExpirationPolicy) int { return v.KeepN }).(pulumi.IntOutput) +// The ID of the link. +func (o GetReleaseLinksReleaseLinkOutput) LinkId() pulumi.IntOutput { + return o.ApplyT(func(v GetReleaseLinksReleaseLink) int { return v.LinkId }).(pulumi.IntOutput) } -// The regular expression to match image names to delete. -// -// Deprecated: `nameRegex` has been deprecated. Use `nameRegexDelete` instead. -func (o GetProjectsProjectContainerExpirationPolicyOutput) NameRegex() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectContainerExpirationPolicy) string { return v.NameRegex }).(pulumi.StringOutput) +// The type of the link. Valid values are `other`, `runbook`, `image`, `package`. +func (o GetReleaseLinksReleaseLinkOutput) LinkType() pulumi.StringOutput { + return o.ApplyT(func(v GetReleaseLinksReleaseLink) string { return v.LinkType }).(pulumi.StringOutput) } -// The regular expression to match image names to delete. -func (o GetProjectsProjectContainerExpirationPolicyOutput) NameRegexDelete() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectContainerExpirationPolicy) string { return v.NameRegexDelete }).(pulumi.StringOutput) +// The name of the link. Link names must be unique within the release. +func (o GetReleaseLinksReleaseLinkOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetReleaseLinksReleaseLink) string { return v.Name }).(pulumi.StringOutput) } -// The regular expression to match image names to keep. -func (o GetProjectsProjectContainerExpirationPolicyOutput) NameRegexKeep() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectContainerExpirationPolicy) string { return v.NameRegexKeep }).(pulumi.StringOutput) +// The ID or Namespace path of the project. +func (o GetReleaseLinksReleaseLinkOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v GetReleaseLinksReleaseLink) string { return v.Project }).(pulumi.StringOutput) } -// The next time the policy will run. -func (o GetProjectsProjectContainerExpirationPolicyOutput) NextRunAt() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectContainerExpirationPolicy) string { return v.NextRunAt }).(pulumi.StringOutput) +// The tag associated with the Release. +func (o GetReleaseLinksReleaseLinkOutput) TagName() pulumi.StringOutput { + return o.ApplyT(func(v GetReleaseLinksReleaseLink) string { return v.TagName }).(pulumi.StringOutput) } -// The number of days to keep images. -func (o GetProjectsProjectContainerExpirationPolicyOutput) OlderThan() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectContainerExpirationPolicy) string { return v.OlderThan }).(pulumi.StringOutput) +// The URL of the link. Link URLs must be unique within the release. +func (o GetReleaseLinksReleaseLinkOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v GetReleaseLinksReleaseLink) string { return v.Url }).(pulumi.StringOutput) } -type GetProjectsProjectContainerExpirationPolicyArrayOutput struct{ *pulumi.OutputState } +type GetReleaseLinksReleaseLinkArrayOutput struct{ *pulumi.OutputState } -func (GetProjectsProjectContainerExpirationPolicyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectsProjectContainerExpirationPolicy)(nil)).Elem() +func (GetReleaseLinksReleaseLinkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReleaseLinksReleaseLink)(nil)).Elem() } -func (o GetProjectsProjectContainerExpirationPolicyArrayOutput) ToGetProjectsProjectContainerExpirationPolicyArrayOutput() GetProjectsProjectContainerExpirationPolicyArrayOutput { +func (o GetReleaseLinksReleaseLinkArrayOutput) ToGetReleaseLinksReleaseLinkArrayOutput() GetReleaseLinksReleaseLinkArrayOutput { return o } -func (o GetProjectsProjectContainerExpirationPolicyArrayOutput) ToGetProjectsProjectContainerExpirationPolicyArrayOutputWithContext(ctx context.Context) GetProjectsProjectContainerExpirationPolicyArrayOutput { +func (o GetReleaseLinksReleaseLinkArrayOutput) ToGetReleaseLinksReleaseLinkArrayOutputWithContext(ctx context.Context) GetReleaseLinksReleaseLinkArrayOutput { return o } -func (o GetProjectsProjectContainerExpirationPolicyArrayOutput) Index(i pulumi.IntInput) GetProjectsProjectContainerExpirationPolicyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectsProjectContainerExpirationPolicy { - return vs[0].([]GetProjectsProjectContainerExpirationPolicy)[vs[1].(int)] - }).(GetProjectsProjectContainerExpirationPolicyOutput) +func (o GetReleaseLinksReleaseLinkArrayOutput) Index(i pulumi.IntInput) GetReleaseLinksReleaseLinkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReleaseLinksReleaseLink { + return vs[0].([]GetReleaseLinksReleaseLink)[vs[1].(int)] + }).(GetReleaseLinksReleaseLinkOutput) } -type GetProjectsProjectForkedFromProject struct { - // The HTTP clone URL of the upstream project. - HttpUrlToRepo string `pulumi:"httpUrlToRepo"` - // The ID of the upstream project. - Id int `pulumi:"id"` - // The name of the upstream project. +type GetRepositoryTreeTree struct { + // The project ID. Use `nodeId` instead. To be removed in 19.0. + // + // Deprecated: Use `nodeId` instead. To be removed in 19.0. + Id string `pulumi:"id"` + // Unix access mode of the file in the repository. + Mode string `pulumi:"mode"` + // Name of the blob or tree in the repository Name string `pulumi:"name"` - // In `group / subgroup / project` or `user / project` format. - NameWithNamespace string `pulumi:"nameWithNamespace"` - // The path of the upstream project. + // The SHA-1 hash of the tree or blob in the repository. + NodeId string `pulumi:"nodeId"` + // Path of the object inside of the repository. Path string `pulumi:"path"` - // In `group/subgroup/project` or `user/project` format. - PathWithNamespace string `pulumi:"pathWithNamespace"` - // The web url of the upstream project. - WebUrl string `pulumi:"webUrl"` + // Type of object in the repository. Can be either type tree or of type blob + Type string `pulumi:"type"` } -// GetProjectsProjectForkedFromProjectInput is an input type that accepts GetProjectsProjectForkedFromProjectArgs and GetProjectsProjectForkedFromProjectOutput values. -// You can construct a concrete instance of `GetProjectsProjectForkedFromProjectInput` via: +// GetRepositoryTreeTreeInput is an input type that accepts GetRepositoryTreeTreeArgs and GetRepositoryTreeTreeOutput values. +// You can construct a concrete instance of `GetRepositoryTreeTreeInput` via: // -// GetProjectsProjectForkedFromProjectArgs{...} -type GetProjectsProjectForkedFromProjectInput interface { +// GetRepositoryTreeTreeArgs{...} +type GetRepositoryTreeTreeInput interface { pulumi.Input - ToGetProjectsProjectForkedFromProjectOutput() GetProjectsProjectForkedFromProjectOutput - ToGetProjectsProjectForkedFromProjectOutputWithContext(context.Context) GetProjectsProjectForkedFromProjectOutput + ToGetRepositoryTreeTreeOutput() GetRepositoryTreeTreeOutput + ToGetRepositoryTreeTreeOutputWithContext(context.Context) GetRepositoryTreeTreeOutput } -type GetProjectsProjectForkedFromProjectArgs struct { - // The HTTP clone URL of the upstream project. - HttpUrlToRepo pulumi.StringInput `pulumi:"httpUrlToRepo"` - // The ID of the upstream project. - Id pulumi.IntInput `pulumi:"id"` - // The name of the upstream project. +type GetRepositoryTreeTreeArgs struct { + // The project ID. Use `nodeId` instead. To be removed in 19.0. + // + // Deprecated: Use `nodeId` instead. To be removed in 19.0. + Id pulumi.StringInput `pulumi:"id"` + // Unix access mode of the file in the repository. + Mode pulumi.StringInput `pulumi:"mode"` + // Name of the blob or tree in the repository Name pulumi.StringInput `pulumi:"name"` - // In `group / subgroup / project` or `user / project` format. - NameWithNamespace pulumi.StringInput `pulumi:"nameWithNamespace"` - // The path of the upstream project. + // The SHA-1 hash of the tree or blob in the repository. + NodeId pulumi.StringInput `pulumi:"nodeId"` + // Path of the object inside of the repository. Path pulumi.StringInput `pulumi:"path"` - // In `group/subgroup/project` or `user/project` format. - PathWithNamespace pulumi.StringInput `pulumi:"pathWithNamespace"` - // The web url of the upstream project. - WebUrl pulumi.StringInput `pulumi:"webUrl"` + // Type of object in the repository. Can be either type tree or of type blob + Type pulumi.StringInput `pulumi:"type"` } -func (GetProjectsProjectForkedFromProjectArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectsProjectForkedFromProject)(nil)).Elem() +func (GetRepositoryTreeTreeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRepositoryTreeTree)(nil)).Elem() } -func (i GetProjectsProjectForkedFromProjectArgs) ToGetProjectsProjectForkedFromProjectOutput() GetProjectsProjectForkedFromProjectOutput { - return i.ToGetProjectsProjectForkedFromProjectOutputWithContext(context.Background()) +func (i GetRepositoryTreeTreeArgs) ToGetRepositoryTreeTreeOutput() GetRepositoryTreeTreeOutput { + return i.ToGetRepositoryTreeTreeOutputWithContext(context.Background()) } -func (i GetProjectsProjectForkedFromProjectArgs) ToGetProjectsProjectForkedFromProjectOutputWithContext(ctx context.Context) GetProjectsProjectForkedFromProjectOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectForkedFromProjectOutput) +func (i GetRepositoryTreeTreeArgs) ToGetRepositoryTreeTreeOutputWithContext(ctx context.Context) GetRepositoryTreeTreeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRepositoryTreeTreeOutput) } -// GetProjectsProjectForkedFromProjectArrayInput is an input type that accepts GetProjectsProjectForkedFromProjectArray and GetProjectsProjectForkedFromProjectArrayOutput values. -// You can construct a concrete instance of `GetProjectsProjectForkedFromProjectArrayInput` via: +// GetRepositoryTreeTreeArrayInput is an input type that accepts GetRepositoryTreeTreeArray and GetRepositoryTreeTreeArrayOutput values. +// You can construct a concrete instance of `GetRepositoryTreeTreeArrayInput` via: // -// GetProjectsProjectForkedFromProjectArray{ GetProjectsProjectForkedFromProjectArgs{...} } -type GetProjectsProjectForkedFromProjectArrayInput interface { +// GetRepositoryTreeTreeArray{ GetRepositoryTreeTreeArgs{...} } +type GetRepositoryTreeTreeArrayInput interface { pulumi.Input - ToGetProjectsProjectForkedFromProjectArrayOutput() GetProjectsProjectForkedFromProjectArrayOutput - ToGetProjectsProjectForkedFromProjectArrayOutputWithContext(context.Context) GetProjectsProjectForkedFromProjectArrayOutput + ToGetRepositoryTreeTreeArrayOutput() GetRepositoryTreeTreeArrayOutput + ToGetRepositoryTreeTreeArrayOutputWithContext(context.Context) GetRepositoryTreeTreeArrayOutput } -type GetProjectsProjectForkedFromProjectArray []GetProjectsProjectForkedFromProjectInput +type GetRepositoryTreeTreeArray []GetRepositoryTreeTreeInput -func (GetProjectsProjectForkedFromProjectArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectsProjectForkedFromProject)(nil)).Elem() +func (GetRepositoryTreeTreeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRepositoryTreeTree)(nil)).Elem() } -func (i GetProjectsProjectForkedFromProjectArray) ToGetProjectsProjectForkedFromProjectArrayOutput() GetProjectsProjectForkedFromProjectArrayOutput { - return i.ToGetProjectsProjectForkedFromProjectArrayOutputWithContext(context.Background()) +func (i GetRepositoryTreeTreeArray) ToGetRepositoryTreeTreeArrayOutput() GetRepositoryTreeTreeArrayOutput { + return i.ToGetRepositoryTreeTreeArrayOutputWithContext(context.Background()) } -func (i GetProjectsProjectForkedFromProjectArray) ToGetProjectsProjectForkedFromProjectArrayOutputWithContext(ctx context.Context) GetProjectsProjectForkedFromProjectArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectForkedFromProjectArrayOutput) +func (i GetRepositoryTreeTreeArray) ToGetRepositoryTreeTreeArrayOutputWithContext(ctx context.Context) GetRepositoryTreeTreeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRepositoryTreeTreeArrayOutput) } -type GetProjectsProjectForkedFromProjectOutput struct{ *pulumi.OutputState } +type GetRepositoryTreeTreeOutput struct{ *pulumi.OutputState } -func (GetProjectsProjectForkedFromProjectOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectsProjectForkedFromProject)(nil)).Elem() +func (GetRepositoryTreeTreeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRepositoryTreeTree)(nil)).Elem() } -func (o GetProjectsProjectForkedFromProjectOutput) ToGetProjectsProjectForkedFromProjectOutput() GetProjectsProjectForkedFromProjectOutput { +func (o GetRepositoryTreeTreeOutput) ToGetRepositoryTreeTreeOutput() GetRepositoryTreeTreeOutput { return o } -func (o GetProjectsProjectForkedFromProjectOutput) ToGetProjectsProjectForkedFromProjectOutputWithContext(ctx context.Context) GetProjectsProjectForkedFromProjectOutput { +func (o GetRepositoryTreeTreeOutput) ToGetRepositoryTreeTreeOutputWithContext(ctx context.Context) GetRepositoryTreeTreeOutput { return o } -// The HTTP clone URL of the upstream project. -func (o GetProjectsProjectForkedFromProjectOutput) HttpUrlToRepo() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectForkedFromProject) string { return v.HttpUrlToRepo }).(pulumi.StringOutput) -} - -// The ID of the upstream project. -func (o GetProjectsProjectForkedFromProjectOutput) Id() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectsProjectForkedFromProject) int { return v.Id }).(pulumi.IntOutput) +// The project ID. Use `nodeId` instead. To be removed in 19.0. +// +// Deprecated: Use `nodeId` instead. To be removed in 19.0. +func (o GetRepositoryTreeTreeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetRepositoryTreeTree) string { return v.Id }).(pulumi.StringOutput) } -// The name of the upstream project. -func (o GetProjectsProjectForkedFromProjectOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectForkedFromProject) string { return v.Name }).(pulumi.StringOutput) +// Unix access mode of the file in the repository. +func (o GetRepositoryTreeTreeOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v GetRepositoryTreeTree) string { return v.Mode }).(pulumi.StringOutput) } -// In `group / subgroup / project` or `user / project` format. -func (o GetProjectsProjectForkedFromProjectOutput) NameWithNamespace() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectForkedFromProject) string { return v.NameWithNamespace }).(pulumi.StringOutput) +// Name of the blob or tree in the repository +func (o GetRepositoryTreeTreeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetRepositoryTreeTree) string { return v.Name }).(pulumi.StringOutput) } -// The path of the upstream project. -func (o GetProjectsProjectForkedFromProjectOutput) Path() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectForkedFromProject) string { return v.Path }).(pulumi.StringOutput) +// The SHA-1 hash of the tree or blob in the repository. +func (o GetRepositoryTreeTreeOutput) NodeId() pulumi.StringOutput { + return o.ApplyT(func(v GetRepositoryTreeTree) string { return v.NodeId }).(pulumi.StringOutput) } -// In `group/subgroup/project` or `user/project` format. -func (o GetProjectsProjectForkedFromProjectOutput) PathWithNamespace() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectForkedFromProject) string { return v.PathWithNamespace }).(pulumi.StringOutput) +// Path of the object inside of the repository. +func (o GetRepositoryTreeTreeOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v GetRepositoryTreeTree) string { return v.Path }).(pulumi.StringOutput) } -// The web url of the upstream project. -func (o GetProjectsProjectForkedFromProjectOutput) WebUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectForkedFromProject) string { return v.WebUrl }).(pulumi.StringOutput) +// Type of object in the repository. Can be either type tree or of type blob +func (o GetRepositoryTreeTreeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetRepositoryTreeTree) string { return v.Type }).(pulumi.StringOutput) } -type GetProjectsProjectForkedFromProjectArrayOutput struct{ *pulumi.OutputState } - -func (GetProjectsProjectForkedFromProjectArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectsProjectForkedFromProject)(nil)).Elem() -} +type GetRepositoryTreeTreeArrayOutput struct{ *pulumi.OutputState } -func (o GetProjectsProjectForkedFromProjectArrayOutput) ToGetProjectsProjectForkedFromProjectArrayOutput() GetProjectsProjectForkedFromProjectArrayOutput { - return o +func (GetRepositoryTreeTreeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRepositoryTreeTree)(nil)).Elem() } -func (o GetProjectsProjectForkedFromProjectArrayOutput) ToGetProjectsProjectForkedFromProjectArrayOutputWithContext(ctx context.Context) GetProjectsProjectForkedFromProjectArrayOutput { +func (o GetRepositoryTreeTreeArrayOutput) ToGetRepositoryTreeTreeArrayOutput() GetRepositoryTreeTreeArrayOutput { return o } -func (o GetProjectsProjectForkedFromProjectArrayOutput) Index(i pulumi.IntInput) GetProjectsProjectForkedFromProjectOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectsProjectForkedFromProject { - return vs[0].([]GetProjectsProjectForkedFromProject)[vs[1].(int)] - }).(GetProjectsProjectForkedFromProjectOutput) -} - -type GetProjectsProjectNamespace struct { - // The full path of the namespace. - FullPath string `pulumi:"fullPath"` - // The ID of the namespace. - Id int `pulumi:"id"` - // The kind of the namespace. - Kind string `pulumi:"kind"` - // The name of the namespace. - Name string `pulumi:"name"` - // The path of the namespace. - Path string `pulumi:"path"` -} - -// GetProjectsProjectNamespaceInput is an input type that accepts GetProjectsProjectNamespaceArgs and GetProjectsProjectNamespaceOutput values. -// You can construct a concrete instance of `GetProjectsProjectNamespaceInput` via: -// -// GetProjectsProjectNamespaceArgs{...} -type GetProjectsProjectNamespaceInput interface { - pulumi.Input - - ToGetProjectsProjectNamespaceOutput() GetProjectsProjectNamespaceOutput - ToGetProjectsProjectNamespaceOutputWithContext(context.Context) GetProjectsProjectNamespaceOutput -} - -type GetProjectsProjectNamespaceArgs struct { - // The full path of the namespace. - FullPath pulumi.StringInput `pulumi:"fullPath"` - // The ID of the namespace. - Id pulumi.IntInput `pulumi:"id"` - // The kind of the namespace. - Kind pulumi.StringInput `pulumi:"kind"` - // The name of the namespace. - Name pulumi.StringInput `pulumi:"name"` - // The path of the namespace. - Path pulumi.StringInput `pulumi:"path"` -} - -func (GetProjectsProjectNamespaceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectsProjectNamespace)(nil)).Elem() +func (o GetRepositoryTreeTreeArrayOutput) ToGetRepositoryTreeTreeArrayOutputWithContext(ctx context.Context) GetRepositoryTreeTreeArrayOutput { + return o } -func (i GetProjectsProjectNamespaceArgs) ToGetProjectsProjectNamespaceOutput() GetProjectsProjectNamespaceOutput { - return i.ToGetProjectsProjectNamespaceOutputWithContext(context.Background()) +func (o GetRepositoryTreeTreeArrayOutput) Index(i pulumi.IntInput) GetRepositoryTreeTreeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRepositoryTreeTree { + return vs[0].([]GetRepositoryTreeTree)[vs[1].(int)] + }).(GetRepositoryTreeTreeOutput) } -func (i GetProjectsProjectNamespaceArgs) ToGetProjectsProjectNamespaceOutputWithContext(ctx context.Context) GetProjectsProjectNamespaceOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectNamespaceOutput) +type GetRunnerControllerScopesInstanceLevelScoping struct { + // The time the scope was created. + CreatedAt string `pulumi:"createdAt"` + // The time the scope was last updated. + UpdatedAt string `pulumi:"updatedAt"` } -// GetProjectsProjectNamespaceArrayInput is an input type that accepts GetProjectsProjectNamespaceArray and GetProjectsProjectNamespaceArrayOutput values. -// You can construct a concrete instance of `GetProjectsProjectNamespaceArrayInput` via: +// GetRunnerControllerScopesInstanceLevelScopingInput is an input type that accepts GetRunnerControllerScopesInstanceLevelScopingArgs and GetRunnerControllerScopesInstanceLevelScopingOutput values. +// You can construct a concrete instance of `GetRunnerControllerScopesInstanceLevelScopingInput` via: // -// GetProjectsProjectNamespaceArray{ GetProjectsProjectNamespaceArgs{...} } -type GetProjectsProjectNamespaceArrayInput interface { +// GetRunnerControllerScopesInstanceLevelScopingArgs{...} +type GetRunnerControllerScopesInstanceLevelScopingInput interface { pulumi.Input - ToGetProjectsProjectNamespaceArrayOutput() GetProjectsProjectNamespaceArrayOutput - ToGetProjectsProjectNamespaceArrayOutputWithContext(context.Context) GetProjectsProjectNamespaceArrayOutput + ToGetRunnerControllerScopesInstanceLevelScopingOutput() GetRunnerControllerScopesInstanceLevelScopingOutput + ToGetRunnerControllerScopesInstanceLevelScopingOutputWithContext(context.Context) GetRunnerControllerScopesInstanceLevelScopingOutput } -type GetProjectsProjectNamespaceArray []GetProjectsProjectNamespaceInput +type GetRunnerControllerScopesInstanceLevelScopingArgs struct { + // The time the scope was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The time the scope was last updated. + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` +} -func (GetProjectsProjectNamespaceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectsProjectNamespace)(nil)).Elem() +func (GetRunnerControllerScopesInstanceLevelScopingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRunnerControllerScopesInstanceLevelScoping)(nil)).Elem() } -func (i GetProjectsProjectNamespaceArray) ToGetProjectsProjectNamespaceArrayOutput() GetProjectsProjectNamespaceArrayOutput { - return i.ToGetProjectsProjectNamespaceArrayOutputWithContext(context.Background()) +func (i GetRunnerControllerScopesInstanceLevelScopingArgs) ToGetRunnerControllerScopesInstanceLevelScopingOutput() GetRunnerControllerScopesInstanceLevelScopingOutput { + return i.ToGetRunnerControllerScopesInstanceLevelScopingOutputWithContext(context.Background()) } -func (i GetProjectsProjectNamespaceArray) ToGetProjectsProjectNamespaceArrayOutputWithContext(ctx context.Context) GetProjectsProjectNamespaceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectNamespaceArrayOutput) +func (i GetRunnerControllerScopesInstanceLevelScopingArgs) ToGetRunnerControllerScopesInstanceLevelScopingOutputWithContext(ctx context.Context) GetRunnerControllerScopesInstanceLevelScopingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRunnerControllerScopesInstanceLevelScopingOutput) } -type GetProjectsProjectNamespaceOutput struct{ *pulumi.OutputState } +// GetRunnerControllerScopesInstanceLevelScopingArrayInput is an input type that accepts GetRunnerControllerScopesInstanceLevelScopingArray and GetRunnerControllerScopesInstanceLevelScopingArrayOutput values. +// You can construct a concrete instance of `GetRunnerControllerScopesInstanceLevelScopingArrayInput` via: +// +// GetRunnerControllerScopesInstanceLevelScopingArray{ GetRunnerControllerScopesInstanceLevelScopingArgs{...} } +type GetRunnerControllerScopesInstanceLevelScopingArrayInput interface { + pulumi.Input -func (GetProjectsProjectNamespaceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectsProjectNamespace)(nil)).Elem() + ToGetRunnerControllerScopesInstanceLevelScopingArrayOutput() GetRunnerControllerScopesInstanceLevelScopingArrayOutput + ToGetRunnerControllerScopesInstanceLevelScopingArrayOutputWithContext(context.Context) GetRunnerControllerScopesInstanceLevelScopingArrayOutput } -func (o GetProjectsProjectNamespaceOutput) ToGetProjectsProjectNamespaceOutput() GetProjectsProjectNamespaceOutput { - return o +type GetRunnerControllerScopesInstanceLevelScopingArray []GetRunnerControllerScopesInstanceLevelScopingInput + +func (GetRunnerControllerScopesInstanceLevelScopingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRunnerControllerScopesInstanceLevelScoping)(nil)).Elem() } -func (o GetProjectsProjectNamespaceOutput) ToGetProjectsProjectNamespaceOutputWithContext(ctx context.Context) GetProjectsProjectNamespaceOutput { - return o +func (i GetRunnerControllerScopesInstanceLevelScopingArray) ToGetRunnerControllerScopesInstanceLevelScopingArrayOutput() GetRunnerControllerScopesInstanceLevelScopingArrayOutput { + return i.ToGetRunnerControllerScopesInstanceLevelScopingArrayOutputWithContext(context.Background()) } -// The full path of the namespace. -func (o GetProjectsProjectNamespaceOutput) FullPath() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectNamespace) string { return v.FullPath }).(pulumi.StringOutput) +func (i GetRunnerControllerScopesInstanceLevelScopingArray) ToGetRunnerControllerScopesInstanceLevelScopingArrayOutputWithContext(ctx context.Context) GetRunnerControllerScopesInstanceLevelScopingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRunnerControllerScopesInstanceLevelScopingArrayOutput) } -// The ID of the namespace. -func (o GetProjectsProjectNamespaceOutput) Id() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectsProjectNamespace) int { return v.Id }).(pulumi.IntOutput) +type GetRunnerControllerScopesInstanceLevelScopingOutput struct{ *pulumi.OutputState } + +func (GetRunnerControllerScopesInstanceLevelScopingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRunnerControllerScopesInstanceLevelScoping)(nil)).Elem() } -// The kind of the namespace. -func (o GetProjectsProjectNamespaceOutput) Kind() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectNamespace) string { return v.Kind }).(pulumi.StringOutput) +func (o GetRunnerControllerScopesInstanceLevelScopingOutput) ToGetRunnerControllerScopesInstanceLevelScopingOutput() GetRunnerControllerScopesInstanceLevelScopingOutput { + return o } -// The name of the namespace. -func (o GetProjectsProjectNamespaceOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectNamespace) string { return v.Name }).(pulumi.StringOutput) +func (o GetRunnerControllerScopesInstanceLevelScopingOutput) ToGetRunnerControllerScopesInstanceLevelScopingOutputWithContext(ctx context.Context) GetRunnerControllerScopesInstanceLevelScopingOutput { + return o } -// The path of the namespace. -func (o GetProjectsProjectNamespaceOutput) Path() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectNamespace) string { return v.Path }).(pulumi.StringOutput) +// The time the scope was created. +func (o GetRunnerControllerScopesInstanceLevelScopingOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetRunnerControllerScopesInstanceLevelScoping) string { return v.CreatedAt }).(pulumi.StringOutput) } -type GetProjectsProjectNamespaceArrayOutput struct{ *pulumi.OutputState } +// The time the scope was last updated. +func (o GetRunnerControllerScopesInstanceLevelScopingOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetRunnerControllerScopesInstanceLevelScoping) string { return v.UpdatedAt }).(pulumi.StringOutput) +} -func (GetProjectsProjectNamespaceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectsProjectNamespace)(nil)).Elem() +type GetRunnerControllerScopesInstanceLevelScopingArrayOutput struct{ *pulumi.OutputState } + +func (GetRunnerControllerScopesInstanceLevelScopingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRunnerControllerScopesInstanceLevelScoping)(nil)).Elem() } -func (o GetProjectsProjectNamespaceArrayOutput) ToGetProjectsProjectNamespaceArrayOutput() GetProjectsProjectNamespaceArrayOutput { +func (o GetRunnerControllerScopesInstanceLevelScopingArrayOutput) ToGetRunnerControllerScopesInstanceLevelScopingArrayOutput() GetRunnerControllerScopesInstanceLevelScopingArrayOutput { return o } -func (o GetProjectsProjectNamespaceArrayOutput) ToGetProjectsProjectNamespaceArrayOutputWithContext(ctx context.Context) GetProjectsProjectNamespaceArrayOutput { +func (o GetRunnerControllerScopesInstanceLevelScopingArrayOutput) ToGetRunnerControllerScopesInstanceLevelScopingArrayOutputWithContext(ctx context.Context) GetRunnerControllerScopesInstanceLevelScopingArrayOutput { return o } -func (o GetProjectsProjectNamespaceArrayOutput) Index(i pulumi.IntInput) GetProjectsProjectNamespaceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectsProjectNamespace { - return vs[0].([]GetProjectsProjectNamespace)[vs[1].(int)] - }).(GetProjectsProjectNamespaceOutput) +func (o GetRunnerControllerScopesInstanceLevelScopingArrayOutput) Index(i pulumi.IntInput) GetRunnerControllerScopesInstanceLevelScopingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRunnerControllerScopesInstanceLevelScoping { + return vs[0].([]GetRunnerControllerScopesInstanceLevelScoping)[vs[1].(int)] + }).(GetRunnerControllerScopesInstanceLevelScopingOutput) } -type GetProjectsProjectOwner struct { - // The avatar url of the owner. - AvatarUrl string `pulumi:"avatarUrl"` - // The ID of the owner. - Id int `pulumi:"id"` - // The name of the owner. - Name string `pulumi:"name"` - // The state of the owner. - State string `pulumi:"state"` - // The username of the owner. - Username string `pulumi:"username"` - // The website url of the owner. - WebsiteUrl string `pulumi:"websiteUrl"` +type GetRunnerControllerScopesRunnerLevelScoping struct { + // The time the scope was created. + CreatedAt string `pulumi:"createdAt"` + // The ID of the runner. + RunnerId int `pulumi:"runnerId"` + // The time the scope was last updated. + UpdatedAt string `pulumi:"updatedAt"` } -// GetProjectsProjectOwnerInput is an input type that accepts GetProjectsProjectOwnerArgs and GetProjectsProjectOwnerOutput values. -// You can construct a concrete instance of `GetProjectsProjectOwnerInput` via: +// GetRunnerControllerScopesRunnerLevelScopingInput is an input type that accepts GetRunnerControllerScopesRunnerLevelScopingArgs and GetRunnerControllerScopesRunnerLevelScopingOutput values. +// You can construct a concrete instance of `GetRunnerControllerScopesRunnerLevelScopingInput` via: // -// GetProjectsProjectOwnerArgs{...} -type GetProjectsProjectOwnerInput interface { +// GetRunnerControllerScopesRunnerLevelScopingArgs{...} +type GetRunnerControllerScopesRunnerLevelScopingInput interface { pulumi.Input - ToGetProjectsProjectOwnerOutput() GetProjectsProjectOwnerOutput - ToGetProjectsProjectOwnerOutputWithContext(context.Context) GetProjectsProjectOwnerOutput + ToGetRunnerControllerScopesRunnerLevelScopingOutput() GetRunnerControllerScopesRunnerLevelScopingOutput + ToGetRunnerControllerScopesRunnerLevelScopingOutputWithContext(context.Context) GetRunnerControllerScopesRunnerLevelScopingOutput } -type GetProjectsProjectOwnerArgs struct { - // The avatar url of the owner. - AvatarUrl pulumi.StringInput `pulumi:"avatarUrl"` - // The ID of the owner. - Id pulumi.IntInput `pulumi:"id"` - // The name of the owner. - Name pulumi.StringInput `pulumi:"name"` - // The state of the owner. - State pulumi.StringInput `pulumi:"state"` - // The username of the owner. - Username pulumi.StringInput `pulumi:"username"` - // The website url of the owner. - WebsiteUrl pulumi.StringInput `pulumi:"websiteUrl"` +type GetRunnerControllerScopesRunnerLevelScopingArgs struct { + // The time the scope was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The ID of the runner. + RunnerId pulumi.IntInput `pulumi:"runnerId"` + // The time the scope was last updated. + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` } -func (GetProjectsProjectOwnerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectsProjectOwner)(nil)).Elem() +func (GetRunnerControllerScopesRunnerLevelScopingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRunnerControllerScopesRunnerLevelScoping)(nil)).Elem() } -func (i GetProjectsProjectOwnerArgs) ToGetProjectsProjectOwnerOutput() GetProjectsProjectOwnerOutput { - return i.ToGetProjectsProjectOwnerOutputWithContext(context.Background()) +func (i GetRunnerControllerScopesRunnerLevelScopingArgs) ToGetRunnerControllerScopesRunnerLevelScopingOutput() GetRunnerControllerScopesRunnerLevelScopingOutput { + return i.ToGetRunnerControllerScopesRunnerLevelScopingOutputWithContext(context.Background()) } -func (i GetProjectsProjectOwnerArgs) ToGetProjectsProjectOwnerOutputWithContext(ctx context.Context) GetProjectsProjectOwnerOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectOwnerOutput) +func (i GetRunnerControllerScopesRunnerLevelScopingArgs) ToGetRunnerControllerScopesRunnerLevelScopingOutputWithContext(ctx context.Context) GetRunnerControllerScopesRunnerLevelScopingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRunnerControllerScopesRunnerLevelScopingOutput) } -// GetProjectsProjectOwnerArrayInput is an input type that accepts GetProjectsProjectOwnerArray and GetProjectsProjectOwnerArrayOutput values. -// You can construct a concrete instance of `GetProjectsProjectOwnerArrayInput` via: +// GetRunnerControllerScopesRunnerLevelScopingArrayInput is an input type that accepts GetRunnerControllerScopesRunnerLevelScopingArray and GetRunnerControllerScopesRunnerLevelScopingArrayOutput values. +// You can construct a concrete instance of `GetRunnerControllerScopesRunnerLevelScopingArrayInput` via: // -// GetProjectsProjectOwnerArray{ GetProjectsProjectOwnerArgs{...} } -type GetProjectsProjectOwnerArrayInput interface { +// GetRunnerControllerScopesRunnerLevelScopingArray{ GetRunnerControllerScopesRunnerLevelScopingArgs{...} } +type GetRunnerControllerScopesRunnerLevelScopingArrayInput interface { pulumi.Input - ToGetProjectsProjectOwnerArrayOutput() GetProjectsProjectOwnerArrayOutput - ToGetProjectsProjectOwnerArrayOutputWithContext(context.Context) GetProjectsProjectOwnerArrayOutput + ToGetRunnerControllerScopesRunnerLevelScopingArrayOutput() GetRunnerControllerScopesRunnerLevelScopingArrayOutput + ToGetRunnerControllerScopesRunnerLevelScopingArrayOutputWithContext(context.Context) GetRunnerControllerScopesRunnerLevelScopingArrayOutput } -type GetProjectsProjectOwnerArray []GetProjectsProjectOwnerInput +type GetRunnerControllerScopesRunnerLevelScopingArray []GetRunnerControllerScopesRunnerLevelScopingInput -func (GetProjectsProjectOwnerArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectsProjectOwner)(nil)).Elem() +func (GetRunnerControllerScopesRunnerLevelScopingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRunnerControllerScopesRunnerLevelScoping)(nil)).Elem() } -func (i GetProjectsProjectOwnerArray) ToGetProjectsProjectOwnerArrayOutput() GetProjectsProjectOwnerArrayOutput { - return i.ToGetProjectsProjectOwnerArrayOutputWithContext(context.Background()) +func (i GetRunnerControllerScopesRunnerLevelScopingArray) ToGetRunnerControllerScopesRunnerLevelScopingArrayOutput() GetRunnerControllerScopesRunnerLevelScopingArrayOutput { + return i.ToGetRunnerControllerScopesRunnerLevelScopingArrayOutputWithContext(context.Background()) } -func (i GetProjectsProjectOwnerArray) ToGetProjectsProjectOwnerArrayOutputWithContext(ctx context.Context) GetProjectsProjectOwnerArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectOwnerArrayOutput) +func (i GetRunnerControllerScopesRunnerLevelScopingArray) ToGetRunnerControllerScopesRunnerLevelScopingArrayOutputWithContext(ctx context.Context) GetRunnerControllerScopesRunnerLevelScopingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRunnerControllerScopesRunnerLevelScopingArrayOutput) } -type GetProjectsProjectOwnerOutput struct{ *pulumi.OutputState } +type GetRunnerControllerScopesRunnerLevelScopingOutput struct{ *pulumi.OutputState } -func (GetProjectsProjectOwnerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectsProjectOwner)(nil)).Elem() +func (GetRunnerControllerScopesRunnerLevelScopingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRunnerControllerScopesRunnerLevelScoping)(nil)).Elem() } -func (o GetProjectsProjectOwnerOutput) ToGetProjectsProjectOwnerOutput() GetProjectsProjectOwnerOutput { +func (o GetRunnerControllerScopesRunnerLevelScopingOutput) ToGetRunnerControllerScopesRunnerLevelScopingOutput() GetRunnerControllerScopesRunnerLevelScopingOutput { return o } -func (o GetProjectsProjectOwnerOutput) ToGetProjectsProjectOwnerOutputWithContext(ctx context.Context) GetProjectsProjectOwnerOutput { +func (o GetRunnerControllerScopesRunnerLevelScopingOutput) ToGetRunnerControllerScopesRunnerLevelScopingOutputWithContext(ctx context.Context) GetRunnerControllerScopesRunnerLevelScopingOutput { return o } -// The avatar url of the owner. -func (o GetProjectsProjectOwnerOutput) AvatarUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectOwner) string { return v.AvatarUrl }).(pulumi.StringOutput) +// The time the scope was created. +func (o GetRunnerControllerScopesRunnerLevelScopingOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetRunnerControllerScopesRunnerLevelScoping) string { return v.CreatedAt }).(pulumi.StringOutput) } -// The ID of the owner. -func (o GetProjectsProjectOwnerOutput) Id() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectsProjectOwner) int { return v.Id }).(pulumi.IntOutput) +// The ID of the runner. +func (o GetRunnerControllerScopesRunnerLevelScopingOutput) RunnerId() pulumi.IntOutput { + return o.ApplyT(func(v GetRunnerControllerScopesRunnerLevelScoping) int { return v.RunnerId }).(pulumi.IntOutput) } -// The name of the owner. -func (o GetProjectsProjectOwnerOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectOwner) string { return v.Name }).(pulumi.StringOutput) +// The time the scope was last updated. +func (o GetRunnerControllerScopesRunnerLevelScopingOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetRunnerControllerScopesRunnerLevelScoping) string { return v.UpdatedAt }).(pulumi.StringOutput) } -// The state of the owner. -func (o GetProjectsProjectOwnerOutput) State() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectOwner) string { return v.State }).(pulumi.StringOutput) +type GetRunnerControllerScopesRunnerLevelScopingArrayOutput struct{ *pulumi.OutputState } + +func (GetRunnerControllerScopesRunnerLevelScopingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRunnerControllerScopesRunnerLevelScoping)(nil)).Elem() } -// The username of the owner. -func (o GetProjectsProjectOwnerOutput) Username() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectOwner) string { return v.Username }).(pulumi.StringOutput) +func (o GetRunnerControllerScopesRunnerLevelScopingArrayOutput) ToGetRunnerControllerScopesRunnerLevelScopingArrayOutput() GetRunnerControllerScopesRunnerLevelScopingArrayOutput { + return o } -// The website url of the owner. -func (o GetProjectsProjectOwnerOutput) WebsiteUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectOwner) string { return v.WebsiteUrl }).(pulumi.StringOutput) +func (o GetRunnerControllerScopesRunnerLevelScopingArrayOutput) ToGetRunnerControllerScopesRunnerLevelScopingArrayOutputWithContext(ctx context.Context) GetRunnerControllerScopesRunnerLevelScopingArrayOutput { + return o } -type GetProjectsProjectOwnerArrayOutput struct{ *pulumi.OutputState } +func (o GetRunnerControllerScopesRunnerLevelScopingArrayOutput) Index(i pulumi.IntInput) GetRunnerControllerScopesRunnerLevelScopingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRunnerControllerScopesRunnerLevelScoping { + return vs[0].([]GetRunnerControllerScopesRunnerLevelScoping)[vs[1].(int)] + }).(GetRunnerControllerScopesRunnerLevelScopingOutput) +} -func (GetProjectsProjectOwnerArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectsProjectOwner)(nil)).Elem() +type GetRunnerControllersRunnerController struct { + // The time the runner controller was created. + CreatedAt string `pulumi:"createdAt"` + // The description of the runner controller. + Description string `pulumi:"description"` + // The ID of the runner controller. + Id int `pulumi:"id"` + // The state of the runner controller. Valid values are: `disabled`, `enabled`, `dryRun`. + State string `pulumi:"state"` + // The time the runner controller was last updated. + UpdatedAt string `pulumi:"updatedAt"` } -func (o GetProjectsProjectOwnerArrayOutput) ToGetProjectsProjectOwnerArrayOutput() GetProjectsProjectOwnerArrayOutput { - return o +// GetRunnerControllersRunnerControllerInput is an input type that accepts GetRunnerControllersRunnerControllerArgs and GetRunnerControllersRunnerControllerOutput values. +// You can construct a concrete instance of `GetRunnerControllersRunnerControllerInput` via: +// +// GetRunnerControllersRunnerControllerArgs{...} +type GetRunnerControllersRunnerControllerInput interface { + pulumi.Input + + ToGetRunnerControllersRunnerControllerOutput() GetRunnerControllersRunnerControllerOutput + ToGetRunnerControllersRunnerControllerOutputWithContext(context.Context) GetRunnerControllersRunnerControllerOutput } -func (o GetProjectsProjectOwnerArrayOutput) ToGetProjectsProjectOwnerArrayOutputWithContext(ctx context.Context) GetProjectsProjectOwnerArrayOutput { - return o +type GetRunnerControllersRunnerControllerArgs struct { + // The time the runner controller was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The description of the runner controller. + Description pulumi.StringInput `pulumi:"description"` + // The ID of the runner controller. + Id pulumi.IntInput `pulumi:"id"` + // The state of the runner controller. Valid values are: `disabled`, `enabled`, `dryRun`. + State pulumi.StringInput `pulumi:"state"` + // The time the runner controller was last updated. + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` } -func (o GetProjectsProjectOwnerArrayOutput) Index(i pulumi.IntInput) GetProjectsProjectOwnerOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectsProjectOwner { - return vs[0].([]GetProjectsProjectOwner)[vs[1].(int)] - }).(GetProjectsProjectOwnerOutput) +func (GetRunnerControllersRunnerControllerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRunnerControllersRunnerController)(nil)).Elem() } -type GetProjectsProjectPermission struct { - // Group access level. - GroupAccess map[string]int `pulumi:"groupAccess"` - // Project access level. - ProjectAccess map[string]int `pulumi:"projectAccess"` +func (i GetRunnerControllersRunnerControllerArgs) ToGetRunnerControllersRunnerControllerOutput() GetRunnerControllersRunnerControllerOutput { + return i.ToGetRunnerControllersRunnerControllerOutputWithContext(context.Background()) } -// GetProjectsProjectPermissionInput is an input type that accepts GetProjectsProjectPermissionArgs and GetProjectsProjectPermissionOutput values. -// You can construct a concrete instance of `GetProjectsProjectPermissionInput` via: +func (i GetRunnerControllersRunnerControllerArgs) ToGetRunnerControllersRunnerControllerOutputWithContext(ctx context.Context) GetRunnerControllersRunnerControllerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRunnerControllersRunnerControllerOutput) +} + +// GetRunnerControllersRunnerControllerArrayInput is an input type that accepts GetRunnerControllersRunnerControllerArray and GetRunnerControllersRunnerControllerArrayOutput values. +// You can construct a concrete instance of `GetRunnerControllersRunnerControllerArrayInput` via: // -// GetProjectsProjectPermissionArgs{...} -type GetProjectsProjectPermissionInput interface { +// GetRunnerControllersRunnerControllerArray{ GetRunnerControllersRunnerControllerArgs{...} } +type GetRunnerControllersRunnerControllerArrayInput interface { pulumi.Input - ToGetProjectsProjectPermissionOutput() GetProjectsProjectPermissionOutput - ToGetProjectsProjectPermissionOutputWithContext(context.Context) GetProjectsProjectPermissionOutput + ToGetRunnerControllersRunnerControllerArrayOutput() GetRunnerControllersRunnerControllerArrayOutput + ToGetRunnerControllersRunnerControllerArrayOutputWithContext(context.Context) GetRunnerControllersRunnerControllerArrayOutput } -type GetProjectsProjectPermissionArgs struct { - // Group access level. - GroupAccess pulumi.IntMapInput `pulumi:"groupAccess"` - // Project access level. - ProjectAccess pulumi.IntMapInput `pulumi:"projectAccess"` +type GetRunnerControllersRunnerControllerArray []GetRunnerControllersRunnerControllerInput + +func (GetRunnerControllersRunnerControllerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRunnerControllersRunnerController)(nil)).Elem() } -func (GetProjectsProjectPermissionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectsProjectPermission)(nil)).Elem() +func (i GetRunnerControllersRunnerControllerArray) ToGetRunnerControllersRunnerControllerArrayOutput() GetRunnerControllersRunnerControllerArrayOutput { + return i.ToGetRunnerControllersRunnerControllerArrayOutputWithContext(context.Background()) } -func (i GetProjectsProjectPermissionArgs) ToGetProjectsProjectPermissionOutput() GetProjectsProjectPermissionOutput { - return i.ToGetProjectsProjectPermissionOutputWithContext(context.Background()) +func (i GetRunnerControllersRunnerControllerArray) ToGetRunnerControllersRunnerControllerArrayOutputWithContext(ctx context.Context) GetRunnerControllersRunnerControllerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRunnerControllersRunnerControllerArrayOutput) } -func (i GetProjectsProjectPermissionArgs) ToGetProjectsProjectPermissionOutputWithContext(ctx context.Context) GetProjectsProjectPermissionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectPermissionOutput) +type GetRunnerControllersRunnerControllerOutput struct{ *pulumi.OutputState } + +func (GetRunnerControllersRunnerControllerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRunnerControllersRunnerController)(nil)).Elem() } -// GetProjectsProjectPermissionArrayInput is an input type that accepts GetProjectsProjectPermissionArray and GetProjectsProjectPermissionArrayOutput values. -// You can construct a concrete instance of `GetProjectsProjectPermissionArrayInput` via: -// -// GetProjectsProjectPermissionArray{ GetProjectsProjectPermissionArgs{...} } -type GetProjectsProjectPermissionArrayInput interface { - pulumi.Input +func (o GetRunnerControllersRunnerControllerOutput) ToGetRunnerControllersRunnerControllerOutput() GetRunnerControllersRunnerControllerOutput { + return o +} - ToGetProjectsProjectPermissionArrayOutput() GetProjectsProjectPermissionArrayOutput - ToGetProjectsProjectPermissionArrayOutputWithContext(context.Context) GetProjectsProjectPermissionArrayOutput +func (o GetRunnerControllersRunnerControllerOutput) ToGetRunnerControllersRunnerControllerOutputWithContext(ctx context.Context) GetRunnerControllersRunnerControllerOutput { + return o } -type GetProjectsProjectPermissionArray []GetProjectsProjectPermissionInput +// The time the runner controller was created. +func (o GetRunnerControllersRunnerControllerOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetRunnerControllersRunnerController) string { return v.CreatedAt }).(pulumi.StringOutput) +} -func (GetProjectsProjectPermissionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectsProjectPermission)(nil)).Elem() +// The description of the runner controller. +func (o GetRunnerControllersRunnerControllerOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetRunnerControllersRunnerController) string { return v.Description }).(pulumi.StringOutput) } -func (i GetProjectsProjectPermissionArray) ToGetProjectsProjectPermissionArrayOutput() GetProjectsProjectPermissionArrayOutput { - return i.ToGetProjectsProjectPermissionArrayOutputWithContext(context.Background()) +// The ID of the runner controller. +func (o GetRunnerControllersRunnerControllerOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetRunnerControllersRunnerController) int { return v.Id }).(pulumi.IntOutput) } -func (i GetProjectsProjectPermissionArray) ToGetProjectsProjectPermissionArrayOutputWithContext(ctx context.Context) GetProjectsProjectPermissionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectPermissionArrayOutput) +// The state of the runner controller. Valid values are: `disabled`, `enabled`, `dryRun`. +func (o GetRunnerControllersRunnerControllerOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetRunnerControllersRunnerController) string { return v.State }).(pulumi.StringOutput) } -type GetProjectsProjectPermissionOutput struct{ *pulumi.OutputState } +// The time the runner controller was last updated. +func (o GetRunnerControllersRunnerControllerOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetRunnerControllersRunnerController) string { return v.UpdatedAt }).(pulumi.StringOutput) +} -func (GetProjectsProjectPermissionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectsProjectPermission)(nil)).Elem() +type GetRunnerControllersRunnerControllerArrayOutput struct{ *pulumi.OutputState } + +func (GetRunnerControllersRunnerControllerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRunnerControllersRunnerController)(nil)).Elem() } -func (o GetProjectsProjectPermissionOutput) ToGetProjectsProjectPermissionOutput() GetProjectsProjectPermissionOutput { +func (o GetRunnerControllersRunnerControllerArrayOutput) ToGetRunnerControllersRunnerControllerArrayOutput() GetRunnerControllersRunnerControllerArrayOutput { return o } -func (o GetProjectsProjectPermissionOutput) ToGetProjectsProjectPermissionOutputWithContext(ctx context.Context) GetProjectsProjectPermissionOutput { +func (o GetRunnerControllersRunnerControllerArrayOutput) ToGetRunnerControllersRunnerControllerArrayOutputWithContext(ctx context.Context) GetRunnerControllersRunnerControllerArrayOutput { return o } -// Group access level. -func (o GetProjectsProjectPermissionOutput) GroupAccess() pulumi.IntMapOutput { - return o.ApplyT(func(v GetProjectsProjectPermission) map[string]int { return v.GroupAccess }).(pulumi.IntMapOutput) +func (o GetRunnerControllersRunnerControllerArrayOutput) Index(i pulumi.IntInput) GetRunnerControllersRunnerControllerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRunnerControllersRunnerController { + return vs[0].([]GetRunnerControllersRunnerController)[vs[1].(int)] + }).(GetRunnerControllersRunnerControllerOutput) } -// Project access level. -func (o GetProjectsProjectPermissionOutput) ProjectAccess() pulumi.IntMapOutput { - return o.ApplyT(func(v GetProjectsProjectPermission) map[string]int { return v.ProjectAccess }).(pulumi.IntMapOutput) +type GetRunnersRunner struct { + // The description of the runner. + Description string `pulumi:"description"` + // The runner id. + Id int `pulumi:"id"` + // Indicates if this is a shared runner + IsShared bool `pulumi:"isShared"` + // The connectivity status of the runner. + Online bool `pulumi:"online"` + // Indicates if the runner is accepting or ignoring new jobs. + Paused bool `pulumi:"paused"` + // The runner type. Values are `instanceType`, `groupType` and `projectType`. + RunnerType string `pulumi:"runnerType"` + // The status of the runner. Values can be `online`, `offline`, `stale`, and `neverContacted`. + Status string `pulumi:"status"` } -type GetProjectsProjectPermissionArrayOutput struct{ *pulumi.OutputState } - -func (GetProjectsProjectPermissionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectsProjectPermission)(nil)).Elem() +// GetRunnersRunnerInput is an input type that accepts GetRunnersRunnerArgs and GetRunnersRunnerOutput values. +// You can construct a concrete instance of `GetRunnersRunnerInput` via: +// +// GetRunnersRunnerArgs{...} +type GetRunnersRunnerInput interface { + pulumi.Input + + ToGetRunnersRunnerOutput() GetRunnersRunnerOutput + ToGetRunnersRunnerOutputWithContext(context.Context) GetRunnersRunnerOutput } -func (o GetProjectsProjectPermissionArrayOutput) ToGetProjectsProjectPermissionArrayOutput() GetProjectsProjectPermissionArrayOutput { - return o +type GetRunnersRunnerArgs struct { + // The description of the runner. + Description pulumi.StringInput `pulumi:"description"` + // The runner id. + Id pulumi.IntInput `pulumi:"id"` + // Indicates if this is a shared runner + IsShared pulumi.BoolInput `pulumi:"isShared"` + // The connectivity status of the runner. + Online pulumi.BoolInput `pulumi:"online"` + // Indicates if the runner is accepting or ignoring new jobs. + Paused pulumi.BoolInput `pulumi:"paused"` + // The runner type. Values are `instanceType`, `groupType` and `projectType`. + RunnerType pulumi.StringInput `pulumi:"runnerType"` + // The status of the runner. Values can be `online`, `offline`, `stale`, and `neverContacted`. + Status pulumi.StringInput `pulumi:"status"` } -func (o GetProjectsProjectPermissionArrayOutput) ToGetProjectsProjectPermissionArrayOutputWithContext(ctx context.Context) GetProjectsProjectPermissionArrayOutput { - return o +func (GetRunnersRunnerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRunnersRunner)(nil)).Elem() } -func (o GetProjectsProjectPermissionArrayOutput) Index(i pulumi.IntInput) GetProjectsProjectPermissionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectsProjectPermission { - return vs[0].([]GetProjectsProjectPermission)[vs[1].(int)] - }).(GetProjectsProjectPermissionOutput) +func (i GetRunnersRunnerArgs) ToGetRunnersRunnerOutput() GetRunnersRunnerOutput { + return i.ToGetRunnersRunnerOutputWithContext(context.Background()) } -type GetProjectsProjectSharedWithGroup struct { - // The group access level. - GroupAccessLevel string `pulumi:"groupAccessLevel"` - // The group ID. - GroupId int `pulumi:"groupId"` - // The group name. - GroupName string `pulumi:"groupName"` +func (i GetRunnersRunnerArgs) ToGetRunnersRunnerOutputWithContext(ctx context.Context) GetRunnersRunnerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRunnersRunnerOutput) } -// GetProjectsProjectSharedWithGroupInput is an input type that accepts GetProjectsProjectSharedWithGroupArgs and GetProjectsProjectSharedWithGroupOutput values. -// You can construct a concrete instance of `GetProjectsProjectSharedWithGroupInput` via: +// GetRunnersRunnerArrayInput is an input type that accepts GetRunnersRunnerArray and GetRunnersRunnerArrayOutput values. +// You can construct a concrete instance of `GetRunnersRunnerArrayInput` via: // -// GetProjectsProjectSharedWithGroupArgs{...} -type GetProjectsProjectSharedWithGroupInput interface { +// GetRunnersRunnerArray{ GetRunnersRunnerArgs{...} } +type GetRunnersRunnerArrayInput interface { pulumi.Input - ToGetProjectsProjectSharedWithGroupOutput() GetProjectsProjectSharedWithGroupOutput - ToGetProjectsProjectSharedWithGroupOutputWithContext(context.Context) GetProjectsProjectSharedWithGroupOutput + ToGetRunnersRunnerArrayOutput() GetRunnersRunnerArrayOutput + ToGetRunnersRunnerArrayOutputWithContext(context.Context) GetRunnersRunnerArrayOutput } -type GetProjectsProjectSharedWithGroupArgs struct { - // The group access level. - GroupAccessLevel pulumi.StringInput `pulumi:"groupAccessLevel"` - // The group ID. - GroupId pulumi.IntInput `pulumi:"groupId"` - // The group name. - GroupName pulumi.StringInput `pulumi:"groupName"` -} +type GetRunnersRunnerArray []GetRunnersRunnerInput -func (GetProjectsProjectSharedWithGroupArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectsProjectSharedWithGroup)(nil)).Elem() +func (GetRunnersRunnerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRunnersRunner)(nil)).Elem() } -func (i GetProjectsProjectSharedWithGroupArgs) ToGetProjectsProjectSharedWithGroupOutput() GetProjectsProjectSharedWithGroupOutput { - return i.ToGetProjectsProjectSharedWithGroupOutputWithContext(context.Background()) +func (i GetRunnersRunnerArray) ToGetRunnersRunnerArrayOutput() GetRunnersRunnerArrayOutput { + return i.ToGetRunnersRunnerArrayOutputWithContext(context.Background()) } -func (i GetProjectsProjectSharedWithGroupArgs) ToGetProjectsProjectSharedWithGroupOutputWithContext(ctx context.Context) GetProjectsProjectSharedWithGroupOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectSharedWithGroupOutput) +func (i GetRunnersRunnerArray) ToGetRunnersRunnerArrayOutputWithContext(ctx context.Context) GetRunnersRunnerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRunnersRunnerArrayOutput) } -// GetProjectsProjectSharedWithGroupArrayInput is an input type that accepts GetProjectsProjectSharedWithGroupArray and GetProjectsProjectSharedWithGroupArrayOutput values. -// You can construct a concrete instance of `GetProjectsProjectSharedWithGroupArrayInput` via: -// -// GetProjectsProjectSharedWithGroupArray{ GetProjectsProjectSharedWithGroupArgs{...} } -type GetProjectsProjectSharedWithGroupArrayInput interface { - pulumi.Input +type GetRunnersRunnerOutput struct{ *pulumi.OutputState } - ToGetProjectsProjectSharedWithGroupArrayOutput() GetProjectsProjectSharedWithGroupArrayOutput - ToGetProjectsProjectSharedWithGroupArrayOutputWithContext(context.Context) GetProjectsProjectSharedWithGroupArrayOutput +func (GetRunnersRunnerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRunnersRunner)(nil)).Elem() } -type GetProjectsProjectSharedWithGroupArray []GetProjectsProjectSharedWithGroupInput - -func (GetProjectsProjectSharedWithGroupArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectsProjectSharedWithGroup)(nil)).Elem() +func (o GetRunnersRunnerOutput) ToGetRunnersRunnerOutput() GetRunnersRunnerOutput { + return o } -func (i GetProjectsProjectSharedWithGroupArray) ToGetProjectsProjectSharedWithGroupArrayOutput() GetProjectsProjectSharedWithGroupArrayOutput { - return i.ToGetProjectsProjectSharedWithGroupArrayOutputWithContext(context.Background()) +func (o GetRunnersRunnerOutput) ToGetRunnersRunnerOutputWithContext(ctx context.Context) GetRunnersRunnerOutput { + return o } -func (i GetProjectsProjectSharedWithGroupArray) ToGetProjectsProjectSharedWithGroupArrayOutputWithContext(ctx context.Context) GetProjectsProjectSharedWithGroupArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetProjectsProjectSharedWithGroupArrayOutput) +// The description of the runner. +func (o GetRunnersRunnerOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetRunnersRunner) string { return v.Description }).(pulumi.StringOutput) } -type GetProjectsProjectSharedWithGroupOutput struct{ *pulumi.OutputState } - -func (GetProjectsProjectSharedWithGroupOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetProjectsProjectSharedWithGroup)(nil)).Elem() +// The runner id. +func (o GetRunnersRunnerOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetRunnersRunner) int { return v.Id }).(pulumi.IntOutput) } -func (o GetProjectsProjectSharedWithGroupOutput) ToGetProjectsProjectSharedWithGroupOutput() GetProjectsProjectSharedWithGroupOutput { - return o +// Indicates if this is a shared runner +func (o GetRunnersRunnerOutput) IsShared() pulumi.BoolOutput { + return o.ApplyT(func(v GetRunnersRunner) bool { return v.IsShared }).(pulumi.BoolOutput) } -func (o GetProjectsProjectSharedWithGroupOutput) ToGetProjectsProjectSharedWithGroupOutputWithContext(ctx context.Context) GetProjectsProjectSharedWithGroupOutput { - return o +// The connectivity status of the runner. +func (o GetRunnersRunnerOutput) Online() pulumi.BoolOutput { + return o.ApplyT(func(v GetRunnersRunner) bool { return v.Online }).(pulumi.BoolOutput) } -// The group access level. -func (o GetProjectsProjectSharedWithGroupOutput) GroupAccessLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectSharedWithGroup) string { return v.GroupAccessLevel }).(pulumi.StringOutput) +// Indicates if the runner is accepting or ignoring new jobs. +func (o GetRunnersRunnerOutput) Paused() pulumi.BoolOutput { + return o.ApplyT(func(v GetRunnersRunner) bool { return v.Paused }).(pulumi.BoolOutput) } -// The group ID. -func (o GetProjectsProjectSharedWithGroupOutput) GroupId() pulumi.IntOutput { - return o.ApplyT(func(v GetProjectsProjectSharedWithGroup) int { return v.GroupId }).(pulumi.IntOutput) +// The runner type. Values are `instanceType`, `groupType` and `projectType`. +func (o GetRunnersRunnerOutput) RunnerType() pulumi.StringOutput { + return o.ApplyT(func(v GetRunnersRunner) string { return v.RunnerType }).(pulumi.StringOutput) } -// The group name. -func (o GetProjectsProjectSharedWithGroupOutput) GroupName() pulumi.StringOutput { - return o.ApplyT(func(v GetProjectsProjectSharedWithGroup) string { return v.GroupName }).(pulumi.StringOutput) +// The status of the runner. Values can be `online`, `offline`, `stale`, and `neverContacted`. +func (o GetRunnersRunnerOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetRunnersRunner) string { return v.Status }).(pulumi.StringOutput) } -type GetProjectsProjectSharedWithGroupArrayOutput struct{ *pulumi.OutputState } +type GetRunnersRunnerArrayOutput struct{ *pulumi.OutputState } -func (GetProjectsProjectSharedWithGroupArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetProjectsProjectSharedWithGroup)(nil)).Elem() +func (GetRunnersRunnerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRunnersRunner)(nil)).Elem() } -func (o GetProjectsProjectSharedWithGroupArrayOutput) ToGetProjectsProjectSharedWithGroupArrayOutput() GetProjectsProjectSharedWithGroupArrayOutput { +func (o GetRunnersRunnerArrayOutput) ToGetRunnersRunnerArrayOutput() GetRunnersRunnerArrayOutput { return o } -func (o GetProjectsProjectSharedWithGroupArrayOutput) ToGetProjectsProjectSharedWithGroupArrayOutputWithContext(ctx context.Context) GetProjectsProjectSharedWithGroupArrayOutput { +func (o GetRunnersRunnerArrayOutput) ToGetRunnersRunnerArrayOutputWithContext(ctx context.Context) GetRunnersRunnerArrayOutput { return o } -func (o GetProjectsProjectSharedWithGroupArrayOutput) Index(i pulumi.IntInput) GetProjectsProjectSharedWithGroupOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectsProjectSharedWithGroup { - return vs[0].([]GetProjectsProjectSharedWithGroup)[vs[1].(int)] - }).(GetProjectsProjectSharedWithGroupOutput) +func (o GetRunnersRunnerArrayOutput) Index(i pulumi.IntInput) GetRunnersRunnerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRunnersRunner { + return vs[0].([]GetRunnersRunner)[vs[1].(int)] + }).(GetRunnersRunnerOutput) } -type GetReleaseAssets struct { - // The number of assets for a release - Count int `pulumi:"count"` - // The links for a release - Links []GetReleaseAssetsLink `pulumi:"links"` - // The sources for a release - Sources []GetReleaseAssetsSource `pulumi:"sources"` +type GetSecurityPolicyDocumentScanExecutionPolicy struct { + // Actions to execute when rules match. At least one action is required. + Actions []GetSecurityPolicyDocumentScanExecutionPolicyAction `pulumi:"actions"` + // Description of the scan execution policy. + Description *string `pulumi:"description"` + // Whether the policy is enabled. + Enabled bool `pulumi:"enabled"` + // Name of the scan execution policy. + Name string `pulumi:"name"` + // Scope configuration to limit which projects the policy applies to. + PolicyScope *GetSecurityPolicyDocumentScanExecutionPolicyPolicyScope `pulumi:"policyScope"` + // Rules that trigger the policy. At least one rule is required. + Rules []GetSecurityPolicyDocumentScanExecutionPolicyRule `pulumi:"rules"` + // Control whether users can use the skip-ci directive. + SkipCi *GetSecurityPolicyDocumentScanExecutionPolicySkipCi `pulumi:"skipCi"` } -// GetReleaseAssetsInput is an input type that accepts GetReleaseAssetsArgs and GetReleaseAssetsOutput values. -// You can construct a concrete instance of `GetReleaseAssetsInput` via: +// GetSecurityPolicyDocumentScanExecutionPolicyInput is an input type that accepts GetSecurityPolicyDocumentScanExecutionPolicyArgs and GetSecurityPolicyDocumentScanExecutionPolicyOutput values. +// You can construct a concrete instance of `GetSecurityPolicyDocumentScanExecutionPolicyInput` via: // -// GetReleaseAssetsArgs{...} -type GetReleaseAssetsInput interface { +// GetSecurityPolicyDocumentScanExecutionPolicyArgs{...} +type GetSecurityPolicyDocumentScanExecutionPolicyInput interface { pulumi.Input - ToGetReleaseAssetsOutput() GetReleaseAssetsOutput - ToGetReleaseAssetsOutputWithContext(context.Context) GetReleaseAssetsOutput -} - -type GetReleaseAssetsArgs struct { - // The number of assets for a release - Count pulumi.IntInput `pulumi:"count"` - // The links for a release - Links GetReleaseAssetsLinkArrayInput `pulumi:"links"` - // The sources for a release - Sources GetReleaseAssetsSourceArrayInput `pulumi:"sources"` -} - -func (GetReleaseAssetsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetReleaseAssets)(nil)).Elem() + ToGetSecurityPolicyDocumentScanExecutionPolicyOutput() GetSecurityPolicyDocumentScanExecutionPolicyOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyOutputWithContext(context.Context) GetSecurityPolicyDocumentScanExecutionPolicyOutput } -func (i GetReleaseAssetsArgs) ToGetReleaseAssetsOutput() GetReleaseAssetsOutput { - return i.ToGetReleaseAssetsOutputWithContext(context.Background()) +type GetSecurityPolicyDocumentScanExecutionPolicyArgs struct { + // Actions to execute when rules match. At least one action is required. + Actions GetSecurityPolicyDocumentScanExecutionPolicyActionArrayInput `pulumi:"actions"` + // Description of the scan execution policy. + Description pulumi.StringPtrInput `pulumi:"description"` + // Whether the policy is enabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // Name of the scan execution policy. + Name pulumi.StringInput `pulumi:"name"` + // Scope configuration to limit which projects the policy applies to. + PolicyScope GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrInput `pulumi:"policyScope"` + // Rules that trigger the policy. At least one rule is required. + Rules GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayInput `pulumi:"rules"` + // Control whether users can use the skip-ci directive. + SkipCi GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrInput `pulumi:"skipCi"` } -func (i GetReleaseAssetsArgs) ToGetReleaseAssetsOutputWithContext(ctx context.Context) GetReleaseAssetsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetReleaseAssetsOutput) +func (GetSecurityPolicyDocumentScanExecutionPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicy)(nil)).Elem() } -func (i GetReleaseAssetsArgs) ToGetReleaseAssetsPtrOutput() GetReleaseAssetsPtrOutput { - return i.ToGetReleaseAssetsPtrOutputWithContext(context.Background()) +func (i GetSecurityPolicyDocumentScanExecutionPolicyArgs) ToGetSecurityPolicyDocumentScanExecutionPolicyOutput() GetSecurityPolicyDocumentScanExecutionPolicyOutput { + return i.ToGetSecurityPolicyDocumentScanExecutionPolicyOutputWithContext(context.Background()) } -func (i GetReleaseAssetsArgs) ToGetReleaseAssetsPtrOutputWithContext(ctx context.Context) GetReleaseAssetsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetReleaseAssetsOutput).ToGetReleaseAssetsPtrOutputWithContext(ctx) +func (i GetSecurityPolicyDocumentScanExecutionPolicyArgs) ToGetSecurityPolicyDocumentScanExecutionPolicyOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityPolicyDocumentScanExecutionPolicyOutput) } -// GetReleaseAssetsPtrInput is an input type that accepts GetReleaseAssetsArgs, GetReleaseAssetsPtr and GetReleaseAssetsPtrOutput values. -// You can construct a concrete instance of `GetReleaseAssetsPtrInput` via: -// -// GetReleaseAssetsArgs{...} -// -// or: +// GetSecurityPolicyDocumentScanExecutionPolicyArrayInput is an input type that accepts GetSecurityPolicyDocumentScanExecutionPolicyArray and GetSecurityPolicyDocumentScanExecutionPolicyArrayOutput values. +// You can construct a concrete instance of `GetSecurityPolicyDocumentScanExecutionPolicyArrayInput` via: // -// nil -type GetReleaseAssetsPtrInput interface { +// GetSecurityPolicyDocumentScanExecutionPolicyArray{ GetSecurityPolicyDocumentScanExecutionPolicyArgs{...} } +type GetSecurityPolicyDocumentScanExecutionPolicyArrayInput interface { pulumi.Input - ToGetReleaseAssetsPtrOutput() GetReleaseAssetsPtrOutput - ToGetReleaseAssetsPtrOutputWithContext(context.Context) GetReleaseAssetsPtrOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyArrayOutput() GetSecurityPolicyDocumentScanExecutionPolicyArrayOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyArrayOutputWithContext(context.Context) GetSecurityPolicyDocumentScanExecutionPolicyArrayOutput } -type getReleaseAssetsPtrType GetReleaseAssetsArgs - -func GetReleaseAssetsPtr(v *GetReleaseAssetsArgs) GetReleaseAssetsPtrInput { - return (*getReleaseAssetsPtrType)(v) -} +type GetSecurityPolicyDocumentScanExecutionPolicyArray []GetSecurityPolicyDocumentScanExecutionPolicyInput -func (*getReleaseAssetsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetReleaseAssets)(nil)).Elem() +func (GetSecurityPolicyDocumentScanExecutionPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSecurityPolicyDocumentScanExecutionPolicy)(nil)).Elem() } -func (i *getReleaseAssetsPtrType) ToGetReleaseAssetsPtrOutput() GetReleaseAssetsPtrOutput { - return i.ToGetReleaseAssetsPtrOutputWithContext(context.Background()) +func (i GetSecurityPolicyDocumentScanExecutionPolicyArray) ToGetSecurityPolicyDocumentScanExecutionPolicyArrayOutput() GetSecurityPolicyDocumentScanExecutionPolicyArrayOutput { + return i.ToGetSecurityPolicyDocumentScanExecutionPolicyArrayOutputWithContext(context.Background()) } -func (i *getReleaseAssetsPtrType) ToGetReleaseAssetsPtrOutputWithContext(ctx context.Context) GetReleaseAssetsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetReleaseAssetsPtrOutput) +func (i GetSecurityPolicyDocumentScanExecutionPolicyArray) ToGetSecurityPolicyDocumentScanExecutionPolicyArrayOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityPolicyDocumentScanExecutionPolicyArrayOutput) } -type GetReleaseAssetsOutput struct{ *pulumi.OutputState } +type GetSecurityPolicyDocumentScanExecutionPolicyOutput struct{ *pulumi.OutputState } -func (GetReleaseAssetsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetReleaseAssets)(nil)).Elem() +func (GetSecurityPolicyDocumentScanExecutionPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicy)(nil)).Elem() } -func (o GetReleaseAssetsOutput) ToGetReleaseAssetsOutput() GetReleaseAssetsOutput { +func (o GetSecurityPolicyDocumentScanExecutionPolicyOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyOutput() GetSecurityPolicyDocumentScanExecutionPolicyOutput { return o } -func (o GetReleaseAssetsOutput) ToGetReleaseAssetsOutputWithContext(ctx context.Context) GetReleaseAssetsOutput { +func (o GetSecurityPolicyDocumentScanExecutionPolicyOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyOutput { return o } -func (o GetReleaseAssetsOutput) ToGetReleaseAssetsPtrOutput() GetReleaseAssetsPtrOutput { - return o.ToGetReleaseAssetsPtrOutputWithContext(context.Background()) -} - -func (o GetReleaseAssetsOutput) ToGetReleaseAssetsPtrOutputWithContext(ctx context.Context) GetReleaseAssetsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetReleaseAssets) *GetReleaseAssets { - return &v - }).(GetReleaseAssetsPtrOutput) -} - -// The number of assets for a release -func (o GetReleaseAssetsOutput) Count() pulumi.IntOutput { - return o.ApplyT(func(v GetReleaseAssets) int { return v.Count }).(pulumi.IntOutput) -} - -// The links for a release -func (o GetReleaseAssetsOutput) Links() GetReleaseAssetsLinkArrayOutput { - return o.ApplyT(func(v GetReleaseAssets) []GetReleaseAssetsLink { return v.Links }).(GetReleaseAssetsLinkArrayOutput) -} - -// The sources for a release -func (o GetReleaseAssetsOutput) Sources() GetReleaseAssetsSourceArrayOutput { - return o.ApplyT(func(v GetReleaseAssets) []GetReleaseAssetsSource { return v.Sources }).(GetReleaseAssetsSourceArrayOutput) +// Actions to execute when rules match. At least one action is required. +func (o GetSecurityPolicyDocumentScanExecutionPolicyOutput) Actions() GetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicy) []GetSecurityPolicyDocumentScanExecutionPolicyAction { + return v.Actions + }).(GetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput) } -type GetReleaseAssetsPtrOutput struct{ *pulumi.OutputState } - -func (GetReleaseAssetsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetReleaseAssets)(nil)).Elem() +// Description of the scan execution policy. +func (o GetSecurityPolicyDocumentScanExecutionPolicyOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicy) *string { return v.Description }).(pulumi.StringPtrOutput) } -func (o GetReleaseAssetsPtrOutput) ToGetReleaseAssetsPtrOutput() GetReleaseAssetsPtrOutput { - return o +// Whether the policy is enabled. +func (o GetSecurityPolicyDocumentScanExecutionPolicyOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicy) bool { return v.Enabled }).(pulumi.BoolOutput) } -func (o GetReleaseAssetsPtrOutput) ToGetReleaseAssetsPtrOutputWithContext(ctx context.Context) GetReleaseAssetsPtrOutput { - return o +// Name of the scan execution policy. +func (o GetSecurityPolicyDocumentScanExecutionPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicy) string { return v.Name }).(pulumi.StringOutput) } -func (o GetReleaseAssetsPtrOutput) Elem() GetReleaseAssetsOutput { - return o.ApplyT(func(v *GetReleaseAssets) GetReleaseAssets { - if v != nil { - return *v - } - var ret GetReleaseAssets - return ret - }).(GetReleaseAssetsOutput) +// Scope configuration to limit which projects the policy applies to. +func (o GetSecurityPolicyDocumentScanExecutionPolicyOutput) PolicyScope() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicy) *GetSecurityPolicyDocumentScanExecutionPolicyPolicyScope { + return v.PolicyScope + }).(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput) } -// The number of assets for a release -func (o GetReleaseAssetsPtrOutput) Count() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetReleaseAssets) *int { - if v == nil { - return nil - } - return &v.Count - }).(pulumi.IntPtrOutput) +// Rules that trigger the policy. At least one rule is required. +func (o GetSecurityPolicyDocumentScanExecutionPolicyOutput) Rules() GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicy) []GetSecurityPolicyDocumentScanExecutionPolicyRule { + return v.Rules + }).(GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput) } -// The links for a release -func (o GetReleaseAssetsPtrOutput) Links() GetReleaseAssetsLinkArrayOutput { - return o.ApplyT(func(v *GetReleaseAssets) []GetReleaseAssetsLink { - if v == nil { - return nil - } - return v.Links - }).(GetReleaseAssetsLinkArrayOutput) +// Control whether users can use the skip-ci directive. +func (o GetSecurityPolicyDocumentScanExecutionPolicyOutput) SkipCi() GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicy) *GetSecurityPolicyDocumentScanExecutionPolicySkipCi { + return v.SkipCi + }).(GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput) } -// The sources for a release -func (o GetReleaseAssetsPtrOutput) Sources() GetReleaseAssetsSourceArrayOutput { - return o.ApplyT(func(v *GetReleaseAssets) []GetReleaseAssetsSource { - if v == nil { - return nil - } - return v.Sources - }).(GetReleaseAssetsSourceArrayOutput) +type GetSecurityPolicyDocumentScanExecutionPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetSecurityPolicyDocumentScanExecutionPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSecurityPolicyDocumentScanExecutionPolicy)(nil)).Elem() } -type GetReleaseAssetsLink struct { - // The ID of the link - Id int `pulumi:"id"` - // The type of the link - LinkType string `pulumi:"linkType"` - // The name of the link - Name string `pulumi:"name"` - // The URL of the link - Url string `pulumi:"url"` +func (o GetSecurityPolicyDocumentScanExecutionPolicyArrayOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyArrayOutput() GetSecurityPolicyDocumentScanExecutionPolicyArrayOutput { + return o } -// GetReleaseAssetsLinkInput is an input type that accepts GetReleaseAssetsLinkArgs and GetReleaseAssetsLinkOutput values. -// You can construct a concrete instance of `GetReleaseAssetsLinkInput` via: +func (o GetSecurityPolicyDocumentScanExecutionPolicyArrayOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyArrayOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyArrayOutput { + return o +} + +func (o GetSecurityPolicyDocumentScanExecutionPolicyArrayOutput) Index(i pulumi.IntInput) GetSecurityPolicyDocumentScanExecutionPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSecurityPolicyDocumentScanExecutionPolicy { + return vs[0].([]GetSecurityPolicyDocumentScanExecutionPolicy)[vs[1].(int)] + }).(GetSecurityPolicyDocumentScanExecutionPolicyOutput) +} + +type GetSecurityPolicyDocumentScanExecutionPolicyAction struct { + // Type of scan to run. Valid values: `sast`, `secretDetection`, `containerScanning`, `dependencyScanning`, `dast`, `sastIac`, `clusterImageScanning`, `apiFuzzing`, `coverageFuzzing`. + Scan string `pulumi:"scan"` + // Scanner profile to use for DAST scans. + ScannerProfile *string `pulumi:"scannerProfile"` + // Site profile to use for DAST scans. + SiteProfile *string `pulumi:"siteProfile"` + // Tags to exclude from the scan. + TagsToExcludes []string `pulumi:"tagsToExcludes"` + // The template to use for the scan. Valid values: `default`, `latest`. + Template *string `pulumi:"template"` + // Environment variables to pass to the scan job. + Variables map[string]string `pulumi:"variables"` +} + +// GetSecurityPolicyDocumentScanExecutionPolicyActionInput is an input type that accepts GetSecurityPolicyDocumentScanExecutionPolicyActionArgs and GetSecurityPolicyDocumentScanExecutionPolicyActionOutput values. +// You can construct a concrete instance of `GetSecurityPolicyDocumentScanExecutionPolicyActionInput` via: // -// GetReleaseAssetsLinkArgs{...} -type GetReleaseAssetsLinkInput interface { +// GetSecurityPolicyDocumentScanExecutionPolicyActionArgs{...} +type GetSecurityPolicyDocumentScanExecutionPolicyActionInput interface { pulumi.Input - ToGetReleaseAssetsLinkOutput() GetReleaseAssetsLinkOutput - ToGetReleaseAssetsLinkOutputWithContext(context.Context) GetReleaseAssetsLinkOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyActionOutput() GetSecurityPolicyDocumentScanExecutionPolicyActionOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyActionOutputWithContext(context.Context) GetSecurityPolicyDocumentScanExecutionPolicyActionOutput } -type GetReleaseAssetsLinkArgs struct { - // The ID of the link - Id pulumi.IntInput `pulumi:"id"` - // The type of the link - LinkType pulumi.StringInput `pulumi:"linkType"` - // The name of the link - Name pulumi.StringInput `pulumi:"name"` - // The URL of the link - Url pulumi.StringInput `pulumi:"url"` +type GetSecurityPolicyDocumentScanExecutionPolicyActionArgs struct { + // Type of scan to run. Valid values: `sast`, `secretDetection`, `containerScanning`, `dependencyScanning`, `dast`, `sastIac`, `clusterImageScanning`, `apiFuzzing`, `coverageFuzzing`. + Scan pulumi.StringInput `pulumi:"scan"` + // Scanner profile to use for DAST scans. + ScannerProfile pulumi.StringPtrInput `pulumi:"scannerProfile"` + // Site profile to use for DAST scans. + SiteProfile pulumi.StringPtrInput `pulumi:"siteProfile"` + // Tags to exclude from the scan. + TagsToExcludes pulumi.StringArrayInput `pulumi:"tagsToExcludes"` + // The template to use for the scan. Valid values: `default`, `latest`. + Template pulumi.StringPtrInput `pulumi:"template"` + // Environment variables to pass to the scan job. + Variables pulumi.StringMapInput `pulumi:"variables"` } -func (GetReleaseAssetsLinkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetReleaseAssetsLink)(nil)).Elem() +func (GetSecurityPolicyDocumentScanExecutionPolicyActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyAction)(nil)).Elem() } -func (i GetReleaseAssetsLinkArgs) ToGetReleaseAssetsLinkOutput() GetReleaseAssetsLinkOutput { - return i.ToGetReleaseAssetsLinkOutputWithContext(context.Background()) +func (i GetSecurityPolicyDocumentScanExecutionPolicyActionArgs) ToGetSecurityPolicyDocumentScanExecutionPolicyActionOutput() GetSecurityPolicyDocumentScanExecutionPolicyActionOutput { + return i.ToGetSecurityPolicyDocumentScanExecutionPolicyActionOutputWithContext(context.Background()) } -func (i GetReleaseAssetsLinkArgs) ToGetReleaseAssetsLinkOutputWithContext(ctx context.Context) GetReleaseAssetsLinkOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetReleaseAssetsLinkOutput) +func (i GetSecurityPolicyDocumentScanExecutionPolicyActionArgs) ToGetSecurityPolicyDocumentScanExecutionPolicyActionOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityPolicyDocumentScanExecutionPolicyActionOutput) } -// GetReleaseAssetsLinkArrayInput is an input type that accepts GetReleaseAssetsLinkArray and GetReleaseAssetsLinkArrayOutput values. -// You can construct a concrete instance of `GetReleaseAssetsLinkArrayInput` via: +// GetSecurityPolicyDocumentScanExecutionPolicyActionArrayInput is an input type that accepts GetSecurityPolicyDocumentScanExecutionPolicyActionArray and GetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput values. +// You can construct a concrete instance of `GetSecurityPolicyDocumentScanExecutionPolicyActionArrayInput` via: // -// GetReleaseAssetsLinkArray{ GetReleaseAssetsLinkArgs{...} } -type GetReleaseAssetsLinkArrayInput interface { +// GetSecurityPolicyDocumentScanExecutionPolicyActionArray{ GetSecurityPolicyDocumentScanExecutionPolicyActionArgs{...} } +type GetSecurityPolicyDocumentScanExecutionPolicyActionArrayInput interface { pulumi.Input - ToGetReleaseAssetsLinkArrayOutput() GetReleaseAssetsLinkArrayOutput - ToGetReleaseAssetsLinkArrayOutputWithContext(context.Context) GetReleaseAssetsLinkArrayOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput() GetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutputWithContext(context.Context) GetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput } -type GetReleaseAssetsLinkArray []GetReleaseAssetsLinkInput +type GetSecurityPolicyDocumentScanExecutionPolicyActionArray []GetSecurityPolicyDocumentScanExecutionPolicyActionInput -func (GetReleaseAssetsLinkArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetReleaseAssetsLink)(nil)).Elem() +func (GetSecurityPolicyDocumentScanExecutionPolicyActionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSecurityPolicyDocumentScanExecutionPolicyAction)(nil)).Elem() } -func (i GetReleaseAssetsLinkArray) ToGetReleaseAssetsLinkArrayOutput() GetReleaseAssetsLinkArrayOutput { - return i.ToGetReleaseAssetsLinkArrayOutputWithContext(context.Background()) +func (i GetSecurityPolicyDocumentScanExecutionPolicyActionArray) ToGetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput() GetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput { + return i.ToGetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutputWithContext(context.Background()) } -func (i GetReleaseAssetsLinkArray) ToGetReleaseAssetsLinkArrayOutputWithContext(ctx context.Context) GetReleaseAssetsLinkArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetReleaseAssetsLinkArrayOutput) +func (i GetSecurityPolicyDocumentScanExecutionPolicyActionArray) ToGetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput) } -type GetReleaseAssetsLinkOutput struct{ *pulumi.OutputState } +type GetSecurityPolicyDocumentScanExecutionPolicyActionOutput struct{ *pulumi.OutputState } -func (GetReleaseAssetsLinkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetReleaseAssetsLink)(nil)).Elem() +func (GetSecurityPolicyDocumentScanExecutionPolicyActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyAction)(nil)).Elem() } -func (o GetReleaseAssetsLinkOutput) ToGetReleaseAssetsLinkOutput() GetReleaseAssetsLinkOutput { +func (o GetSecurityPolicyDocumentScanExecutionPolicyActionOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyActionOutput() GetSecurityPolicyDocumentScanExecutionPolicyActionOutput { return o } -func (o GetReleaseAssetsLinkOutput) ToGetReleaseAssetsLinkOutputWithContext(ctx context.Context) GetReleaseAssetsLinkOutput { +func (o GetSecurityPolicyDocumentScanExecutionPolicyActionOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyActionOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyActionOutput { return o } -// The ID of the link -func (o GetReleaseAssetsLinkOutput) Id() pulumi.IntOutput { - return o.ApplyT(func(v GetReleaseAssetsLink) int { return v.Id }).(pulumi.IntOutput) +// Type of scan to run. Valid values: `sast`, `secretDetection`, `containerScanning`, `dependencyScanning`, `dast`, `sastIac`, `clusterImageScanning`, `apiFuzzing`, `coverageFuzzing`. +func (o GetSecurityPolicyDocumentScanExecutionPolicyActionOutput) Scan() pulumi.StringOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicyAction) string { return v.Scan }).(pulumi.StringOutput) } -// The type of the link -func (o GetReleaseAssetsLinkOutput) LinkType() pulumi.StringOutput { - return o.ApplyT(func(v GetReleaseAssetsLink) string { return v.LinkType }).(pulumi.StringOutput) +// Scanner profile to use for DAST scans. +func (o GetSecurityPolicyDocumentScanExecutionPolicyActionOutput) ScannerProfile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicyAction) *string { return v.ScannerProfile }).(pulumi.StringPtrOutput) } -// The name of the link -func (o GetReleaseAssetsLinkOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetReleaseAssetsLink) string { return v.Name }).(pulumi.StringOutput) +// Site profile to use for DAST scans. +func (o GetSecurityPolicyDocumentScanExecutionPolicyActionOutput) SiteProfile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicyAction) *string { return v.SiteProfile }).(pulumi.StringPtrOutput) } -// The URL of the link -func (o GetReleaseAssetsLinkOutput) Url() pulumi.StringOutput { - return o.ApplyT(func(v GetReleaseAssetsLink) string { return v.Url }).(pulumi.StringOutput) +// Tags to exclude from the scan. +func (o GetSecurityPolicyDocumentScanExecutionPolicyActionOutput) TagsToExcludes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicyAction) []string { return v.TagsToExcludes }).(pulumi.StringArrayOutput) } -type GetReleaseAssetsLinkArrayOutput struct{ *pulumi.OutputState } +// The template to use for the scan. Valid values: `default`, `latest`. +func (o GetSecurityPolicyDocumentScanExecutionPolicyActionOutput) Template() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicyAction) *string { return v.Template }).(pulumi.StringPtrOutput) +} -func (GetReleaseAssetsLinkArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetReleaseAssetsLink)(nil)).Elem() +// Environment variables to pass to the scan job. +func (o GetSecurityPolicyDocumentScanExecutionPolicyActionOutput) Variables() pulumi.StringMapOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicyAction) map[string]string { return v.Variables }).(pulumi.StringMapOutput) } -func (o GetReleaseAssetsLinkArrayOutput) ToGetReleaseAssetsLinkArrayOutput() GetReleaseAssetsLinkArrayOutput { +type GetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput struct{ *pulumi.OutputState } + +func (GetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSecurityPolicyDocumentScanExecutionPolicyAction)(nil)).Elem() +} + +func (o GetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput() GetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput { return o } -func (o GetReleaseAssetsLinkArrayOutput) ToGetReleaseAssetsLinkArrayOutputWithContext(ctx context.Context) GetReleaseAssetsLinkArrayOutput { +func (o GetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput { return o } -func (o GetReleaseAssetsLinkArrayOutput) Index(i pulumi.IntInput) GetReleaseAssetsLinkOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReleaseAssetsLink { - return vs[0].([]GetReleaseAssetsLink)[vs[1].(int)] - }).(GetReleaseAssetsLinkOutput) +func (o GetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput) Index(i pulumi.IntInput) GetSecurityPolicyDocumentScanExecutionPolicyActionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSecurityPolicyDocumentScanExecutionPolicyAction { + return vs[0].([]GetSecurityPolicyDocumentScanExecutionPolicyAction)[vs[1].(int)] + }).(GetSecurityPolicyDocumentScanExecutionPolicyActionOutput) } -type GetReleaseAssetsSource struct { - // The format of the source - Format string `pulumi:"format"` - // The URL of the source - Url string `pulumi:"url"` +type GetSecurityPolicyDocumentScanExecutionPolicyPolicyScope struct { + // Compliance framework names to scope the policy to. + ComplianceFrameworks []string `pulumi:"complianceFrameworks"` + // Project scope configuration. + Projects *GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects `pulumi:"projects"` } -// GetReleaseAssetsSourceInput is an input type that accepts GetReleaseAssetsSourceArgs and GetReleaseAssetsSourceOutput values. -// You can construct a concrete instance of `GetReleaseAssetsSourceInput` via: +// GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeInput is an input type that accepts GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeArgs and GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput values. +// You can construct a concrete instance of `GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeInput` via: // -// GetReleaseAssetsSourceArgs{...} -type GetReleaseAssetsSourceInput interface { +// GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeArgs{...} +type GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeInput interface { pulumi.Input - ToGetReleaseAssetsSourceOutput() GetReleaseAssetsSourceOutput - ToGetReleaseAssetsSourceOutputWithContext(context.Context) GetReleaseAssetsSourceOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutputWithContext(context.Context) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput } -type GetReleaseAssetsSourceArgs struct { - // The format of the source - Format pulumi.StringInput `pulumi:"format"` - // The URL of the source - Url pulumi.StringInput `pulumi:"url"` +type GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeArgs struct { + // Compliance framework names to scope the policy to. + ComplianceFrameworks pulumi.StringArrayInput `pulumi:"complianceFrameworks"` + // Project scope configuration. + Projects GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrInput `pulumi:"projects"` } -func (GetReleaseAssetsSourceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetReleaseAssetsSource)(nil)).Elem() +func (GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyPolicyScope)(nil)).Elem() } -func (i GetReleaseAssetsSourceArgs) ToGetReleaseAssetsSourceOutput() GetReleaseAssetsSourceOutput { - return i.ToGetReleaseAssetsSourceOutputWithContext(context.Background()) +func (i GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeArgs) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput { + return i.ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutputWithContext(context.Background()) } -func (i GetReleaseAssetsSourceArgs) ToGetReleaseAssetsSourceOutputWithContext(ctx context.Context) GetReleaseAssetsSourceOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetReleaseAssetsSourceOutput) +func (i GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeArgs) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput) } -// GetReleaseAssetsSourceArrayInput is an input type that accepts GetReleaseAssetsSourceArray and GetReleaseAssetsSourceArrayOutput values. -// You can construct a concrete instance of `GetReleaseAssetsSourceArrayInput` via: +func (i GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeArgs) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput { + return i.ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutputWithContext(context.Background()) +} + +func (i GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeArgs) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput).ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutputWithContext(ctx) +} + +// GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrInput is an input type that accepts GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeArgs, GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtr and GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput values. +// You can construct a concrete instance of `GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrInput` via: // -// GetReleaseAssetsSourceArray{ GetReleaseAssetsSourceArgs{...} } -type GetReleaseAssetsSourceArrayInput interface { +// GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeArgs{...} +// +// or: +// +// nil +type GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrInput interface { pulumi.Input - ToGetReleaseAssetsSourceArrayOutput() GetReleaseAssetsSourceArrayOutput - ToGetReleaseAssetsSourceArrayOutputWithContext(context.Context) GetReleaseAssetsSourceArrayOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutputWithContext(context.Context) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput } -type GetReleaseAssetsSourceArray []GetReleaseAssetsSourceInput +type getSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrType GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeArgs -func (GetReleaseAssetsSourceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetReleaseAssetsSource)(nil)).Elem() +func GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtr(v *GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeArgs) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrInput { + return (*getSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrType)(v) } -func (i GetReleaseAssetsSourceArray) ToGetReleaseAssetsSourceArrayOutput() GetReleaseAssetsSourceArrayOutput { - return i.ToGetReleaseAssetsSourceArrayOutputWithContext(context.Background()) +func (*getSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetSecurityPolicyDocumentScanExecutionPolicyPolicyScope)(nil)).Elem() } -func (i GetReleaseAssetsSourceArray) ToGetReleaseAssetsSourceArrayOutputWithContext(ctx context.Context) GetReleaseAssetsSourceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetReleaseAssetsSourceArrayOutput) +func (i *getSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrType) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput { + return i.ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutputWithContext(context.Background()) } -type GetReleaseAssetsSourceOutput struct{ *pulumi.OutputState } +func (i *getSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrType) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput) +} -func (GetReleaseAssetsSourceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetReleaseAssetsSource)(nil)).Elem() +type GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput struct{ *pulumi.OutputState } + +func (GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyPolicyScope)(nil)).Elem() } -func (o GetReleaseAssetsSourceOutput) ToGetReleaseAssetsSourceOutput() GetReleaseAssetsSourceOutput { +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput { return o } -func (o GetReleaseAssetsSourceOutput) ToGetReleaseAssetsSourceOutputWithContext(ctx context.Context) GetReleaseAssetsSourceOutput { +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput { return o } -// The format of the source -func (o GetReleaseAssetsSourceOutput) Format() pulumi.StringOutput { - return o.ApplyT(func(v GetReleaseAssetsSource) string { return v.Format }).(pulumi.StringOutput) +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput { + return o.ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutputWithContext(context.Background()) } -// The URL of the source -func (o GetReleaseAssetsSourceOutput) Url() pulumi.StringOutput { - return o.ApplyT(func(v GetReleaseAssetsSource) string { return v.Url }).(pulumi.StringOutput) +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetSecurityPolicyDocumentScanExecutionPolicyPolicyScope) *GetSecurityPolicyDocumentScanExecutionPolicyPolicyScope { + return &v + }).(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput) } -type GetReleaseAssetsSourceArrayOutput struct{ *pulumi.OutputState } +// Compliance framework names to scope the policy to. +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput) ComplianceFrameworks() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicyPolicyScope) []string { + return v.ComplianceFrameworks + }).(pulumi.StringArrayOutput) +} -func (GetReleaseAssetsSourceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetReleaseAssetsSource)(nil)).Elem() +// Project scope configuration. +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput) Projects() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicyPolicyScope) *GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects { + return v.Projects + }).(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput) } -func (o GetReleaseAssetsSourceArrayOutput) ToGetReleaseAssetsSourceArrayOutput() GetReleaseAssetsSourceArrayOutput { +type GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput struct{ *pulumi.OutputState } + +func (GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetSecurityPolicyDocumentScanExecutionPolicyPolicyScope)(nil)).Elem() +} + +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput { return o } -func (o GetReleaseAssetsSourceArrayOutput) ToGetReleaseAssetsSourceArrayOutputWithContext(ctx context.Context) GetReleaseAssetsSourceArrayOutput { +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput { return o } -func (o GetReleaseAssetsSourceArrayOutput) Index(i pulumi.IntInput) GetReleaseAssetsSourceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReleaseAssetsSource { - return vs[0].([]GetReleaseAssetsSource)[vs[1].(int)] - }).(GetReleaseAssetsSourceOutput) +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput) Elem() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput { + return o.ApplyT(func(v *GetSecurityPolicyDocumentScanExecutionPolicyPolicyScope) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScope { + if v != nil { + return *v + } + var ret GetSecurityPolicyDocumentScanExecutionPolicyPolicyScope + return ret + }).(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput) } -type GetReleaseLinksReleaseLink struct { - // Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). - DirectAssetUrl string `pulumi:"directAssetUrl"` - // External or internal link. - External bool `pulumi:"external"` - // Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). - Filepath string `pulumi:"filepath"` - // The ID of the link. - LinkId int `pulumi:"linkId"` - // The type of the link. Valid values are `other`, `runbook`, `image`, `package`. Defaults to other. - LinkType string `pulumi:"linkType"` - // The name of the link. Link names must be unique within the release. - Name string `pulumi:"name"` - // The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding). - Project string `pulumi:"project"` - // The tag associated with the Release. - TagName string `pulumi:"tagName"` - // The URL of the link. Link URLs must be unique within the release. - Url string `pulumi:"url"` +// Compliance framework names to scope the policy to. +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput) ComplianceFrameworks() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GetSecurityPolicyDocumentScanExecutionPolicyPolicyScope) []string { + if v == nil { + return nil + } + return v.ComplianceFrameworks + }).(pulumi.StringArrayOutput) } -// GetReleaseLinksReleaseLinkInput is an input type that accepts GetReleaseLinksReleaseLinkArgs and GetReleaseLinksReleaseLinkOutput values. -// You can construct a concrete instance of `GetReleaseLinksReleaseLinkInput` via: +// Project scope configuration. +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput) Projects() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput { + return o.ApplyT(func(v *GetSecurityPolicyDocumentScanExecutionPolicyPolicyScope) *GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects { + if v == nil { + return nil + } + return v.Projects + }).(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput) +} + +type GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects struct { + // List of project IDs to exclude from this policy. + Excludings []int `pulumi:"excludings"` + // List of project IDs to explicitly include in this policy. + Includings []int `pulumi:"includings"` +} + +// GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsInput is an input type that accepts GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsArgs and GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput values. +// You can construct a concrete instance of `GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsInput` via: // -// GetReleaseLinksReleaseLinkArgs{...} -type GetReleaseLinksReleaseLinkInput interface { +// GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsArgs{...} +type GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsInput interface { pulumi.Input - ToGetReleaseLinksReleaseLinkOutput() GetReleaseLinksReleaseLinkOutput - ToGetReleaseLinksReleaseLinkOutputWithContext(context.Context) GetReleaseLinksReleaseLinkOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutputWithContext(context.Context) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput } -type GetReleaseLinksReleaseLinkArgs struct { - // Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). - DirectAssetUrl pulumi.StringInput `pulumi:"directAssetUrl"` - // External or internal link. - External pulumi.BoolInput `pulumi:"external"` - // Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). - Filepath pulumi.StringInput `pulumi:"filepath"` - // The ID of the link. - LinkId pulumi.IntInput `pulumi:"linkId"` - // The type of the link. Valid values are `other`, `runbook`, `image`, `package`. Defaults to other. - LinkType pulumi.StringInput `pulumi:"linkType"` - // The name of the link. Link names must be unique within the release. - Name pulumi.StringInput `pulumi:"name"` - // The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding). - Project pulumi.StringInput `pulumi:"project"` - // The tag associated with the Release. - TagName pulumi.StringInput `pulumi:"tagName"` - // The URL of the link. Link URLs must be unique within the release. - Url pulumi.StringInput `pulumi:"url"` +type GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsArgs struct { + // List of project IDs to exclude from this policy. + Excludings pulumi.IntArrayInput `pulumi:"excludings"` + // List of project IDs to explicitly include in this policy. + Includings pulumi.IntArrayInput `pulumi:"includings"` } -func (GetReleaseLinksReleaseLinkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetReleaseLinksReleaseLink)(nil)).Elem() +func (GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects)(nil)).Elem() } -func (i GetReleaseLinksReleaseLinkArgs) ToGetReleaseLinksReleaseLinkOutput() GetReleaseLinksReleaseLinkOutput { - return i.ToGetReleaseLinksReleaseLinkOutputWithContext(context.Background()) +func (i GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsArgs) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput { + return i.ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutputWithContext(context.Background()) } -func (i GetReleaseLinksReleaseLinkArgs) ToGetReleaseLinksReleaseLinkOutputWithContext(ctx context.Context) GetReleaseLinksReleaseLinkOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetReleaseLinksReleaseLinkOutput) +func (i GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsArgs) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput) } -// GetReleaseLinksReleaseLinkArrayInput is an input type that accepts GetReleaseLinksReleaseLinkArray and GetReleaseLinksReleaseLinkArrayOutput values. -// You can construct a concrete instance of `GetReleaseLinksReleaseLinkArrayInput` via: -// -// GetReleaseLinksReleaseLinkArray{ GetReleaseLinksReleaseLinkArgs{...} } -type GetReleaseLinksReleaseLinkArrayInput interface { - pulumi.Input - - ToGetReleaseLinksReleaseLinkArrayOutput() GetReleaseLinksReleaseLinkArrayOutput - ToGetReleaseLinksReleaseLinkArrayOutputWithContext(context.Context) GetReleaseLinksReleaseLinkArrayOutput +func (i GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsArgs) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput { + return i.ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutputWithContext(context.Background()) } -type GetReleaseLinksReleaseLinkArray []GetReleaseLinksReleaseLinkInput - -func (GetReleaseLinksReleaseLinkArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetReleaseLinksReleaseLink)(nil)).Elem() +func (i GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsArgs) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput).ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutputWithContext(ctx) } -func (i GetReleaseLinksReleaseLinkArray) ToGetReleaseLinksReleaseLinkArrayOutput() GetReleaseLinksReleaseLinkArrayOutput { - return i.ToGetReleaseLinksReleaseLinkArrayOutputWithContext(context.Background()) -} +// GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrInput is an input type that accepts GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsArgs, GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtr and GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput values. +// You can construct a concrete instance of `GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrInput` via: +// +// GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsArgs{...} +// +// or: +// +// nil +type GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrInput interface { + pulumi.Input -func (i GetReleaseLinksReleaseLinkArray) ToGetReleaseLinksReleaseLinkArrayOutputWithContext(ctx context.Context) GetReleaseLinksReleaseLinkArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetReleaseLinksReleaseLinkArrayOutput) + ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutputWithContext(context.Context) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput } -type GetReleaseLinksReleaseLinkOutput struct{ *pulumi.OutputState } +type getSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrType GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsArgs -func (GetReleaseLinksReleaseLinkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetReleaseLinksReleaseLink)(nil)).Elem() +func GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtr(v *GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsArgs) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrInput { + return (*getSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrType)(v) } -func (o GetReleaseLinksReleaseLinkOutput) ToGetReleaseLinksReleaseLinkOutput() GetReleaseLinksReleaseLinkOutput { - return o +func (*getSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects)(nil)).Elem() } -func (o GetReleaseLinksReleaseLinkOutput) ToGetReleaseLinksReleaseLinkOutputWithContext(ctx context.Context) GetReleaseLinksReleaseLinkOutput { - return o +func (i *getSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrType) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput { + return i.ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutputWithContext(context.Background()) } -// Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). -func (o GetReleaseLinksReleaseLinkOutput) DirectAssetUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetReleaseLinksReleaseLink) string { return v.DirectAssetUrl }).(pulumi.StringOutput) +func (i *getSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrType) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput) } -// External or internal link. -func (o GetReleaseLinksReleaseLinkOutput) External() pulumi.BoolOutput { - return o.ApplyT(func(v GetReleaseLinksReleaseLink) bool { return v.External }).(pulumi.BoolOutput) -} +type GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput struct{ *pulumi.OutputState } -// Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). -func (o GetReleaseLinksReleaseLinkOutput) Filepath() pulumi.StringOutput { - return o.ApplyT(func(v GetReleaseLinksReleaseLink) string { return v.Filepath }).(pulumi.StringOutput) +func (GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects)(nil)).Elem() } -// The ID of the link. -func (o GetReleaseLinksReleaseLinkOutput) LinkId() pulumi.IntOutput { - return o.ApplyT(func(v GetReleaseLinksReleaseLink) int { return v.LinkId }).(pulumi.IntOutput) +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput { + return o } -// The type of the link. Valid values are `other`, `runbook`, `image`, `package`. Defaults to other. -func (o GetReleaseLinksReleaseLinkOutput) LinkType() pulumi.StringOutput { - return o.ApplyT(func(v GetReleaseLinksReleaseLink) string { return v.LinkType }).(pulumi.StringOutput) +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput { + return o } -// The name of the link. Link names must be unique within the release. -func (o GetReleaseLinksReleaseLinkOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetReleaseLinksReleaseLink) string { return v.Name }).(pulumi.StringOutput) +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput { + return o.ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutputWithContext(context.Background()) } -// The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding). -func (o GetReleaseLinksReleaseLinkOutput) Project() pulumi.StringOutput { - return o.ApplyT(func(v GetReleaseLinksReleaseLink) string { return v.Project }).(pulumi.StringOutput) +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects) *GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects { + return &v + }).(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput) } -// The tag associated with the Release. -func (o GetReleaseLinksReleaseLinkOutput) TagName() pulumi.StringOutput { - return o.ApplyT(func(v GetReleaseLinksReleaseLink) string { return v.TagName }).(pulumi.StringOutput) +// List of project IDs to exclude from this policy. +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput) Excludings() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects) []int { return v.Excludings }).(pulumi.IntArrayOutput) } -// The URL of the link. Link URLs must be unique within the release. -func (o GetReleaseLinksReleaseLinkOutput) Url() pulumi.StringOutput { - return o.ApplyT(func(v GetReleaseLinksReleaseLink) string { return v.Url }).(pulumi.StringOutput) +// List of project IDs to explicitly include in this policy. +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput) Includings() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects) []int { return v.Includings }).(pulumi.IntArrayOutput) } -type GetReleaseLinksReleaseLinkArrayOutput struct{ *pulumi.OutputState } +type GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput struct{ *pulumi.OutputState } -func (GetReleaseLinksReleaseLinkArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetReleaseLinksReleaseLink)(nil)).Elem() +func (GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects)(nil)).Elem() } -func (o GetReleaseLinksReleaseLinkArrayOutput) ToGetReleaseLinksReleaseLinkArrayOutput() GetReleaseLinksReleaseLinkArrayOutput { +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput { return o } -func (o GetReleaseLinksReleaseLinkArrayOutput) ToGetReleaseLinksReleaseLinkArrayOutputWithContext(ctx context.Context) GetReleaseLinksReleaseLinkArrayOutput { +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput { return o } -func (o GetReleaseLinksReleaseLinkArrayOutput) Index(i pulumi.IntInput) GetReleaseLinksReleaseLinkOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReleaseLinksReleaseLink { - return vs[0].([]GetReleaseLinksReleaseLink)[vs[1].(int)] - }).(GetReleaseLinksReleaseLinkOutput) +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput) Elem() GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput { + return o.ApplyT(func(v *GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects) GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects { + if v != nil { + return *v + } + var ret GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects + return ret + }).(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput) } -type GetRepositoryTreeTree struct { - // The SHA-1 hash of the tree or blob in the repository. - Id string `pulumi:"id"` - // Unix access mode of the file in the repository. - Mode string `pulumi:"mode"` - // Name of the blob or tree in the repository - Name string `pulumi:"name"` - // Path of the object inside of the repository. - Path string `pulumi:"path"` - // Type of object in the repository. Can be either type tree or of type blob +// List of project IDs to exclude from this policy. +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput) Excludings() pulumi.IntArrayOutput { + return o.ApplyT(func(v *GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects) []int { + if v == nil { + return nil + } + return v.Excludings + }).(pulumi.IntArrayOutput) +} + +// List of project IDs to explicitly include in this policy. +func (o GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput) Includings() pulumi.IntArrayOutput { + return o.ApplyT(func(v *GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjects) []int { + if v == nil { + return nil + } + return v.Includings + }).(pulumi.IntArrayOutput) +} + +type GetSecurityPolicyDocumentScanExecutionPolicyRule struct { + // Kubernetes agents configuration for agent-based policies. + Agents map[string]string `pulumi:"agents"` + // Branches to exclude from the policy. + BranchExceptions []string `pulumi:"branchExceptions"` + // Type of branches to match. Valid values: `all`, `protected`, `default`. + BranchType *string `pulumi:"branchType"` + // Branch names or patterns to match. + Branches []string `pulumi:"branches"` + // Cron expression for schedule type rules (e.g., `*/15 * * * *` for every 15 minutes). + Cadence *string `pulumi:"cadence"` + // Type of rule. Valid values: `pipeline`, `schedule`, `agent`. Type string `pulumi:"type"` } -// GetRepositoryTreeTreeInput is an input type that accepts GetRepositoryTreeTreeArgs and GetRepositoryTreeTreeOutput values. -// You can construct a concrete instance of `GetRepositoryTreeTreeInput` via: +// GetSecurityPolicyDocumentScanExecutionPolicyRuleInput is an input type that accepts GetSecurityPolicyDocumentScanExecutionPolicyRuleArgs and GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput values. +// You can construct a concrete instance of `GetSecurityPolicyDocumentScanExecutionPolicyRuleInput` via: // -// GetRepositoryTreeTreeArgs{...} -type GetRepositoryTreeTreeInput interface { +// GetSecurityPolicyDocumentScanExecutionPolicyRuleArgs{...} +type GetSecurityPolicyDocumentScanExecutionPolicyRuleInput interface { pulumi.Input - ToGetRepositoryTreeTreeOutput() GetRepositoryTreeTreeOutput - ToGetRepositoryTreeTreeOutputWithContext(context.Context) GetRepositoryTreeTreeOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyRuleOutput() GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyRuleOutputWithContext(context.Context) GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput } -type GetRepositoryTreeTreeArgs struct { - // The SHA-1 hash of the tree or blob in the repository. - Id pulumi.StringInput `pulumi:"id"` - // Unix access mode of the file in the repository. - Mode pulumi.StringInput `pulumi:"mode"` - // Name of the blob or tree in the repository - Name pulumi.StringInput `pulumi:"name"` - // Path of the object inside of the repository. - Path pulumi.StringInput `pulumi:"path"` - // Type of object in the repository. Can be either type tree or of type blob +type GetSecurityPolicyDocumentScanExecutionPolicyRuleArgs struct { + // Kubernetes agents configuration for agent-based policies. + Agents pulumi.StringMapInput `pulumi:"agents"` + // Branches to exclude from the policy. + BranchExceptions pulumi.StringArrayInput `pulumi:"branchExceptions"` + // Type of branches to match. Valid values: `all`, `protected`, `default`. + BranchType pulumi.StringPtrInput `pulumi:"branchType"` + // Branch names or patterns to match. + Branches pulumi.StringArrayInput `pulumi:"branches"` + // Cron expression for schedule type rules (e.g., `*/15 * * * *` for every 15 minutes). + Cadence pulumi.StringPtrInput `pulumi:"cadence"` + // Type of rule. Valid values: `pipeline`, `schedule`, `agent`. Type pulumi.StringInput `pulumi:"type"` } -func (GetRepositoryTreeTreeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRepositoryTreeTree)(nil)).Elem() +func (GetSecurityPolicyDocumentScanExecutionPolicyRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyRule)(nil)).Elem() } -func (i GetRepositoryTreeTreeArgs) ToGetRepositoryTreeTreeOutput() GetRepositoryTreeTreeOutput { - return i.ToGetRepositoryTreeTreeOutputWithContext(context.Background()) +func (i GetSecurityPolicyDocumentScanExecutionPolicyRuleArgs) ToGetSecurityPolicyDocumentScanExecutionPolicyRuleOutput() GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput { + return i.ToGetSecurityPolicyDocumentScanExecutionPolicyRuleOutputWithContext(context.Background()) } -func (i GetRepositoryTreeTreeArgs) ToGetRepositoryTreeTreeOutputWithContext(ctx context.Context) GetRepositoryTreeTreeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRepositoryTreeTreeOutput) +func (i GetSecurityPolicyDocumentScanExecutionPolicyRuleArgs) ToGetSecurityPolicyDocumentScanExecutionPolicyRuleOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput) } -// GetRepositoryTreeTreeArrayInput is an input type that accepts GetRepositoryTreeTreeArray and GetRepositoryTreeTreeArrayOutput values. -// You can construct a concrete instance of `GetRepositoryTreeTreeArrayInput` via: +// GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayInput is an input type that accepts GetSecurityPolicyDocumentScanExecutionPolicyRuleArray and GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput values. +// You can construct a concrete instance of `GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayInput` via: // -// GetRepositoryTreeTreeArray{ GetRepositoryTreeTreeArgs{...} } -type GetRepositoryTreeTreeArrayInput interface { +// GetSecurityPolicyDocumentScanExecutionPolicyRuleArray{ GetSecurityPolicyDocumentScanExecutionPolicyRuleArgs{...} } +type GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayInput interface { pulumi.Input - ToGetRepositoryTreeTreeArrayOutput() GetRepositoryTreeTreeArrayOutput - ToGetRepositoryTreeTreeArrayOutputWithContext(context.Context) GetRepositoryTreeTreeArrayOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput() GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput + ToGetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutputWithContext(context.Context) GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput } -type GetRepositoryTreeTreeArray []GetRepositoryTreeTreeInput +type GetSecurityPolicyDocumentScanExecutionPolicyRuleArray []GetSecurityPolicyDocumentScanExecutionPolicyRuleInput -func (GetRepositoryTreeTreeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRepositoryTreeTree)(nil)).Elem() +func (GetSecurityPolicyDocumentScanExecutionPolicyRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSecurityPolicyDocumentScanExecutionPolicyRule)(nil)).Elem() } -func (i GetRepositoryTreeTreeArray) ToGetRepositoryTreeTreeArrayOutput() GetRepositoryTreeTreeArrayOutput { - return i.ToGetRepositoryTreeTreeArrayOutputWithContext(context.Background()) +func (i GetSecurityPolicyDocumentScanExecutionPolicyRuleArray) ToGetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput() GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput { + return i.ToGetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutputWithContext(context.Background()) } -func (i GetRepositoryTreeTreeArray) ToGetRepositoryTreeTreeArrayOutputWithContext(ctx context.Context) GetRepositoryTreeTreeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRepositoryTreeTreeArrayOutput) +func (i GetSecurityPolicyDocumentScanExecutionPolicyRuleArray) ToGetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput) } -type GetRepositoryTreeTreeOutput struct{ *pulumi.OutputState } +type GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput struct{ *pulumi.OutputState } -func (GetRepositoryTreeTreeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRepositoryTreeTree)(nil)).Elem() +func (GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyRule)(nil)).Elem() } -func (o GetRepositoryTreeTreeOutput) ToGetRepositoryTreeTreeOutput() GetRepositoryTreeTreeOutput { +func (o GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyRuleOutput() GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput { return o } -func (o GetRepositoryTreeTreeOutput) ToGetRepositoryTreeTreeOutputWithContext(ctx context.Context) GetRepositoryTreeTreeOutput { +func (o GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyRuleOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput { return o } -// The SHA-1 hash of the tree or blob in the repository. -func (o GetRepositoryTreeTreeOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetRepositoryTreeTree) string { return v.Id }).(pulumi.StringOutput) +// Kubernetes agents configuration for agent-based policies. +func (o GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput) Agents() pulumi.StringMapOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicyRule) map[string]string { return v.Agents }).(pulumi.StringMapOutput) } -// Unix access mode of the file in the repository. -func (o GetRepositoryTreeTreeOutput) Mode() pulumi.StringOutput { - return o.ApplyT(func(v GetRepositoryTreeTree) string { return v.Mode }).(pulumi.StringOutput) +// Branches to exclude from the policy. +func (o GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput) BranchExceptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicyRule) []string { return v.BranchExceptions }).(pulumi.StringArrayOutput) } -// Name of the blob or tree in the repository -func (o GetRepositoryTreeTreeOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetRepositoryTreeTree) string { return v.Name }).(pulumi.StringOutput) +// Type of branches to match. Valid values: `all`, `protected`, `default`. +func (o GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput) BranchType() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicyRule) *string { return v.BranchType }).(pulumi.StringPtrOutput) } -// Path of the object inside of the repository. -func (o GetRepositoryTreeTreeOutput) Path() pulumi.StringOutput { - return o.ApplyT(func(v GetRepositoryTreeTree) string { return v.Path }).(pulumi.StringOutput) +// Branch names or patterns to match. +func (o GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput) Branches() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicyRule) []string { return v.Branches }).(pulumi.StringArrayOutput) } -// Type of object in the repository. Can be either type tree or of type blob -func (o GetRepositoryTreeTreeOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetRepositoryTreeTree) string { return v.Type }).(pulumi.StringOutput) +// Cron expression for schedule type rules (e.g., `*/15 * * * *` for every 15 minutes). +func (o GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput) Cadence() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicyRule) *string { return v.Cadence }).(pulumi.StringPtrOutput) } -type GetRepositoryTreeTreeArrayOutput struct{ *pulumi.OutputState } +// Type of rule. Valid values: `pipeline`, `schedule`, `agent`. +func (o GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicyRule) string { return v.Type }).(pulumi.StringOutput) +} -func (GetRepositoryTreeTreeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRepositoryTreeTree)(nil)).Elem() +type GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSecurityPolicyDocumentScanExecutionPolicyRule)(nil)).Elem() } -func (o GetRepositoryTreeTreeArrayOutput) ToGetRepositoryTreeTreeArrayOutput() GetRepositoryTreeTreeArrayOutput { +func (o GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput() GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput { return o } -func (o GetRepositoryTreeTreeArrayOutput) ToGetRepositoryTreeTreeArrayOutputWithContext(ctx context.Context) GetRepositoryTreeTreeArrayOutput { +func (o GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput) ToGetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput { return o } -func (o GetRepositoryTreeTreeArrayOutput) Index(i pulumi.IntInput) GetRepositoryTreeTreeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRepositoryTreeTree { - return vs[0].([]GetRepositoryTreeTree)[vs[1].(int)] - }).(GetRepositoryTreeTreeOutput) +func (o GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput) Index(i pulumi.IntInput) GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSecurityPolicyDocumentScanExecutionPolicyRule { + return vs[0].([]GetSecurityPolicyDocumentScanExecutionPolicyRule)[vs[1].(int)] + }).(GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput) } -type GetRunnersRunner struct { - // The description of the runner. - Description string `pulumi:"description"` - // The runner id. - Id int `pulumi:"id"` - // Indicates if this is a shared runner - IsShared bool `pulumi:"isShared"` - // The connectivity status of the runner. - Online bool `pulumi:"online"` - // Indicates if the runner is accepting or ignoring new jobs. - Paused bool `pulumi:"paused"` - // The runner type. Values are `instanceType`, `groupType` and `projectType`. - RunnerType string `pulumi:"runnerType"` - // The status of the runner. Values can be `online`, `offline`, `stale`, and `neverContacted`. - Status string `pulumi:"status"` +type GetSecurityPolicyDocumentScanExecutionPolicySkipCi struct { + // Allow (true) or prevent (false) the use of skip-ci directive. + Allowed bool `pulumi:"allowed"` } -// GetRunnersRunnerInput is an input type that accepts GetRunnersRunnerArgs and GetRunnersRunnerOutput values. -// You can construct a concrete instance of `GetRunnersRunnerInput` via: +// GetSecurityPolicyDocumentScanExecutionPolicySkipCiInput is an input type that accepts GetSecurityPolicyDocumentScanExecutionPolicySkipCiArgs and GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput values. +// You can construct a concrete instance of `GetSecurityPolicyDocumentScanExecutionPolicySkipCiInput` via: // -// GetRunnersRunnerArgs{...} -type GetRunnersRunnerInput interface { +// GetSecurityPolicyDocumentScanExecutionPolicySkipCiArgs{...} +type GetSecurityPolicyDocumentScanExecutionPolicySkipCiInput interface { pulumi.Input - ToGetRunnersRunnerOutput() GetRunnersRunnerOutput - ToGetRunnersRunnerOutputWithContext(context.Context) GetRunnersRunnerOutput + ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput() GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput + ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiOutputWithContext(context.Context) GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput } -type GetRunnersRunnerArgs struct { - // The description of the runner. - Description pulumi.StringInput `pulumi:"description"` - // The runner id. - Id pulumi.IntInput `pulumi:"id"` - // Indicates if this is a shared runner - IsShared pulumi.BoolInput `pulumi:"isShared"` - // The connectivity status of the runner. - Online pulumi.BoolInput `pulumi:"online"` - // Indicates if the runner is accepting or ignoring new jobs. - Paused pulumi.BoolInput `pulumi:"paused"` - // The runner type. Values are `instanceType`, `groupType` and `projectType`. - RunnerType pulumi.StringInput `pulumi:"runnerType"` - // The status of the runner. Values can be `online`, `offline`, `stale`, and `neverContacted`. - Status pulumi.StringInput `pulumi:"status"` +type GetSecurityPolicyDocumentScanExecutionPolicySkipCiArgs struct { + // Allow (true) or prevent (false) the use of skip-ci directive. + Allowed pulumi.BoolInput `pulumi:"allowed"` } -func (GetRunnersRunnerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRunnersRunner)(nil)).Elem() +func (GetSecurityPolicyDocumentScanExecutionPolicySkipCiArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicySkipCi)(nil)).Elem() } -func (i GetRunnersRunnerArgs) ToGetRunnersRunnerOutput() GetRunnersRunnerOutput { - return i.ToGetRunnersRunnerOutputWithContext(context.Background()) +func (i GetSecurityPolicyDocumentScanExecutionPolicySkipCiArgs) ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput() GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput { + return i.ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiOutputWithContext(context.Background()) } -func (i GetRunnersRunnerArgs) ToGetRunnersRunnerOutputWithContext(ctx context.Context) GetRunnersRunnerOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRunnersRunnerOutput) +func (i GetSecurityPolicyDocumentScanExecutionPolicySkipCiArgs) ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput) } -// GetRunnersRunnerArrayInput is an input type that accepts GetRunnersRunnerArray and GetRunnersRunnerArrayOutput values. -// You can construct a concrete instance of `GetRunnersRunnerArrayInput` via: -// -// GetRunnersRunnerArray{ GetRunnersRunnerArgs{...} } -type GetRunnersRunnerArrayInput interface { - pulumi.Input - - ToGetRunnersRunnerArrayOutput() GetRunnersRunnerArrayOutput - ToGetRunnersRunnerArrayOutputWithContext(context.Context) GetRunnersRunnerArrayOutput +func (i GetSecurityPolicyDocumentScanExecutionPolicySkipCiArgs) ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput() GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput { + return i.ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutputWithContext(context.Background()) } -type GetRunnersRunnerArray []GetRunnersRunnerInput - -func (GetRunnersRunnerArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRunnersRunner)(nil)).Elem() +func (i GetSecurityPolicyDocumentScanExecutionPolicySkipCiArgs) ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput).ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutputWithContext(ctx) } -func (i GetRunnersRunnerArray) ToGetRunnersRunnerArrayOutput() GetRunnersRunnerArrayOutput { - return i.ToGetRunnersRunnerArrayOutputWithContext(context.Background()) -} +// GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrInput is an input type that accepts GetSecurityPolicyDocumentScanExecutionPolicySkipCiArgs, GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtr and GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput values. +// You can construct a concrete instance of `GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrInput` via: +// +// GetSecurityPolicyDocumentScanExecutionPolicySkipCiArgs{...} +// +// or: +// +// nil +type GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrInput interface { + pulumi.Input -func (i GetRunnersRunnerArray) ToGetRunnersRunnerArrayOutputWithContext(ctx context.Context) GetRunnersRunnerArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRunnersRunnerArrayOutput) + ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput() GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput + ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutputWithContext(context.Context) GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput } -type GetRunnersRunnerOutput struct{ *pulumi.OutputState } +type getSecurityPolicyDocumentScanExecutionPolicySkipCiPtrType GetSecurityPolicyDocumentScanExecutionPolicySkipCiArgs -func (GetRunnersRunnerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRunnersRunner)(nil)).Elem() +func GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtr(v *GetSecurityPolicyDocumentScanExecutionPolicySkipCiArgs) GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrInput { + return (*getSecurityPolicyDocumentScanExecutionPolicySkipCiPtrType)(v) } -func (o GetRunnersRunnerOutput) ToGetRunnersRunnerOutput() GetRunnersRunnerOutput { - return o +func (*getSecurityPolicyDocumentScanExecutionPolicySkipCiPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetSecurityPolicyDocumentScanExecutionPolicySkipCi)(nil)).Elem() } -func (o GetRunnersRunnerOutput) ToGetRunnersRunnerOutputWithContext(ctx context.Context) GetRunnersRunnerOutput { - return o +func (i *getSecurityPolicyDocumentScanExecutionPolicySkipCiPtrType) ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput() GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput { + return i.ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutputWithContext(context.Background()) } -// The description of the runner. -func (o GetRunnersRunnerOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetRunnersRunner) string { return v.Description }).(pulumi.StringOutput) +func (i *getSecurityPolicyDocumentScanExecutionPolicySkipCiPtrType) ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput) } -// The runner id. -func (o GetRunnersRunnerOutput) Id() pulumi.IntOutput { - return o.ApplyT(func(v GetRunnersRunner) int { return v.Id }).(pulumi.IntOutput) +type GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput struct{ *pulumi.OutputState } + +func (GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicySkipCi)(nil)).Elem() } -// Indicates if this is a shared runner -func (o GetRunnersRunnerOutput) IsShared() pulumi.BoolOutput { - return o.ApplyT(func(v GetRunnersRunner) bool { return v.IsShared }).(pulumi.BoolOutput) +func (o GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput) ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput() GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput { + return o } -// The connectivity status of the runner. -func (o GetRunnersRunnerOutput) Online() pulumi.BoolOutput { - return o.ApplyT(func(v GetRunnersRunner) bool { return v.Online }).(pulumi.BoolOutput) +func (o GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput) ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput { + return o } -// Indicates if the runner is accepting or ignoring new jobs. -func (o GetRunnersRunnerOutput) Paused() pulumi.BoolOutput { - return o.ApplyT(func(v GetRunnersRunner) bool { return v.Paused }).(pulumi.BoolOutput) +func (o GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput) ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput() GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput { + return o.ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutputWithContext(context.Background()) } -// The runner type. Values are `instanceType`, `groupType` and `projectType`. -func (o GetRunnersRunnerOutput) RunnerType() pulumi.StringOutput { - return o.ApplyT(func(v GetRunnersRunner) string { return v.RunnerType }).(pulumi.StringOutput) +func (o GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput) ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetSecurityPolicyDocumentScanExecutionPolicySkipCi) *GetSecurityPolicyDocumentScanExecutionPolicySkipCi { + return &v + }).(GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput) } -// The status of the runner. Values can be `online`, `offline`, `stale`, and `neverContacted`. -func (o GetRunnersRunnerOutput) Status() pulumi.StringOutput { - return o.ApplyT(func(v GetRunnersRunner) string { return v.Status }).(pulumi.StringOutput) +// Allow (true) or prevent (false) the use of skip-ci directive. +func (o GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput) Allowed() pulumi.BoolOutput { + return o.ApplyT(func(v GetSecurityPolicyDocumentScanExecutionPolicySkipCi) bool { return v.Allowed }).(pulumi.BoolOutput) } -type GetRunnersRunnerArrayOutput struct{ *pulumi.OutputState } +type GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput struct{ *pulumi.OutputState } -func (GetRunnersRunnerArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRunnersRunner)(nil)).Elem() +func (GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetSecurityPolicyDocumentScanExecutionPolicySkipCi)(nil)).Elem() } -func (o GetRunnersRunnerArrayOutput) ToGetRunnersRunnerArrayOutput() GetRunnersRunnerArrayOutput { +func (o GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput) ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput() GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput { return o } -func (o GetRunnersRunnerArrayOutput) ToGetRunnersRunnerArrayOutputWithContext(ctx context.Context) GetRunnersRunnerArrayOutput { +func (o GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput) ToGetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutputWithContext(ctx context.Context) GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput { return o } -func (o GetRunnersRunnerArrayOutput) Index(i pulumi.IntInput) GetRunnersRunnerOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRunnersRunner { - return vs[0].([]GetRunnersRunner)[vs[1].(int)] - }).(GetRunnersRunnerOutput) +func (o GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput) Elem() GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput { + return o.ApplyT(func(v *GetSecurityPolicyDocumentScanExecutionPolicySkipCi) GetSecurityPolicyDocumentScanExecutionPolicySkipCi { + if v != nil { + return *v + } + var ret GetSecurityPolicyDocumentScanExecutionPolicySkipCi + return ret + }).(GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput) +} + +// Allow (true) or prevent (false) the use of skip-ci directive. +func (o GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput) Allowed() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetSecurityPolicyDocumentScanExecutionPolicySkipCi) *bool { + if v == nil { + return nil + } + return &v.Allowed + }).(pulumi.BoolPtrOutput) } type GetUserSshkeysKey struct { @@ -16598,24 +20735,34 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GroupPushRulesPtrInput)(nil)).Elem(), GroupPushRulesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GroupServiceAccountAccessTokenRotationConfigurationInput)(nil)).Elem(), GroupServiceAccountAccessTokenRotationConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GroupServiceAccountAccessTokenRotationConfigurationPtrInput)(nil)).Elem(), GroupServiceAccountAccessTokenRotationConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GroupServiceAccountTimeoutsInput)(nil)).Elem(), GroupServiceAccountTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GroupServiceAccountTimeoutsPtrInput)(nil)).Elem(), GroupServiceAccountTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceServiceAccountTimeoutsInput)(nil)).Elem(), InstanceServiceAccountTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceServiceAccountTimeoutsPtrInput)(nil)).Elem(), InstanceServiceAccountTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PersonalAccessTokenRotationConfigurationInput)(nil)).Elem(), PersonalAccessTokenRotationConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PersonalAccessTokenRotationConfigurationPtrInput)(nil)).Elem(), PersonalAccessTokenRotationConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PipelineScheduleInputTypeInput)(nil)).Elem(), PipelineScheduleInputTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PipelineScheduleInputTypeArrayInput)(nil)).Elem(), PipelineScheduleInputTypeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectAccessTokenRotationConfigurationInput)(nil)).Elem(), ProjectAccessTokenRotationConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectAccessTokenRotationConfigurationPtrInput)(nil)).Elem(), ProjectAccessTokenRotationConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectContainerExpirationPolicyInput)(nil)).Elem(), ProjectContainerExpirationPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectContainerExpirationPolicyPtrInput)(nil)).Elem(), ProjectContainerExpirationPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectContainerTagProtectionTimeoutsInput)(nil)).Elem(), ProjectContainerTagProtectionTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectContainerTagProtectionTimeoutsPtrInput)(nil)).Elem(), ProjectContainerTagProtectionTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectHookCustomHeaderInput)(nil)).Elem(), ProjectHookCustomHeaderArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectHookCustomHeaderArrayInput)(nil)).Elem(), ProjectHookCustomHeaderArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectIssueBoardListInput)(nil)).Elem(), ProjectIssueBoardListArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectIssueBoardListArrayInput)(nil)).Elem(), ProjectIssueBoardListArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectIssueTaskCompletionStatusInput)(nil)).Elem(), ProjectIssueTaskCompletionStatusArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectIssueTaskCompletionStatusArrayInput)(nil)).Elem(), ProjectIssueTaskCompletionStatusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPagesSettingsDeploymentInput)(nil)).Elem(), ProjectPagesSettingsDeploymentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPagesSettingsDeploymentArrayInput)(nil)).Elem(), ProjectPagesSettingsDeploymentArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectProtectedEnvironmentApprovalRuleInput)(nil)).Elem(), ProjectProtectedEnvironmentApprovalRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectProtectedEnvironmentApprovalRuleArrayInput)(nil)).Elem(), ProjectProtectedEnvironmentApprovalRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectProtectedEnvironmentDeployAccessLevelInput)(nil)).Elem(), ProjectProtectedEnvironmentDeployAccessLevelArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectProtectedEnvironmentDeployAccessLevelArrayInput)(nil)).Elem(), ProjectProtectedEnvironmentDeployAccessLevelArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectProtectedEnvironmentDeployAccessLevelsAttributeInput)(nil)).Elem(), ProjectProtectedEnvironmentDeployAccessLevelsAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayInput)(nil)).Elem(), ProjectProtectedEnvironmentDeployAccessLevelsAttributeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectPushRulesTypeInput)(nil)).Elem(), ProjectPushRulesTypeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectPushRulesTypePtrInput)(nil)).Elem(), ProjectPushRulesTypeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectTagCommitInput)(nil)).Elem(), ProjectTagCommitArgs{}) @@ -16646,8 +20793,13 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetGroupHooksHookArrayInput)(nil)).Elem(), GetGroupHooksHookArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetGroupMembershipMemberInput)(nil)).Elem(), GetGroupMembershipMemberArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetGroupMembershipMemberArrayInput)(nil)).Elem(), GetGroupMembershipMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGroupMembershipMemberGroupSamlIdentityInput)(nil)).Elem(), GetGroupMembershipMemberGroupSamlIdentityArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetGroupProvisionedUsersProvisionedUserInput)(nil)).Elem(), GetGroupProvisionedUsersProvisionedUserArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetGroupProvisionedUsersProvisionedUserArrayInput)(nil)).Elem(), GetGroupProvisionedUsersProvisionedUserArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGroupSamlLinksSamlLinkInput)(nil)).Elem(), GetGroupSamlLinksSamlLinkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGroupSamlLinksSamlLinkArrayInput)(nil)).Elem(), GetGroupSamlLinksSamlLinkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGroupServiceAccountAccessTokensAccessTokenInput)(nil)).Elem(), GetGroupServiceAccountAccessTokensAccessTokenArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGroupServiceAccountAccessTokensAccessTokenArrayInput)(nil)).Elem(), GetGroupServiceAccountAccessTokensAccessTokenArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetGroupSharedWithGroupInput)(nil)).Elem(), GetGroupSharedWithGroupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetGroupSharedWithGroupArrayInput)(nil)).Elem(), GetGroupSharedWithGroupArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetGroupSubgroupsSubgroupInput)(nil)).Elem(), GetGroupSubgroupsSubgroupArgs{}) @@ -16663,6 +20815,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceVariablesVariableInput)(nil)).Elem(), GetInstanceVariablesVariableArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceVariablesVariableArrayInput)(nil)).Elem(), GetInstanceVariablesVariableArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetMetadataKasInput)(nil)).Elem(), GetMetadataKasArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPipelineScheduleInputInput)(nil)).Elem(), GetPipelineScheduleInputArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPipelineScheduleInputArrayInput)(nil)).Elem(), GetPipelineScheduleInputArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPipelineScheduleLastPipelineInput)(nil)).Elem(), GetPipelineScheduleLastPipelineArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPipelineScheduleOwnerInput)(nil)).Elem(), GetPipelineScheduleOwnerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPipelineScheduleVariableTypeInput)(nil)).Elem(), GetPipelineScheduleVariableTypeArgs{}) @@ -16670,6 +20824,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetPipelineSchedulesPipelineScheduleInput)(nil)).Elem(), GetPipelineSchedulesPipelineScheduleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPipelineSchedulesPipelineScheduleArrayInput)(nil)).Elem(), GetPipelineSchedulesPipelineScheduleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPipelineSchedulesPipelineScheduleOwnerInput)(nil)).Elem(), GetPipelineSchedulesPipelineScheduleOwnerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectAccessTokensAccessTokenInput)(nil)).Elem(), GetProjectAccessTokensAccessTokenArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectAccessTokensAccessTokenArrayInput)(nil)).Elem(), GetProjectAccessTokensAccessTokenArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectApprovalRulesApprovalRuleInput)(nil)).Elem(), GetProjectApprovalRulesApprovalRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectApprovalRulesApprovalRuleArrayInput)(nil)).Elem(), GetProjectApprovalRulesApprovalRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectBranchesBranchInput)(nil)).Elem(), GetProjectBranchesBranchArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectBranchesBranchArrayInput)(nil)).Elem(), GetProjectBranchesBranchArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectBranchesBranchCommitInput)(nil)).Elem(), GetProjectBranchesBranchCommitArgs{}) @@ -16680,18 +20838,30 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetProjectEnvironmentsEnvironmentArrayInput)(nil)).Elem(), GetProjectEnvironmentsEnvironmentArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectHooksHookInput)(nil)).Elem(), GetProjectHooksHookArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectHooksHookArrayInput)(nil)).Elem(), GetProjectHooksHookArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectIssueLabelEventsEventInput)(nil)).Elem(), GetProjectIssueLabelEventsEventArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectIssueLabelEventsEventArrayInput)(nil)).Elem(), GetProjectIssueLabelEventsEventArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectIssueLabelEventsEventLabelInput)(nil)).Elem(), GetProjectIssueLabelEventsEventLabelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectIssueLabelEventsEventUserInput)(nil)).Elem(), GetProjectIssueLabelEventsEventUserArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectIssueTaskCompletionStatusInput)(nil)).Elem(), GetProjectIssueTaskCompletionStatusArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectIssueTaskCompletionStatusArrayInput)(nil)).Elem(), GetProjectIssueTaskCompletionStatusArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectIssuesIssueInput)(nil)).Elem(), GetProjectIssuesIssueArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectIssuesIssueArrayInput)(nil)).Elem(), GetProjectIssuesIssueArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectIssuesIssueTaskCompletionStatusInput)(nil)).Elem(), GetProjectIssuesIssueTaskCompletionStatusArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectIssuesIssueTaskCompletionStatusArrayInput)(nil)).Elem(), GetProjectIssuesIssueTaskCompletionStatusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectLabelsLabelInput)(nil)).Elem(), GetProjectLabelsLabelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectLabelsLabelArrayInput)(nil)).Elem(), GetProjectLabelsLabelArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectMembershipMemberInput)(nil)).Elem(), GetProjectMembershipMemberArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectMembershipMemberArrayInput)(nil)).Elem(), GetProjectMembershipMemberArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectMergeRequestAssigneeInput)(nil)).Elem(), GetProjectMergeRequestAssigneeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectMergeRequestAssigneeArrayInput)(nil)).Elem(), GetProjectMergeRequestAssigneeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectMergeRequestAuthorInput)(nil)).Elem(), GetProjectMergeRequestAuthorArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectMergeRequestClosedByInput)(nil)).Elem(), GetProjectMergeRequestClosedByArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectMergeRequestsMergeRequestInput)(nil)).Elem(), GetProjectMergeRequestsMergeRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectMergeRequestsMergeRequestArrayInput)(nil)).Elem(), GetProjectMergeRequestsMergeRequestArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectMergeRequestsMergeRequestAssigneeInput)(nil)).Elem(), GetProjectMergeRequestsMergeRequestAssigneeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectMergeRequestsMergeRequestAssigneeArrayInput)(nil)).Elem(), GetProjectMergeRequestsMergeRequestAssigneeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectMergeRequestsMergeRequestAuthorInput)(nil)).Elem(), GetProjectMergeRequestsMergeRequestAuthorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectMergeRequestsMergeRequestClosedByInput)(nil)).Elem(), GetProjectMergeRequestsMergeRequestClosedByArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectMilestonesMilestoneInput)(nil)).Elem(), GetProjectMilestonesMilestoneArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectMilestonesMilestoneArrayInput)(nil)).Elem(), GetProjectMilestonesMilestoneArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectProtectedBranchMergeAccessLevelInput)(nil)).Elem(), GetProjectProtectedBranchMergeAccessLevelArgs{}) @@ -16712,6 +20882,9 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayInput)(nil)).Elem(), GetProjectProtectedTagsProtectedTagCreateAccessLevelArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectPushRuleInput)(nil)).Elem(), GetProjectPushRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectPushRuleArrayInput)(nil)).Elem(), GetProjectPushRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectSecureFileMetadataInput)(nil)).Elem(), GetProjectSecureFileMetadataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectSecureFileMetadataIssuerInput)(nil)).Elem(), GetProjectSecureFileMetadataIssuerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectSecureFileMetadataSubjectInput)(nil)).Elem(), GetProjectSecureFileMetadataSubjectArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectSharedWithGroupInput)(nil)).Elem(), GetProjectSharedWithGroupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectSharedWithGroupArrayInput)(nil)).Elem(), GetProjectSharedWithGroupArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectTagCommitInput)(nil)).Elem(), GetProjectTagCommitArgs{}) @@ -16750,8 +20923,26 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetReleaseLinksReleaseLinkArrayInput)(nil)).Elem(), GetReleaseLinksReleaseLinkArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRepositoryTreeTreeInput)(nil)).Elem(), GetRepositoryTreeTreeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRepositoryTreeTreeArrayInput)(nil)).Elem(), GetRepositoryTreeTreeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRunnerControllerScopesInstanceLevelScopingInput)(nil)).Elem(), GetRunnerControllerScopesInstanceLevelScopingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRunnerControllerScopesInstanceLevelScopingArrayInput)(nil)).Elem(), GetRunnerControllerScopesInstanceLevelScopingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRunnerControllerScopesRunnerLevelScopingInput)(nil)).Elem(), GetRunnerControllerScopesRunnerLevelScopingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRunnerControllerScopesRunnerLevelScopingArrayInput)(nil)).Elem(), GetRunnerControllerScopesRunnerLevelScopingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRunnerControllersRunnerControllerInput)(nil)).Elem(), GetRunnerControllersRunnerControllerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRunnerControllersRunnerControllerArrayInput)(nil)).Elem(), GetRunnerControllersRunnerControllerArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRunnersRunnerInput)(nil)).Elem(), GetRunnersRunnerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRunnersRunnerArrayInput)(nil)).Elem(), GetRunnersRunnerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyInput)(nil)).Elem(), GetSecurityPolicyDocumentScanExecutionPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyArrayInput)(nil)).Elem(), GetSecurityPolicyDocumentScanExecutionPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyActionInput)(nil)).Elem(), GetSecurityPolicyDocumentScanExecutionPolicyActionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyActionArrayInput)(nil)).Elem(), GetSecurityPolicyDocumentScanExecutionPolicyActionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeInput)(nil)).Elem(), GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrInput)(nil)).Elem(), GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsInput)(nil)).Elem(), GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrInput)(nil)).Elem(), GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyRuleInput)(nil)).Elem(), GetSecurityPolicyDocumentScanExecutionPolicyRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayInput)(nil)).Elem(), GetSecurityPolicyDocumentScanExecutionPolicyRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicySkipCiInput)(nil)).Elem(), GetSecurityPolicyDocumentScanExecutionPolicySkipCiArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrInput)(nil)).Elem(), GetSecurityPolicyDocumentScanExecutionPolicySkipCiArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserSshkeysKeyInput)(nil)).Elem(), GetUserSshkeysKeyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserSshkeysKeyArrayInput)(nil)).Elem(), GetUserSshkeysKeyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUsersUserInput)(nil)).Elem(), GetUsersUserArgs{}) @@ -16784,24 +20975,34 @@ func init() { pulumi.RegisterOutputType(GroupPushRulesPtrOutput{}) pulumi.RegisterOutputType(GroupServiceAccountAccessTokenRotationConfigurationOutput{}) pulumi.RegisterOutputType(GroupServiceAccountAccessTokenRotationConfigurationPtrOutput{}) + pulumi.RegisterOutputType(GroupServiceAccountTimeoutsOutput{}) + pulumi.RegisterOutputType(GroupServiceAccountTimeoutsPtrOutput{}) pulumi.RegisterOutputType(InstanceServiceAccountTimeoutsOutput{}) pulumi.RegisterOutputType(InstanceServiceAccountTimeoutsPtrOutput{}) pulumi.RegisterOutputType(PersonalAccessTokenRotationConfigurationOutput{}) pulumi.RegisterOutputType(PersonalAccessTokenRotationConfigurationPtrOutput{}) + pulumi.RegisterOutputType(PipelineScheduleInputTypeOutput{}) + pulumi.RegisterOutputType(PipelineScheduleInputTypeArrayOutput{}) pulumi.RegisterOutputType(ProjectAccessTokenRotationConfigurationOutput{}) pulumi.RegisterOutputType(ProjectAccessTokenRotationConfigurationPtrOutput{}) pulumi.RegisterOutputType(ProjectContainerExpirationPolicyOutput{}) pulumi.RegisterOutputType(ProjectContainerExpirationPolicyPtrOutput{}) + pulumi.RegisterOutputType(ProjectContainerTagProtectionTimeoutsOutput{}) + pulumi.RegisterOutputType(ProjectContainerTagProtectionTimeoutsPtrOutput{}) pulumi.RegisterOutputType(ProjectHookCustomHeaderOutput{}) pulumi.RegisterOutputType(ProjectHookCustomHeaderArrayOutput{}) pulumi.RegisterOutputType(ProjectIssueBoardListOutput{}) pulumi.RegisterOutputType(ProjectIssueBoardListArrayOutput{}) pulumi.RegisterOutputType(ProjectIssueTaskCompletionStatusOutput{}) pulumi.RegisterOutputType(ProjectIssueTaskCompletionStatusArrayOutput{}) + pulumi.RegisterOutputType(ProjectPagesSettingsDeploymentOutput{}) + pulumi.RegisterOutputType(ProjectPagesSettingsDeploymentArrayOutput{}) pulumi.RegisterOutputType(ProjectProtectedEnvironmentApprovalRuleOutput{}) pulumi.RegisterOutputType(ProjectProtectedEnvironmentApprovalRuleArrayOutput{}) pulumi.RegisterOutputType(ProjectProtectedEnvironmentDeployAccessLevelOutput{}) pulumi.RegisterOutputType(ProjectProtectedEnvironmentDeployAccessLevelArrayOutput{}) + pulumi.RegisterOutputType(ProjectProtectedEnvironmentDeployAccessLevelsAttributeOutput{}) + pulumi.RegisterOutputType(ProjectProtectedEnvironmentDeployAccessLevelsAttributeArrayOutput{}) pulumi.RegisterOutputType(ProjectPushRulesTypeOutput{}) pulumi.RegisterOutputType(ProjectPushRulesTypePtrOutput{}) pulumi.RegisterOutputType(ProjectTagCommitOutput{}) @@ -16832,8 +21033,13 @@ func init() { pulumi.RegisterOutputType(GetGroupHooksHookArrayOutput{}) pulumi.RegisterOutputType(GetGroupMembershipMemberOutput{}) pulumi.RegisterOutputType(GetGroupMembershipMemberArrayOutput{}) + pulumi.RegisterOutputType(GetGroupMembershipMemberGroupSamlIdentityOutput{}) pulumi.RegisterOutputType(GetGroupProvisionedUsersProvisionedUserOutput{}) pulumi.RegisterOutputType(GetGroupProvisionedUsersProvisionedUserArrayOutput{}) + pulumi.RegisterOutputType(GetGroupSamlLinksSamlLinkOutput{}) + pulumi.RegisterOutputType(GetGroupSamlLinksSamlLinkArrayOutput{}) + pulumi.RegisterOutputType(GetGroupServiceAccountAccessTokensAccessTokenOutput{}) + pulumi.RegisterOutputType(GetGroupServiceAccountAccessTokensAccessTokenArrayOutput{}) pulumi.RegisterOutputType(GetGroupSharedWithGroupOutput{}) pulumi.RegisterOutputType(GetGroupSharedWithGroupArrayOutput{}) pulumi.RegisterOutputType(GetGroupSubgroupsSubgroupOutput{}) @@ -16849,6 +21055,8 @@ func init() { pulumi.RegisterOutputType(GetInstanceVariablesVariableOutput{}) pulumi.RegisterOutputType(GetInstanceVariablesVariableArrayOutput{}) pulumi.RegisterOutputType(GetMetadataKasOutput{}) + pulumi.RegisterOutputType(GetPipelineScheduleInputOutput{}) + pulumi.RegisterOutputType(GetPipelineScheduleInputArrayOutput{}) pulumi.RegisterOutputType(GetPipelineScheduleLastPipelineOutput{}) pulumi.RegisterOutputType(GetPipelineScheduleOwnerOutput{}) pulumi.RegisterOutputType(GetPipelineScheduleVariableTypeOutput{}) @@ -16856,6 +21064,10 @@ func init() { pulumi.RegisterOutputType(GetPipelineSchedulesPipelineScheduleOutput{}) pulumi.RegisterOutputType(GetPipelineSchedulesPipelineScheduleArrayOutput{}) pulumi.RegisterOutputType(GetPipelineSchedulesPipelineScheduleOwnerOutput{}) + pulumi.RegisterOutputType(GetProjectAccessTokensAccessTokenOutput{}) + pulumi.RegisterOutputType(GetProjectAccessTokensAccessTokenArrayOutput{}) + pulumi.RegisterOutputType(GetProjectApprovalRulesApprovalRuleOutput{}) + pulumi.RegisterOutputType(GetProjectApprovalRulesApprovalRuleArrayOutput{}) pulumi.RegisterOutputType(GetProjectBranchesBranchOutput{}) pulumi.RegisterOutputType(GetProjectBranchesBranchArrayOutput{}) pulumi.RegisterOutputType(GetProjectBranchesBranchCommitOutput{}) @@ -16866,18 +21078,30 @@ func init() { pulumi.RegisterOutputType(GetProjectEnvironmentsEnvironmentArrayOutput{}) pulumi.RegisterOutputType(GetProjectHooksHookOutput{}) pulumi.RegisterOutputType(GetProjectHooksHookArrayOutput{}) + pulumi.RegisterOutputType(GetProjectIssueLabelEventsEventOutput{}) + pulumi.RegisterOutputType(GetProjectIssueLabelEventsEventArrayOutput{}) + pulumi.RegisterOutputType(GetProjectIssueLabelEventsEventLabelOutput{}) + pulumi.RegisterOutputType(GetProjectIssueLabelEventsEventUserOutput{}) pulumi.RegisterOutputType(GetProjectIssueTaskCompletionStatusOutput{}) pulumi.RegisterOutputType(GetProjectIssueTaskCompletionStatusArrayOutput{}) pulumi.RegisterOutputType(GetProjectIssuesIssueOutput{}) pulumi.RegisterOutputType(GetProjectIssuesIssueArrayOutput{}) pulumi.RegisterOutputType(GetProjectIssuesIssueTaskCompletionStatusOutput{}) pulumi.RegisterOutputType(GetProjectIssuesIssueTaskCompletionStatusArrayOutput{}) + pulumi.RegisterOutputType(GetProjectLabelsLabelOutput{}) + pulumi.RegisterOutputType(GetProjectLabelsLabelArrayOutput{}) pulumi.RegisterOutputType(GetProjectMembershipMemberOutput{}) pulumi.RegisterOutputType(GetProjectMembershipMemberArrayOutput{}) pulumi.RegisterOutputType(GetProjectMergeRequestAssigneeOutput{}) pulumi.RegisterOutputType(GetProjectMergeRequestAssigneeArrayOutput{}) pulumi.RegisterOutputType(GetProjectMergeRequestAuthorOutput{}) pulumi.RegisterOutputType(GetProjectMergeRequestClosedByOutput{}) + pulumi.RegisterOutputType(GetProjectMergeRequestsMergeRequestOutput{}) + pulumi.RegisterOutputType(GetProjectMergeRequestsMergeRequestArrayOutput{}) + pulumi.RegisterOutputType(GetProjectMergeRequestsMergeRequestAssigneeOutput{}) + pulumi.RegisterOutputType(GetProjectMergeRequestsMergeRequestAssigneeArrayOutput{}) + pulumi.RegisterOutputType(GetProjectMergeRequestsMergeRequestAuthorOutput{}) + pulumi.RegisterOutputType(GetProjectMergeRequestsMergeRequestClosedByOutput{}) pulumi.RegisterOutputType(GetProjectMilestonesMilestoneOutput{}) pulumi.RegisterOutputType(GetProjectMilestonesMilestoneArrayOutput{}) pulumi.RegisterOutputType(GetProjectProtectedBranchMergeAccessLevelOutput{}) @@ -16898,6 +21122,9 @@ func init() { pulumi.RegisterOutputType(GetProjectProtectedTagsProtectedTagCreateAccessLevelArrayOutput{}) pulumi.RegisterOutputType(GetProjectPushRuleOutput{}) pulumi.RegisterOutputType(GetProjectPushRuleArrayOutput{}) + pulumi.RegisterOutputType(GetProjectSecureFileMetadataOutput{}) + pulumi.RegisterOutputType(GetProjectSecureFileMetadataIssuerOutput{}) + pulumi.RegisterOutputType(GetProjectSecureFileMetadataSubjectOutput{}) pulumi.RegisterOutputType(GetProjectSharedWithGroupOutput{}) pulumi.RegisterOutputType(GetProjectSharedWithGroupArrayOutput{}) pulumi.RegisterOutputType(GetProjectTagCommitOutput{}) @@ -16936,8 +21163,26 @@ func init() { pulumi.RegisterOutputType(GetReleaseLinksReleaseLinkArrayOutput{}) pulumi.RegisterOutputType(GetRepositoryTreeTreeOutput{}) pulumi.RegisterOutputType(GetRepositoryTreeTreeArrayOutput{}) + pulumi.RegisterOutputType(GetRunnerControllerScopesInstanceLevelScopingOutput{}) + pulumi.RegisterOutputType(GetRunnerControllerScopesInstanceLevelScopingArrayOutput{}) + pulumi.RegisterOutputType(GetRunnerControllerScopesRunnerLevelScopingOutput{}) + pulumi.RegisterOutputType(GetRunnerControllerScopesRunnerLevelScopingArrayOutput{}) + pulumi.RegisterOutputType(GetRunnerControllersRunnerControllerOutput{}) + pulumi.RegisterOutputType(GetRunnerControllersRunnerControllerArrayOutput{}) pulumi.RegisterOutputType(GetRunnersRunnerOutput{}) pulumi.RegisterOutputType(GetRunnersRunnerArrayOutput{}) + pulumi.RegisterOutputType(GetSecurityPolicyDocumentScanExecutionPolicyOutput{}) + pulumi.RegisterOutputType(GetSecurityPolicyDocumentScanExecutionPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetSecurityPolicyDocumentScanExecutionPolicyActionOutput{}) + pulumi.RegisterOutputType(GetSecurityPolicyDocumentScanExecutionPolicyActionArrayOutput{}) + pulumi.RegisterOutputType(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeOutput{}) + pulumi.RegisterOutputType(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopePtrOutput{}) + pulumi.RegisterOutputType(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsOutput{}) + pulumi.RegisterOutputType(GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsPtrOutput{}) + pulumi.RegisterOutputType(GetSecurityPolicyDocumentScanExecutionPolicyRuleOutput{}) + pulumi.RegisterOutputType(GetSecurityPolicyDocumentScanExecutionPolicyRuleArrayOutput{}) + pulumi.RegisterOutputType(GetSecurityPolicyDocumentScanExecutionPolicySkipCiOutput{}) + pulumi.RegisterOutputType(GetSecurityPolicyDocumentScanExecutionPolicySkipCiPtrOutput{}) pulumi.RegisterOutputType(GetUserSshkeysKeyOutput{}) pulumi.RegisterOutputType(GetUserSshkeysKeyArrayOutput{}) pulumi.RegisterOutputType(GetUsersUserOutput{}) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/release.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/release.go similarity index 96% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/release.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/release.go index eccd149ec..6cfb6e9d5 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/release.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/release.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `Release` resource allows to manage the lifecycle of releases in gitlab. +// The `Release` resource manages the lifecycle of releases in gitlab. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/releases/) // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -57,21 +57,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_release`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `Release`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_release.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// Gitlab release link can be imported with a key composed of `:`, e.g. +// Gitlab release link can be imported with a key composed of `:`, for example: // // ```sh // $ pulumi import gitlab:index/release:Release example "12345:test" diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/releaseLink.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/releaseLink.go similarity index 85% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/releaseLink.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/releaseLink.go index 47003ba4e..db4c5b7c5 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/releaseLink.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/releaseLink.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ReleaseLink` resource allows to manage the lifecycle of a release link. +// The `ReleaseLink` resource manages the lifecycle of a release link. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/releases/links/) // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -56,21 +56,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_release_link`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `ReleaseLink`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_release_link.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// Gitlab release link can be imported with a key composed of `::`, e.g. +// Gitlab release link can be imported with a key composed of `::`, for example: // // ```sh // $ pulumi import gitlab:index/releaseLink:ReleaseLink example "12345:test:2" @@ -78,19 +68,19 @@ import ( type ReleaseLink struct { pulumi.CustomResourceState - // Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). + // Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). DirectAssetUrl pulumi.StringOutput `pulumi:"directAssetUrl"` // External or internal link. External pulumi.BoolOutput `pulumi:"external"` - // Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). + // Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). Filepath pulumi.StringPtrOutput `pulumi:"filepath"` // The ID of the link. LinkId pulumi.IntOutput `pulumi:"linkId"` // The type of the link. Valid values are `other`, `runbook`, `image`, `package`. Defaults to other. - LinkType pulumi.StringPtrOutput `pulumi:"linkType"` + LinkType pulumi.StringOutput `pulumi:"linkType"` // The name of the link. Link names must be unique within the release. Name pulumi.StringOutput `pulumi:"name"` - // The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding). + // The ID or Namespace path of the project. Project pulumi.StringOutput `pulumi:"project"` // The tag associated with the Release. TagName pulumi.StringOutput `pulumi:"tagName"` @@ -137,11 +127,11 @@ func GetReleaseLink(ctx *pulumi.Context, // Input properties used for looking up and filtering ReleaseLink resources. type releaseLinkState struct { - // Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). + // Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). DirectAssetUrl *string `pulumi:"directAssetUrl"` // External or internal link. External *bool `pulumi:"external"` - // Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). + // Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). Filepath *string `pulumi:"filepath"` // The ID of the link. LinkId *int `pulumi:"linkId"` @@ -149,7 +139,7 @@ type releaseLinkState struct { LinkType *string `pulumi:"linkType"` // The name of the link. Link names must be unique within the release. Name *string `pulumi:"name"` - // The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding). + // The ID or Namespace path of the project. Project *string `pulumi:"project"` // The tag associated with the Release. TagName *string `pulumi:"tagName"` @@ -158,11 +148,11 @@ type releaseLinkState struct { } type ReleaseLinkState struct { - // Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). + // Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). DirectAssetUrl pulumi.StringPtrInput // External or internal link. External pulumi.BoolPtrInput - // Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). + // Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). Filepath pulumi.StringPtrInput // The ID of the link. LinkId pulumi.IntPtrInput @@ -170,7 +160,7 @@ type ReleaseLinkState struct { LinkType pulumi.StringPtrInput // The name of the link. Link names must be unique within the release. Name pulumi.StringPtrInput - // The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding). + // The ID or Namespace path of the project. Project pulumi.StringPtrInput // The tag associated with the Release. TagName pulumi.StringPtrInput @@ -183,13 +173,13 @@ func (ReleaseLinkState) ElementType() reflect.Type { } type releaseLinkArgs struct { - // Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). + // Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). Filepath *string `pulumi:"filepath"` // The type of the link. Valid values are `other`, `runbook`, `image`, `package`. Defaults to other. LinkType *string `pulumi:"linkType"` // The name of the link. Link names must be unique within the release. Name *string `pulumi:"name"` - // The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding). + // The ID or Namespace path of the project. Project string `pulumi:"project"` // The tag associated with the Release. TagName string `pulumi:"tagName"` @@ -199,13 +189,13 @@ type releaseLinkArgs struct { // The set of arguments for constructing a ReleaseLink resource. type ReleaseLinkArgs struct { - // Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). + // Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). Filepath pulumi.StringPtrInput // The type of the link. Valid values are `other`, `runbook`, `image`, `package`. Defaults to other. LinkType pulumi.StringPtrInput // The name of the link. Link names must be unique within the release. Name pulumi.StringPtrInput - // The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding). + // The ID or Namespace path of the project. Project pulumi.StringInput // The tag associated with the Release. TagName pulumi.StringInput @@ -300,7 +290,7 @@ func (o ReleaseLinkOutput) ToReleaseLinkOutputWithContext(ctx context.Context) R return o } -// Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). +// Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). func (o ReleaseLinkOutput) DirectAssetUrl() pulumi.StringOutput { return o.ApplyT(func(v *ReleaseLink) pulumi.StringOutput { return v.DirectAssetUrl }).(pulumi.StringOutput) } @@ -310,7 +300,7 @@ func (o ReleaseLinkOutput) External() pulumi.BoolOutput { return o.ApplyT(func(v *ReleaseLink) pulumi.BoolOutput { return v.External }).(pulumi.BoolOutput) } -// Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets). +// Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets). func (o ReleaseLinkOutput) Filepath() pulumi.StringPtrOutput { return o.ApplyT(func(v *ReleaseLink) pulumi.StringPtrOutput { return v.Filepath }).(pulumi.StringPtrOutput) } @@ -321,8 +311,8 @@ func (o ReleaseLinkOutput) LinkId() pulumi.IntOutput { } // The type of the link. Valid values are `other`, `runbook`, `image`, `package`. Defaults to other. -func (o ReleaseLinkOutput) LinkType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ReleaseLink) pulumi.StringPtrOutput { return v.LinkType }).(pulumi.StringPtrOutput) +func (o ReleaseLinkOutput) LinkType() pulumi.StringOutput { + return o.ApplyT(func(v *ReleaseLink) pulumi.StringOutput { return v.LinkType }).(pulumi.StringOutput) } // The name of the link. Link names must be unique within the release. @@ -330,7 +320,7 @@ func (o ReleaseLinkOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *ReleaseLink) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding). +// The ID or Namespace path of the project. func (o ReleaseLinkOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v *ReleaseLink) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/repositoryFile.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/repositoryFile.go similarity index 91% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/repositoryFile.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/repositoryFile.go index bfa655c7d..c032eeed4 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/repositoryFile.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/repositoryFile.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,10 +8,22 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// The `RepositoryFile` resource manages the lifecycle of a file within a repository. +// +// > **Timeouts** Default timeout for *Create*, *Update* and *Delete* is one minute and can be configured in the `timeouts` block. +// +// > **Implementation Detail** GitLab is unable to handle concurrent calls to the GitLab repository files API for the same project. +// +// Therefore, this resource queues every call to the repository files API no matter of the project, which may slow down the terraform +// execution time for some configurations. In addition, retries are performed in case a refresh is required because another application +// changed the repository at the same time. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/repository_files/) +// // ## Example Usage // // ```go @@ -19,7 +31,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi-std/sdk/go/std" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // @@ -53,6 +65,7 @@ import ( // Project: thisProject.ID(), // FilePath: pulumi.String("meow.txt"), // Branch: pulumi.String("main"), +// Encoding: pulumi.String("base64"), // Content: pulumi.String(invokeBase64encode.Result), // AuthorEmail: pulumi.String("terraform@example.com"), // AuthorName: pulumi.String("Terraform"), @@ -65,6 +78,7 @@ import ( // Project: thisProject.ID(), // FilePath: pulumi.String("readme.txt"), // Branch: pulumi.String("main"), +// Encoding: pulumi.String("text"), // Content: pulumi.String("Meow goes the cat"), // AuthorEmail: pulumi.String("terraform@example.com"), // AuthorName: pulumi.String("Terraform"), @@ -77,6 +91,7 @@ import ( // Project: thisProject.ID(), // FilePath: pulumi.String("readme.txt"), // Branch: pulumi.String("main"), +// Encoding: pulumi.String("text"), // Content: pulumi.String("Bark goes the dog"), // AuthorEmail: pulumi.String("terraform@example.com"), // AuthorName: pulumi.String("Terraform"), @@ -94,25 +109,17 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_repository_file`. For example: -// -// terraform -// -// import { +// Starting in Terraform v1.5.0, you can use an import block to import `RepositoryFile`. For example: // -// to = gitlab_repository_file.example +// Importing using the CLI is supported with the following syntax: // -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// A Repository File can be imported using an id made up of `::`, e.g. +// A Repository File can be imported using an id made up of `::`, for example: // // ```sh // $ pulumi import gitlab:index/repositoryFile:RepositoryFile this 1:main:foo/bar.txt // ``` +// +// Where `project` may be the product ID or path with namespace depending on what you have in your config. type RepositoryFile struct { pulumi.CustomResourceState @@ -136,8 +143,8 @@ type RepositoryFile struct { CreateCommitMessage pulumi.StringPtrOutput `pulumi:"createCommitMessage"` // Delete Commit message. DeleteCommitMessage pulumi.StringPtrOutput `pulumi:"deleteCommitMessage"` - // The file content encoding. Default value is `base64`. Valid values are: `base64`, `text`. - Encoding pulumi.StringPtrOutput `pulumi:"encoding"` + // The file content encoding. Valid values are: `base64`, `text`. + Encoding pulumi.StringOutput `pulumi:"encoding"` // Enables or disables the execute flag on the file. ExecuteFilemode pulumi.BoolPtrOutput `pulumi:"executeFilemode"` // The filename. @@ -173,6 +180,9 @@ func NewRepositoryFile(ctx *pulumi.Context, if args.Content == nil { return nil, errors.New("invalid value for required argument 'Content'") } + if args.Encoding == nil { + return nil, errors.New("invalid value for required argument 'Encoding'") + } if args.FilePath == nil { return nil, errors.New("invalid value for required argument 'FilePath'") } @@ -222,7 +232,7 @@ type repositoryFileState struct { CreateCommitMessage *string `pulumi:"createCommitMessage"` // Delete Commit message. DeleteCommitMessage *string `pulumi:"deleteCommitMessage"` - // The file content encoding. Default value is `base64`. Valid values are: `base64`, `text`. + // The file content encoding. Valid values are: `base64`, `text`. Encoding *string `pulumi:"encoding"` // Enables or disables the execute flag on the file. ExecuteFilemode *bool `pulumi:"executeFilemode"` @@ -267,7 +277,7 @@ type RepositoryFileState struct { CreateCommitMessage pulumi.StringPtrInput // Delete Commit message. DeleteCommitMessage pulumi.StringPtrInput - // The file content encoding. Default value is `base64`. Valid values are: `base64`, `text`. + // The file content encoding. Valid values are: `base64`, `text`. Encoding pulumi.StringPtrInput // Enables or disables the execute flag on the file. ExecuteFilemode pulumi.BoolPtrInput @@ -310,8 +320,8 @@ type repositoryFileArgs struct { CreateCommitMessage *string `pulumi:"createCommitMessage"` // Delete Commit message. DeleteCommitMessage *string `pulumi:"deleteCommitMessage"` - // The file content encoding. Default value is `base64`. Valid values are: `base64`, `text`. - Encoding *string `pulumi:"encoding"` + // The file content encoding. Valid values are: `base64`, `text`. + Encoding string `pulumi:"encoding"` // Enables or disables the execute flag on the file. ExecuteFilemode *bool `pulumi:"executeFilemode"` // The full path of the file. It must be relative to the root of the project without a leading slash `/` or `./`. @@ -342,8 +352,8 @@ type RepositoryFileArgs struct { CreateCommitMessage pulumi.StringPtrInput // Delete Commit message. DeleteCommitMessage pulumi.StringPtrInput - // The file content encoding. Default value is `base64`. Valid values are: `base64`, `text`. - Encoding pulumi.StringPtrInput + // The file content encoding. Valid values are: `base64`, `text`. + Encoding pulumi.StringInput // Enables or disables the execute flag on the file. ExecuteFilemode pulumi.BoolPtrInput // The full path of the file. It must be relative to the root of the project without a leading slash `/` or `./`. @@ -495,9 +505,9 @@ func (o RepositoryFileOutput) DeleteCommitMessage() pulumi.StringPtrOutput { return o.ApplyT(func(v *RepositoryFile) pulumi.StringPtrOutput { return v.DeleteCommitMessage }).(pulumi.StringPtrOutput) } -// The file content encoding. Default value is `base64`. Valid values are: `base64`, `text`. -func (o RepositoryFileOutput) Encoding() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RepositoryFile) pulumi.StringPtrOutput { return v.Encoding }).(pulumi.StringPtrOutput) +// The file content encoding. Valid values are: `base64`, `text`. +func (o RepositoryFileOutput) Encoding() pulumi.StringOutput { + return o.ApplyT(func(v *RepositoryFile) pulumi.StringOutput { return v.Encoding }).(pulumi.StringOutput) } // Enables or disables the execute flag on the file. diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/runner.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/runner.go similarity index 95% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/runner.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/runner.go index 9eefe0568..69aca42b1 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/runner.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/runner.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,35 +8,27 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `Runner` resource allows to manage the lifecycle of a runner. +// The `Runner` resource manages the lifecycle of a runner. +// +// > This resource has been deprecated in favor of the `UserRunner` resource. Please use that resource, and the new registration flow, instead. To be removed in 19.0. // // A runner can either be registered at an instance level or group level. // The runner will be registered at a group level if the token used is from a group, or at an instance level if the token used is for the instance. // -// ~ > Using this resource will register a runner using the deprecated `registrationToken` flow. To use the new `authenticationToken` flow instead, +// > Using this resource will register a runner using the deprecated `registrationToken` flow. To use the new `authenticationToken` flow instead, // use the `UserRunner` resource! // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/runners/#register-a-new-runner) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/runners/) // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_runner`. For example: -// -// terraform -// -// import { -// -// to = gitlab_runner.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `Runner`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // // # A GitLab Runner can be imported using the runner's ID, eg // diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/runnerController.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/runnerController.go new file mode 100644 index 000000000..6b6655fc1 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/runnerController.go @@ -0,0 +1,285 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `RunnerController` resource manages the lifecycle of a runner controller. +// +// > This resource is **experimental** and may change or be removed in future versions. Introduced in GitLab 18.9. +// +// > This resource requires administration privileges. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/runner_controllers/) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.NewRunnerController(ctx, "example", &gitlab.RunnerControllerArgs{ +// Description: pulumi.String("My runner controller"), +// State: pulumi.String("enabled"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type RunnerController struct { + pulumi.CustomResourceState + + // The time the runner controller was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The description of the runner controller. + Description pulumi.StringOutput `pulumi:"description"` + // The state of the runner controller. Valid values are: `disabled`, `enabled`, `dryRun`. + State pulumi.StringOutput `pulumi:"state"` + // The time the runner controller was last updated. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewRunnerController registers a new resource with the given unique name, arguments, and options. +func NewRunnerController(ctx *pulumi.Context, + name string, args *RunnerControllerArgs, opts ...pulumi.ResourceOption) (*RunnerController, error) { + if args == nil { + args = &RunnerControllerArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource RunnerController + err := ctx.RegisterResource("gitlab:index/runnerController:RunnerController", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRunnerController gets an existing RunnerController resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetRunnerController(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RunnerControllerState, opts ...pulumi.ResourceOption) (*RunnerController, error) { + var resource RunnerController + err := ctx.ReadResource("gitlab:index/runnerController:RunnerController", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RunnerController resources. +type runnerControllerState struct { + // The time the runner controller was created. + CreatedAt *string `pulumi:"createdAt"` + // The description of the runner controller. + Description *string `pulumi:"description"` + // The state of the runner controller. Valid values are: `disabled`, `enabled`, `dryRun`. + State *string `pulumi:"state"` + // The time the runner controller was last updated. + UpdatedAt *string `pulumi:"updatedAt"` +} + +type RunnerControllerState struct { + // The time the runner controller was created. + CreatedAt pulumi.StringPtrInput + // The description of the runner controller. + Description pulumi.StringPtrInput + // The state of the runner controller. Valid values are: `disabled`, `enabled`, `dryRun`. + State pulumi.StringPtrInput + // The time the runner controller was last updated. + UpdatedAt pulumi.StringPtrInput +} + +func (RunnerControllerState) ElementType() reflect.Type { + return reflect.TypeOf((*runnerControllerState)(nil)).Elem() +} + +type runnerControllerArgs struct { + // The description of the runner controller. + Description *string `pulumi:"description"` + // The state of the runner controller. Valid values are: `disabled`, `enabled`, `dryRun`. + State *string `pulumi:"state"` +} + +// The set of arguments for constructing a RunnerController resource. +type RunnerControllerArgs struct { + // The description of the runner controller. + Description pulumi.StringPtrInput + // The state of the runner controller. Valid values are: `disabled`, `enabled`, `dryRun`. + State pulumi.StringPtrInput +} + +func (RunnerControllerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*runnerControllerArgs)(nil)).Elem() +} + +type RunnerControllerInput interface { + pulumi.Input + + ToRunnerControllerOutput() RunnerControllerOutput + ToRunnerControllerOutputWithContext(ctx context.Context) RunnerControllerOutput +} + +func (*RunnerController) ElementType() reflect.Type { + return reflect.TypeOf((**RunnerController)(nil)).Elem() +} + +func (i *RunnerController) ToRunnerControllerOutput() RunnerControllerOutput { + return i.ToRunnerControllerOutputWithContext(context.Background()) +} + +func (i *RunnerController) ToRunnerControllerOutputWithContext(ctx context.Context) RunnerControllerOutput { + return pulumi.ToOutputWithContext(ctx, i).(RunnerControllerOutput) +} + +// RunnerControllerArrayInput is an input type that accepts RunnerControllerArray and RunnerControllerArrayOutput values. +// You can construct a concrete instance of `RunnerControllerArrayInput` via: +// +// RunnerControllerArray{ RunnerControllerArgs{...} } +type RunnerControllerArrayInput interface { + pulumi.Input + + ToRunnerControllerArrayOutput() RunnerControllerArrayOutput + ToRunnerControllerArrayOutputWithContext(context.Context) RunnerControllerArrayOutput +} + +type RunnerControllerArray []RunnerControllerInput + +func (RunnerControllerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RunnerController)(nil)).Elem() +} + +func (i RunnerControllerArray) ToRunnerControllerArrayOutput() RunnerControllerArrayOutput { + return i.ToRunnerControllerArrayOutputWithContext(context.Background()) +} + +func (i RunnerControllerArray) ToRunnerControllerArrayOutputWithContext(ctx context.Context) RunnerControllerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RunnerControllerArrayOutput) +} + +// RunnerControllerMapInput is an input type that accepts RunnerControllerMap and RunnerControllerMapOutput values. +// You can construct a concrete instance of `RunnerControllerMapInput` via: +// +// RunnerControllerMap{ "key": RunnerControllerArgs{...} } +type RunnerControllerMapInput interface { + pulumi.Input + + ToRunnerControllerMapOutput() RunnerControllerMapOutput + ToRunnerControllerMapOutputWithContext(context.Context) RunnerControllerMapOutput +} + +type RunnerControllerMap map[string]RunnerControllerInput + +func (RunnerControllerMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RunnerController)(nil)).Elem() +} + +func (i RunnerControllerMap) ToRunnerControllerMapOutput() RunnerControllerMapOutput { + return i.ToRunnerControllerMapOutputWithContext(context.Background()) +} + +func (i RunnerControllerMap) ToRunnerControllerMapOutputWithContext(ctx context.Context) RunnerControllerMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RunnerControllerMapOutput) +} + +type RunnerControllerOutput struct{ *pulumi.OutputState } + +func (RunnerControllerOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RunnerController)(nil)).Elem() +} + +func (o RunnerControllerOutput) ToRunnerControllerOutput() RunnerControllerOutput { + return o +} + +func (o RunnerControllerOutput) ToRunnerControllerOutputWithContext(ctx context.Context) RunnerControllerOutput { + return o +} + +// The time the runner controller was created. +func (o RunnerControllerOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *RunnerController) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The description of the runner controller. +func (o RunnerControllerOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *RunnerController) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// The state of the runner controller. Valid values are: `disabled`, `enabled`, `dryRun`. +func (o RunnerControllerOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *RunnerController) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +// The time the runner controller was last updated. +func (o RunnerControllerOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *RunnerController) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type RunnerControllerArrayOutput struct{ *pulumi.OutputState } + +func (RunnerControllerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RunnerController)(nil)).Elem() +} + +func (o RunnerControllerArrayOutput) ToRunnerControllerArrayOutput() RunnerControllerArrayOutput { + return o +} + +func (o RunnerControllerArrayOutput) ToRunnerControllerArrayOutputWithContext(ctx context.Context) RunnerControllerArrayOutput { + return o +} + +func (o RunnerControllerArrayOutput) Index(i pulumi.IntInput) RunnerControllerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RunnerController { + return vs[0].([]*RunnerController)[vs[1].(int)] + }).(RunnerControllerOutput) +} + +type RunnerControllerMapOutput struct{ *pulumi.OutputState } + +func (RunnerControllerMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RunnerController)(nil)).Elem() +} + +func (o RunnerControllerMapOutput) ToRunnerControllerMapOutput() RunnerControllerMapOutput { + return o +} + +func (o RunnerControllerMapOutput) ToRunnerControllerMapOutputWithContext(ctx context.Context) RunnerControllerMapOutput { + return o +} + +func (o RunnerControllerMapOutput) MapIndex(k pulumi.StringInput) RunnerControllerOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RunnerController { + return vs[0].(map[string]*RunnerController)[vs[1].(string)] + }).(RunnerControllerOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RunnerControllerInput)(nil)).Elem(), &RunnerController{}) + pulumi.RegisterInputType(reflect.TypeOf((*RunnerControllerArrayInput)(nil)).Elem(), RunnerControllerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RunnerControllerMapInput)(nil)).Elem(), RunnerControllerMap{}) + pulumi.RegisterOutputType(RunnerControllerOutput{}) + pulumi.RegisterOutputType(RunnerControllerArrayOutput{}) + pulumi.RegisterOutputType(RunnerControllerMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/runnerControllerInstanceScope.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/runnerControllerInstanceScope.go new file mode 100644 index 000000000..b81cff786 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/runnerControllerInstanceScope.go @@ -0,0 +1,275 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `RunnerControllerInstanceScope` resource manages the instance-level scope of a runner controller. +// +// > This resource is **experimental** and may change or be removed in future versions. Introduced in GitLab 18.10. +// +// > This resource requires administration privileges. +// +// > Instance scopes and runner scopes are mutually exclusive on a runner controller. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/runner_controllers/#runner-controller-scopes) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.NewRunnerControllerInstanceScope(ctx, "example", &gitlab.RunnerControllerInstanceScopeArgs{ +// RunnerControllerId: pulumi.Any(exampleGitlabRunnerController.Id), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type RunnerControllerInstanceScope struct { + pulumi.CustomResourceState + + // The time the scope was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The ID of the runner controller. + RunnerControllerId pulumi.IntOutput `pulumi:"runnerControllerId"` + // The time the scope was last updated. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewRunnerControllerInstanceScope registers a new resource with the given unique name, arguments, and options. +func NewRunnerControllerInstanceScope(ctx *pulumi.Context, + name string, args *RunnerControllerInstanceScopeArgs, opts ...pulumi.ResourceOption) (*RunnerControllerInstanceScope, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.RunnerControllerId == nil { + return nil, errors.New("invalid value for required argument 'RunnerControllerId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource RunnerControllerInstanceScope + err := ctx.RegisterResource("gitlab:index/runnerControllerInstanceScope:RunnerControllerInstanceScope", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRunnerControllerInstanceScope gets an existing RunnerControllerInstanceScope resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetRunnerControllerInstanceScope(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RunnerControllerInstanceScopeState, opts ...pulumi.ResourceOption) (*RunnerControllerInstanceScope, error) { + var resource RunnerControllerInstanceScope + err := ctx.ReadResource("gitlab:index/runnerControllerInstanceScope:RunnerControllerInstanceScope", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RunnerControllerInstanceScope resources. +type runnerControllerInstanceScopeState struct { + // The time the scope was created. + CreatedAt *string `pulumi:"createdAt"` + // The ID of the runner controller. + RunnerControllerId *int `pulumi:"runnerControllerId"` + // The time the scope was last updated. + UpdatedAt *string `pulumi:"updatedAt"` +} + +type RunnerControllerInstanceScopeState struct { + // The time the scope was created. + CreatedAt pulumi.StringPtrInput + // The ID of the runner controller. + RunnerControllerId pulumi.IntPtrInput + // The time the scope was last updated. + UpdatedAt pulumi.StringPtrInput +} + +func (RunnerControllerInstanceScopeState) ElementType() reflect.Type { + return reflect.TypeOf((*runnerControllerInstanceScopeState)(nil)).Elem() +} + +type runnerControllerInstanceScopeArgs struct { + // The ID of the runner controller. + RunnerControllerId int `pulumi:"runnerControllerId"` +} + +// The set of arguments for constructing a RunnerControllerInstanceScope resource. +type RunnerControllerInstanceScopeArgs struct { + // The ID of the runner controller. + RunnerControllerId pulumi.IntInput +} + +func (RunnerControllerInstanceScopeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*runnerControllerInstanceScopeArgs)(nil)).Elem() +} + +type RunnerControllerInstanceScopeInput interface { + pulumi.Input + + ToRunnerControllerInstanceScopeOutput() RunnerControllerInstanceScopeOutput + ToRunnerControllerInstanceScopeOutputWithContext(ctx context.Context) RunnerControllerInstanceScopeOutput +} + +func (*RunnerControllerInstanceScope) ElementType() reflect.Type { + return reflect.TypeOf((**RunnerControllerInstanceScope)(nil)).Elem() +} + +func (i *RunnerControllerInstanceScope) ToRunnerControllerInstanceScopeOutput() RunnerControllerInstanceScopeOutput { + return i.ToRunnerControllerInstanceScopeOutputWithContext(context.Background()) +} + +func (i *RunnerControllerInstanceScope) ToRunnerControllerInstanceScopeOutputWithContext(ctx context.Context) RunnerControllerInstanceScopeOutput { + return pulumi.ToOutputWithContext(ctx, i).(RunnerControllerInstanceScopeOutput) +} + +// RunnerControllerInstanceScopeArrayInput is an input type that accepts RunnerControllerInstanceScopeArray and RunnerControllerInstanceScopeArrayOutput values. +// You can construct a concrete instance of `RunnerControllerInstanceScopeArrayInput` via: +// +// RunnerControllerInstanceScopeArray{ RunnerControllerInstanceScopeArgs{...} } +type RunnerControllerInstanceScopeArrayInput interface { + pulumi.Input + + ToRunnerControllerInstanceScopeArrayOutput() RunnerControllerInstanceScopeArrayOutput + ToRunnerControllerInstanceScopeArrayOutputWithContext(context.Context) RunnerControllerInstanceScopeArrayOutput +} + +type RunnerControllerInstanceScopeArray []RunnerControllerInstanceScopeInput + +func (RunnerControllerInstanceScopeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RunnerControllerInstanceScope)(nil)).Elem() +} + +func (i RunnerControllerInstanceScopeArray) ToRunnerControllerInstanceScopeArrayOutput() RunnerControllerInstanceScopeArrayOutput { + return i.ToRunnerControllerInstanceScopeArrayOutputWithContext(context.Background()) +} + +func (i RunnerControllerInstanceScopeArray) ToRunnerControllerInstanceScopeArrayOutputWithContext(ctx context.Context) RunnerControllerInstanceScopeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RunnerControllerInstanceScopeArrayOutput) +} + +// RunnerControllerInstanceScopeMapInput is an input type that accepts RunnerControllerInstanceScopeMap and RunnerControllerInstanceScopeMapOutput values. +// You can construct a concrete instance of `RunnerControllerInstanceScopeMapInput` via: +// +// RunnerControllerInstanceScopeMap{ "key": RunnerControllerInstanceScopeArgs{...} } +type RunnerControllerInstanceScopeMapInput interface { + pulumi.Input + + ToRunnerControllerInstanceScopeMapOutput() RunnerControllerInstanceScopeMapOutput + ToRunnerControllerInstanceScopeMapOutputWithContext(context.Context) RunnerControllerInstanceScopeMapOutput +} + +type RunnerControllerInstanceScopeMap map[string]RunnerControllerInstanceScopeInput + +func (RunnerControllerInstanceScopeMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RunnerControllerInstanceScope)(nil)).Elem() +} + +func (i RunnerControllerInstanceScopeMap) ToRunnerControllerInstanceScopeMapOutput() RunnerControllerInstanceScopeMapOutput { + return i.ToRunnerControllerInstanceScopeMapOutputWithContext(context.Background()) +} + +func (i RunnerControllerInstanceScopeMap) ToRunnerControllerInstanceScopeMapOutputWithContext(ctx context.Context) RunnerControllerInstanceScopeMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RunnerControllerInstanceScopeMapOutput) +} + +type RunnerControllerInstanceScopeOutput struct{ *pulumi.OutputState } + +func (RunnerControllerInstanceScopeOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RunnerControllerInstanceScope)(nil)).Elem() +} + +func (o RunnerControllerInstanceScopeOutput) ToRunnerControllerInstanceScopeOutput() RunnerControllerInstanceScopeOutput { + return o +} + +func (o RunnerControllerInstanceScopeOutput) ToRunnerControllerInstanceScopeOutputWithContext(ctx context.Context) RunnerControllerInstanceScopeOutput { + return o +} + +// The time the scope was created. +func (o RunnerControllerInstanceScopeOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *RunnerControllerInstanceScope) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The ID of the runner controller. +func (o RunnerControllerInstanceScopeOutput) RunnerControllerId() pulumi.IntOutput { + return o.ApplyT(func(v *RunnerControllerInstanceScope) pulumi.IntOutput { return v.RunnerControllerId }).(pulumi.IntOutput) +} + +// The time the scope was last updated. +func (o RunnerControllerInstanceScopeOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *RunnerControllerInstanceScope) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type RunnerControllerInstanceScopeArrayOutput struct{ *pulumi.OutputState } + +func (RunnerControllerInstanceScopeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RunnerControllerInstanceScope)(nil)).Elem() +} + +func (o RunnerControllerInstanceScopeArrayOutput) ToRunnerControllerInstanceScopeArrayOutput() RunnerControllerInstanceScopeArrayOutput { + return o +} + +func (o RunnerControllerInstanceScopeArrayOutput) ToRunnerControllerInstanceScopeArrayOutputWithContext(ctx context.Context) RunnerControllerInstanceScopeArrayOutput { + return o +} + +func (o RunnerControllerInstanceScopeArrayOutput) Index(i pulumi.IntInput) RunnerControllerInstanceScopeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RunnerControllerInstanceScope { + return vs[0].([]*RunnerControllerInstanceScope)[vs[1].(int)] + }).(RunnerControllerInstanceScopeOutput) +} + +type RunnerControllerInstanceScopeMapOutput struct{ *pulumi.OutputState } + +func (RunnerControllerInstanceScopeMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RunnerControllerInstanceScope)(nil)).Elem() +} + +func (o RunnerControllerInstanceScopeMapOutput) ToRunnerControllerInstanceScopeMapOutput() RunnerControllerInstanceScopeMapOutput { + return o +} + +func (o RunnerControllerInstanceScopeMapOutput) ToRunnerControllerInstanceScopeMapOutputWithContext(ctx context.Context) RunnerControllerInstanceScopeMapOutput { + return o +} + +func (o RunnerControllerInstanceScopeMapOutput) MapIndex(k pulumi.StringInput) RunnerControllerInstanceScopeOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RunnerControllerInstanceScope { + return vs[0].(map[string]*RunnerControllerInstanceScope)[vs[1].(string)] + }).(RunnerControllerInstanceScopeOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RunnerControllerInstanceScopeInput)(nil)).Elem(), &RunnerControllerInstanceScope{}) + pulumi.RegisterInputType(reflect.TypeOf((*RunnerControllerInstanceScopeArrayInput)(nil)).Elem(), RunnerControllerInstanceScopeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RunnerControllerInstanceScopeMapInput)(nil)).Elem(), RunnerControllerInstanceScopeMap{}) + pulumi.RegisterOutputType(RunnerControllerInstanceScopeOutput{}) + pulumi.RegisterOutputType(RunnerControllerInstanceScopeArrayOutput{}) + pulumi.RegisterOutputType(RunnerControllerInstanceScopeMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/runnerControllerRunnerScope.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/runnerControllerRunnerScope.go new file mode 100644 index 000000000..fe3ab1e65 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/runnerControllerRunnerScope.go @@ -0,0 +1,294 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `RunnerControllerRunnerScope` resource manages a runner-level scope of a runner controller. The runner must be an instance-level runner. +// +// > This resource is **experimental** and may change or be removed in future versions. Introduced in GitLab 18.10. +// +// > This resource requires administration privileges. +// +// > Instance scopes and runner scopes are mutually exclusive on a runner controller. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/runner_controllers/#runner-controller-scopes) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.NewRunnerControllerRunnerScope(ctx, "example", &gitlab.RunnerControllerRunnerScopeArgs{ +// RunnerControllerId: pulumi.Any(exampleGitlabRunnerController.Id), +// RunnerId: pulumi.Int(42), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type RunnerControllerRunnerScope struct { + pulumi.CustomResourceState + + // The time the scope was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The ID of the runner controller. + RunnerControllerId pulumi.IntOutput `pulumi:"runnerControllerId"` + // The ID of the instance-level runner to scope the controller to. + RunnerId pulumi.IntOutput `pulumi:"runnerId"` + // The time the scope was last updated. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewRunnerControllerRunnerScope registers a new resource with the given unique name, arguments, and options. +func NewRunnerControllerRunnerScope(ctx *pulumi.Context, + name string, args *RunnerControllerRunnerScopeArgs, opts ...pulumi.ResourceOption) (*RunnerControllerRunnerScope, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.RunnerControllerId == nil { + return nil, errors.New("invalid value for required argument 'RunnerControllerId'") + } + if args.RunnerId == nil { + return nil, errors.New("invalid value for required argument 'RunnerId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource RunnerControllerRunnerScope + err := ctx.RegisterResource("gitlab:index/runnerControllerRunnerScope:RunnerControllerRunnerScope", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRunnerControllerRunnerScope gets an existing RunnerControllerRunnerScope resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetRunnerControllerRunnerScope(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RunnerControllerRunnerScopeState, opts ...pulumi.ResourceOption) (*RunnerControllerRunnerScope, error) { + var resource RunnerControllerRunnerScope + err := ctx.ReadResource("gitlab:index/runnerControllerRunnerScope:RunnerControllerRunnerScope", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RunnerControllerRunnerScope resources. +type runnerControllerRunnerScopeState struct { + // The time the scope was created. + CreatedAt *string `pulumi:"createdAt"` + // The ID of the runner controller. + RunnerControllerId *int `pulumi:"runnerControllerId"` + // The ID of the instance-level runner to scope the controller to. + RunnerId *int `pulumi:"runnerId"` + // The time the scope was last updated. + UpdatedAt *string `pulumi:"updatedAt"` +} + +type RunnerControllerRunnerScopeState struct { + // The time the scope was created. + CreatedAt pulumi.StringPtrInput + // The ID of the runner controller. + RunnerControllerId pulumi.IntPtrInput + // The ID of the instance-level runner to scope the controller to. + RunnerId pulumi.IntPtrInput + // The time the scope was last updated. + UpdatedAt pulumi.StringPtrInput +} + +func (RunnerControllerRunnerScopeState) ElementType() reflect.Type { + return reflect.TypeOf((*runnerControllerRunnerScopeState)(nil)).Elem() +} + +type runnerControllerRunnerScopeArgs struct { + // The ID of the runner controller. + RunnerControllerId int `pulumi:"runnerControllerId"` + // The ID of the instance-level runner to scope the controller to. + RunnerId int `pulumi:"runnerId"` +} + +// The set of arguments for constructing a RunnerControllerRunnerScope resource. +type RunnerControllerRunnerScopeArgs struct { + // The ID of the runner controller. + RunnerControllerId pulumi.IntInput + // The ID of the instance-level runner to scope the controller to. + RunnerId pulumi.IntInput +} + +func (RunnerControllerRunnerScopeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*runnerControllerRunnerScopeArgs)(nil)).Elem() +} + +type RunnerControllerRunnerScopeInput interface { + pulumi.Input + + ToRunnerControllerRunnerScopeOutput() RunnerControllerRunnerScopeOutput + ToRunnerControllerRunnerScopeOutputWithContext(ctx context.Context) RunnerControllerRunnerScopeOutput +} + +func (*RunnerControllerRunnerScope) ElementType() reflect.Type { + return reflect.TypeOf((**RunnerControllerRunnerScope)(nil)).Elem() +} + +func (i *RunnerControllerRunnerScope) ToRunnerControllerRunnerScopeOutput() RunnerControllerRunnerScopeOutput { + return i.ToRunnerControllerRunnerScopeOutputWithContext(context.Background()) +} + +func (i *RunnerControllerRunnerScope) ToRunnerControllerRunnerScopeOutputWithContext(ctx context.Context) RunnerControllerRunnerScopeOutput { + return pulumi.ToOutputWithContext(ctx, i).(RunnerControllerRunnerScopeOutput) +} + +// RunnerControllerRunnerScopeArrayInput is an input type that accepts RunnerControllerRunnerScopeArray and RunnerControllerRunnerScopeArrayOutput values. +// You can construct a concrete instance of `RunnerControllerRunnerScopeArrayInput` via: +// +// RunnerControllerRunnerScopeArray{ RunnerControllerRunnerScopeArgs{...} } +type RunnerControllerRunnerScopeArrayInput interface { + pulumi.Input + + ToRunnerControllerRunnerScopeArrayOutput() RunnerControllerRunnerScopeArrayOutput + ToRunnerControllerRunnerScopeArrayOutputWithContext(context.Context) RunnerControllerRunnerScopeArrayOutput +} + +type RunnerControllerRunnerScopeArray []RunnerControllerRunnerScopeInput + +func (RunnerControllerRunnerScopeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RunnerControllerRunnerScope)(nil)).Elem() +} + +func (i RunnerControllerRunnerScopeArray) ToRunnerControllerRunnerScopeArrayOutput() RunnerControllerRunnerScopeArrayOutput { + return i.ToRunnerControllerRunnerScopeArrayOutputWithContext(context.Background()) +} + +func (i RunnerControllerRunnerScopeArray) ToRunnerControllerRunnerScopeArrayOutputWithContext(ctx context.Context) RunnerControllerRunnerScopeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RunnerControllerRunnerScopeArrayOutput) +} + +// RunnerControllerRunnerScopeMapInput is an input type that accepts RunnerControllerRunnerScopeMap and RunnerControllerRunnerScopeMapOutput values. +// You can construct a concrete instance of `RunnerControllerRunnerScopeMapInput` via: +// +// RunnerControllerRunnerScopeMap{ "key": RunnerControllerRunnerScopeArgs{...} } +type RunnerControllerRunnerScopeMapInput interface { + pulumi.Input + + ToRunnerControllerRunnerScopeMapOutput() RunnerControllerRunnerScopeMapOutput + ToRunnerControllerRunnerScopeMapOutputWithContext(context.Context) RunnerControllerRunnerScopeMapOutput +} + +type RunnerControllerRunnerScopeMap map[string]RunnerControllerRunnerScopeInput + +func (RunnerControllerRunnerScopeMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RunnerControllerRunnerScope)(nil)).Elem() +} + +func (i RunnerControllerRunnerScopeMap) ToRunnerControllerRunnerScopeMapOutput() RunnerControllerRunnerScopeMapOutput { + return i.ToRunnerControllerRunnerScopeMapOutputWithContext(context.Background()) +} + +func (i RunnerControllerRunnerScopeMap) ToRunnerControllerRunnerScopeMapOutputWithContext(ctx context.Context) RunnerControllerRunnerScopeMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RunnerControllerRunnerScopeMapOutput) +} + +type RunnerControllerRunnerScopeOutput struct{ *pulumi.OutputState } + +func (RunnerControllerRunnerScopeOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RunnerControllerRunnerScope)(nil)).Elem() +} + +func (o RunnerControllerRunnerScopeOutput) ToRunnerControllerRunnerScopeOutput() RunnerControllerRunnerScopeOutput { + return o +} + +func (o RunnerControllerRunnerScopeOutput) ToRunnerControllerRunnerScopeOutputWithContext(ctx context.Context) RunnerControllerRunnerScopeOutput { + return o +} + +// The time the scope was created. +func (o RunnerControllerRunnerScopeOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *RunnerControllerRunnerScope) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The ID of the runner controller. +func (o RunnerControllerRunnerScopeOutput) RunnerControllerId() pulumi.IntOutput { + return o.ApplyT(func(v *RunnerControllerRunnerScope) pulumi.IntOutput { return v.RunnerControllerId }).(pulumi.IntOutput) +} + +// The ID of the instance-level runner to scope the controller to. +func (o RunnerControllerRunnerScopeOutput) RunnerId() pulumi.IntOutput { + return o.ApplyT(func(v *RunnerControllerRunnerScope) pulumi.IntOutput { return v.RunnerId }).(pulumi.IntOutput) +} + +// The time the scope was last updated. +func (o RunnerControllerRunnerScopeOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *RunnerControllerRunnerScope) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type RunnerControllerRunnerScopeArrayOutput struct{ *pulumi.OutputState } + +func (RunnerControllerRunnerScopeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RunnerControllerRunnerScope)(nil)).Elem() +} + +func (o RunnerControllerRunnerScopeArrayOutput) ToRunnerControllerRunnerScopeArrayOutput() RunnerControllerRunnerScopeArrayOutput { + return o +} + +func (o RunnerControllerRunnerScopeArrayOutput) ToRunnerControllerRunnerScopeArrayOutputWithContext(ctx context.Context) RunnerControllerRunnerScopeArrayOutput { + return o +} + +func (o RunnerControllerRunnerScopeArrayOutput) Index(i pulumi.IntInput) RunnerControllerRunnerScopeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RunnerControllerRunnerScope { + return vs[0].([]*RunnerControllerRunnerScope)[vs[1].(int)] + }).(RunnerControllerRunnerScopeOutput) +} + +type RunnerControllerRunnerScopeMapOutput struct{ *pulumi.OutputState } + +func (RunnerControllerRunnerScopeMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RunnerControllerRunnerScope)(nil)).Elem() +} + +func (o RunnerControllerRunnerScopeMapOutput) ToRunnerControllerRunnerScopeMapOutput() RunnerControllerRunnerScopeMapOutput { + return o +} + +func (o RunnerControllerRunnerScopeMapOutput) ToRunnerControllerRunnerScopeMapOutputWithContext(ctx context.Context) RunnerControllerRunnerScopeMapOutput { + return o +} + +func (o RunnerControllerRunnerScopeMapOutput) MapIndex(k pulumi.StringInput) RunnerControllerRunnerScopeOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RunnerControllerRunnerScope { + return vs[0].(map[string]*RunnerControllerRunnerScope)[vs[1].(string)] + }).(RunnerControllerRunnerScopeOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RunnerControllerRunnerScopeInput)(nil)).Elem(), &RunnerControllerRunnerScope{}) + pulumi.RegisterInputType(reflect.TypeOf((*RunnerControllerRunnerScopeArrayInput)(nil)).Elem(), RunnerControllerRunnerScopeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RunnerControllerRunnerScopeMapInput)(nil)).Elem(), RunnerControllerRunnerScopeMap{}) + pulumi.RegisterOutputType(RunnerControllerRunnerScopeOutput{}) + pulumi.RegisterOutputType(RunnerControllerRunnerScopeArrayOutput{}) + pulumi.RegisterOutputType(RunnerControllerRunnerScopeMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/runnerControllerToken.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/runnerControllerToken.go new file mode 100644 index 000000000..3ed2e6cd0 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/runnerControllerToken.go @@ -0,0 +1,304 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `RunnerControllerToken` resource manages the lifecycle of a runner controller token. +// +// > This resource is **experimental** and may change or be removed in future versions. Introduced in GitLab 18.9. +// +// > This resource requires administration privileges. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/runner_controller_tokens/) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.NewRunnerControllerToken(ctx, "example", &gitlab.RunnerControllerTokenArgs{ +// RunnerControllerId: pulumi.Any(exampleGitlabRunnerController.Id), +// Description: pulumi.String("My controller token"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type RunnerControllerToken struct { + pulumi.CustomResourceState + + // The time the token was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The description of the runner controller token. + Description pulumi.StringOutput `pulumi:"description"` + // The ID of the runner controller. + RunnerControllerId pulumi.IntOutput `pulumi:"runnerControllerId"` + // The token value. **Note**: the token is not available for imported resources. + Token pulumi.StringOutput `pulumi:"token"` + // The time the token was last updated. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewRunnerControllerToken registers a new resource with the given unique name, arguments, and options. +func NewRunnerControllerToken(ctx *pulumi.Context, + name string, args *RunnerControllerTokenArgs, opts ...pulumi.ResourceOption) (*RunnerControllerToken, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.RunnerControllerId == nil { + return nil, errors.New("invalid value for required argument 'RunnerControllerId'") + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "token", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource RunnerControllerToken + err := ctx.RegisterResource("gitlab:index/runnerControllerToken:RunnerControllerToken", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRunnerControllerToken gets an existing RunnerControllerToken resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetRunnerControllerToken(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RunnerControllerTokenState, opts ...pulumi.ResourceOption) (*RunnerControllerToken, error) { + var resource RunnerControllerToken + err := ctx.ReadResource("gitlab:index/runnerControllerToken:RunnerControllerToken", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RunnerControllerToken resources. +type runnerControllerTokenState struct { + // The time the token was created. + CreatedAt *string `pulumi:"createdAt"` + // The description of the runner controller token. + Description *string `pulumi:"description"` + // The ID of the runner controller. + RunnerControllerId *int `pulumi:"runnerControllerId"` + // The token value. **Note**: the token is not available for imported resources. + Token *string `pulumi:"token"` + // The time the token was last updated. + UpdatedAt *string `pulumi:"updatedAt"` +} + +type RunnerControllerTokenState struct { + // The time the token was created. + CreatedAt pulumi.StringPtrInput + // The description of the runner controller token. + Description pulumi.StringPtrInput + // The ID of the runner controller. + RunnerControllerId pulumi.IntPtrInput + // The token value. **Note**: the token is not available for imported resources. + Token pulumi.StringPtrInput + // The time the token was last updated. + UpdatedAt pulumi.StringPtrInput +} + +func (RunnerControllerTokenState) ElementType() reflect.Type { + return reflect.TypeOf((*runnerControllerTokenState)(nil)).Elem() +} + +type runnerControllerTokenArgs struct { + // The description of the runner controller token. + Description *string `pulumi:"description"` + // The ID of the runner controller. + RunnerControllerId int `pulumi:"runnerControllerId"` +} + +// The set of arguments for constructing a RunnerControllerToken resource. +type RunnerControllerTokenArgs struct { + // The description of the runner controller token. + Description pulumi.StringPtrInput + // The ID of the runner controller. + RunnerControllerId pulumi.IntInput +} + +func (RunnerControllerTokenArgs) ElementType() reflect.Type { + return reflect.TypeOf((*runnerControllerTokenArgs)(nil)).Elem() +} + +type RunnerControllerTokenInput interface { + pulumi.Input + + ToRunnerControllerTokenOutput() RunnerControllerTokenOutput + ToRunnerControllerTokenOutputWithContext(ctx context.Context) RunnerControllerTokenOutput +} + +func (*RunnerControllerToken) ElementType() reflect.Type { + return reflect.TypeOf((**RunnerControllerToken)(nil)).Elem() +} + +func (i *RunnerControllerToken) ToRunnerControllerTokenOutput() RunnerControllerTokenOutput { + return i.ToRunnerControllerTokenOutputWithContext(context.Background()) +} + +func (i *RunnerControllerToken) ToRunnerControllerTokenOutputWithContext(ctx context.Context) RunnerControllerTokenOutput { + return pulumi.ToOutputWithContext(ctx, i).(RunnerControllerTokenOutput) +} + +// RunnerControllerTokenArrayInput is an input type that accepts RunnerControllerTokenArray and RunnerControllerTokenArrayOutput values. +// You can construct a concrete instance of `RunnerControllerTokenArrayInput` via: +// +// RunnerControllerTokenArray{ RunnerControllerTokenArgs{...} } +type RunnerControllerTokenArrayInput interface { + pulumi.Input + + ToRunnerControllerTokenArrayOutput() RunnerControllerTokenArrayOutput + ToRunnerControllerTokenArrayOutputWithContext(context.Context) RunnerControllerTokenArrayOutput +} + +type RunnerControllerTokenArray []RunnerControllerTokenInput + +func (RunnerControllerTokenArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RunnerControllerToken)(nil)).Elem() +} + +func (i RunnerControllerTokenArray) ToRunnerControllerTokenArrayOutput() RunnerControllerTokenArrayOutput { + return i.ToRunnerControllerTokenArrayOutputWithContext(context.Background()) +} + +func (i RunnerControllerTokenArray) ToRunnerControllerTokenArrayOutputWithContext(ctx context.Context) RunnerControllerTokenArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RunnerControllerTokenArrayOutput) +} + +// RunnerControllerTokenMapInput is an input type that accepts RunnerControllerTokenMap and RunnerControllerTokenMapOutput values. +// You can construct a concrete instance of `RunnerControllerTokenMapInput` via: +// +// RunnerControllerTokenMap{ "key": RunnerControllerTokenArgs{...} } +type RunnerControllerTokenMapInput interface { + pulumi.Input + + ToRunnerControllerTokenMapOutput() RunnerControllerTokenMapOutput + ToRunnerControllerTokenMapOutputWithContext(context.Context) RunnerControllerTokenMapOutput +} + +type RunnerControllerTokenMap map[string]RunnerControllerTokenInput + +func (RunnerControllerTokenMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RunnerControllerToken)(nil)).Elem() +} + +func (i RunnerControllerTokenMap) ToRunnerControllerTokenMapOutput() RunnerControllerTokenMapOutput { + return i.ToRunnerControllerTokenMapOutputWithContext(context.Background()) +} + +func (i RunnerControllerTokenMap) ToRunnerControllerTokenMapOutputWithContext(ctx context.Context) RunnerControllerTokenMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RunnerControllerTokenMapOutput) +} + +type RunnerControllerTokenOutput struct{ *pulumi.OutputState } + +func (RunnerControllerTokenOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RunnerControllerToken)(nil)).Elem() +} + +func (o RunnerControllerTokenOutput) ToRunnerControllerTokenOutput() RunnerControllerTokenOutput { + return o +} + +func (o RunnerControllerTokenOutput) ToRunnerControllerTokenOutputWithContext(ctx context.Context) RunnerControllerTokenOutput { + return o +} + +// The time the token was created. +func (o RunnerControllerTokenOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *RunnerControllerToken) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The description of the runner controller token. +func (o RunnerControllerTokenOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *RunnerControllerToken) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// The ID of the runner controller. +func (o RunnerControllerTokenOutput) RunnerControllerId() pulumi.IntOutput { + return o.ApplyT(func(v *RunnerControllerToken) pulumi.IntOutput { return v.RunnerControllerId }).(pulumi.IntOutput) +} + +// The token value. **Note**: the token is not available for imported resources. +func (o RunnerControllerTokenOutput) Token() pulumi.StringOutput { + return o.ApplyT(func(v *RunnerControllerToken) pulumi.StringOutput { return v.Token }).(pulumi.StringOutput) +} + +// The time the token was last updated. +func (o RunnerControllerTokenOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *RunnerControllerToken) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type RunnerControllerTokenArrayOutput struct{ *pulumi.OutputState } + +func (RunnerControllerTokenArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RunnerControllerToken)(nil)).Elem() +} + +func (o RunnerControllerTokenArrayOutput) ToRunnerControllerTokenArrayOutput() RunnerControllerTokenArrayOutput { + return o +} + +func (o RunnerControllerTokenArrayOutput) ToRunnerControllerTokenArrayOutputWithContext(ctx context.Context) RunnerControllerTokenArrayOutput { + return o +} + +func (o RunnerControllerTokenArrayOutput) Index(i pulumi.IntInput) RunnerControllerTokenOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RunnerControllerToken { + return vs[0].([]*RunnerControllerToken)[vs[1].(int)] + }).(RunnerControllerTokenOutput) +} + +type RunnerControllerTokenMapOutput struct{ *pulumi.OutputState } + +func (RunnerControllerTokenMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RunnerControllerToken)(nil)).Elem() +} + +func (o RunnerControllerTokenMapOutput) ToRunnerControllerTokenMapOutput() RunnerControllerTokenMapOutput { + return o +} + +func (o RunnerControllerTokenMapOutput) ToRunnerControllerTokenMapOutputWithContext(ctx context.Context) RunnerControllerTokenMapOutput { + return o +} + +func (o RunnerControllerTokenMapOutput) MapIndex(k pulumi.StringInput) RunnerControllerTokenOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RunnerControllerToken { + return vs[0].(map[string]*RunnerControllerToken)[vs[1].(string)] + }).(RunnerControllerTokenOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RunnerControllerTokenInput)(nil)).Elem(), &RunnerControllerToken{}) + pulumi.RegisterInputType(reflect.TypeOf((*RunnerControllerTokenArrayInput)(nil)).Elem(), RunnerControllerTokenArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RunnerControllerTokenMapInput)(nil)).Elem(), RunnerControllerTokenMap{}) + pulumi.RegisterOutputType(RunnerControllerTokenOutput{}) + pulumi.RegisterOutputType(RunnerControllerTokenArrayOutput{}) + pulumi.RegisterOutputType(RunnerControllerTokenMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/systemHook.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/systemHook.go similarity index 89% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/systemHook.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/systemHook.go index 81f3e2e4d..f8348f942 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/systemHook.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/systemHook.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `SystemHook` resource allows to manage the lifecycle of a system hook. +// The `SystemHook` resource manages the lifecycle of a system hook. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/system_hooks/) // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -50,21 +50,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_system_hook`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `SystemHook`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_system_hook.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import a system hook using the hook id `{hook-id}`, e.g. +// You can import a system hook using the hook id `{hook-id}`, for example: // // ```sh // $ pulumi import gitlab:index/systemHook:SystemHook example 42 @@ -86,7 +76,7 @@ type SystemHook struct { RepositoryUpdateEvents pulumi.BoolPtrOutput `pulumi:"repositoryUpdateEvents"` // When true, the hook fires on new tags being pushed. TagPushEvents pulumi.BoolPtrOutput `pulumi:"tagPushEvents"` - // Secret token to validate received payloads; this isn’t returned in the response. This attribute is not available for imported resources. + // Secret token to validate received payloads; this isn't returned in the response. This attribute is not available for imported resources. Token pulumi.StringPtrOutput `pulumi:"token"` // The hook URL. Url pulumi.StringOutput `pulumi:"url"` @@ -144,7 +134,7 @@ type systemHookState struct { RepositoryUpdateEvents *bool `pulumi:"repositoryUpdateEvents"` // When true, the hook fires on new tags being pushed. TagPushEvents *bool `pulumi:"tagPushEvents"` - // Secret token to validate received payloads; this isn’t returned in the response. This attribute is not available for imported resources. + // Secret token to validate received payloads; this isn't returned in the response. This attribute is not available for imported resources. Token *string `pulumi:"token"` // The hook URL. Url *string `pulumi:"url"` @@ -163,7 +153,7 @@ type SystemHookState struct { RepositoryUpdateEvents pulumi.BoolPtrInput // When true, the hook fires on new tags being pushed. TagPushEvents pulumi.BoolPtrInput - // Secret token to validate received payloads; this isn’t returned in the response. This attribute is not available for imported resources. + // Secret token to validate received payloads; this isn't returned in the response. This attribute is not available for imported resources. Token pulumi.StringPtrInput // The hook URL. Url pulumi.StringPtrInput @@ -184,7 +174,7 @@ type systemHookArgs struct { RepositoryUpdateEvents *bool `pulumi:"repositoryUpdateEvents"` // When true, the hook fires on new tags being pushed. TagPushEvents *bool `pulumi:"tagPushEvents"` - // Secret token to validate received payloads; this isn’t returned in the response. This attribute is not available for imported resources. + // Secret token to validate received payloads; this isn't returned in the response. This attribute is not available for imported resources. Token *string `pulumi:"token"` // The hook URL. Url string `pulumi:"url"` @@ -202,7 +192,7 @@ type SystemHookArgs struct { RepositoryUpdateEvents pulumi.BoolPtrInput // When true, the hook fires on new tags being pushed. TagPushEvents pulumi.BoolPtrInput - // Secret token to validate received payloads; this isn’t returned in the response. This attribute is not available for imported resources. + // Secret token to validate received payloads; this isn't returned in the response. This attribute is not available for imported resources. Token pulumi.StringPtrInput // The hook URL. Url pulumi.StringInput @@ -325,7 +315,7 @@ func (o SystemHookOutput) TagPushEvents() pulumi.BoolPtrOutput { return o.ApplyT(func(v *SystemHook) pulumi.BoolPtrOutput { return v.TagPushEvents }).(pulumi.BoolPtrOutput) } -// Secret token to validate received payloads; this isn’t returned in the response. This attribute is not available for imported resources. +// Secret token to validate received payloads; this isn't returned in the response. This attribute is not available for imported resources. func (o SystemHookOutput) Token() pulumi.StringPtrOutput { return o.ApplyT(func(v *SystemHook) pulumi.StringPtrOutput { return v.Token }).(pulumi.StringPtrOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/tagProtection.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/tagProtection.go similarity index 91% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/tagProtection.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/tagProtection.go index 127a0bf51..08a2e493c 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/tagProtection.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/tagProtection.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,10 +8,20 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// The `TagProtection` resource manages the lifecycle of a tag protection. +// +// > If a tag protection already exists for the given tag when creating this resource, the `TagProtection` resource will +// +// automatically take ownership of the existing tag protection without an explicit import by unprotecting and properly protecting it again. +// Having multiple `TagProtection` resources for the same project and tag will result in them overriding each other - +// make sure to only have a single one. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/protected_tags/) +// // ## Example Usage // // ```go @@ -19,7 +29,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -50,21 +60,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_tag_protection`. For example: -// -// terraform -// -// import { -// -// to = gitlab_tag_protection.example -// -// id = "see CLI command below for ID" -// -// } +// Starting in Terraform v1.5.0, you can use an import block to import `TagProtection`. For example: // -// Import using the CLI is supported using the following syntax: +// Importing using the CLI is supported with the following syntax: // -// Tag protections can be imported using an id made up of `project_id:tag_name`, e.g. +// Tag protections can be imported using an id made up of `project_id:tag_name`, for example: // // ```sh // $ pulumi import gitlab:index/tagProtection:TagProtection example 123456789:v1.0.0 @@ -74,7 +74,7 @@ type TagProtection struct { // Array of access levels/user(s)/group(s) allowed to create protected tags. AllowedToCreates TagProtectionAllowedToCreateArrayOutput `pulumi:"allowedToCreates"` - // Access levels allowed to create. Default value of `maintainer`. The default value is always sent if not provided in the configuration. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to create. Default value of `maintainer`. The default value is always sent if not provided in the configuration. Valid values are: `no one`, `developer`, `maintainer`, `admin`. CreateAccessLevel pulumi.StringOutput `pulumi:"createAccessLevel"` // The id of the project. Project pulumi.StringOutput `pulumi:"project"` @@ -120,7 +120,7 @@ func GetTagProtection(ctx *pulumi.Context, type tagProtectionState struct { // Array of access levels/user(s)/group(s) allowed to create protected tags. AllowedToCreates []TagProtectionAllowedToCreate `pulumi:"allowedToCreates"` - // Access levels allowed to create. Default value of `maintainer`. The default value is always sent if not provided in the configuration. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to create. Default value of `maintainer`. The default value is always sent if not provided in the configuration. Valid values are: `no one`, `developer`, `maintainer`, `admin`. CreateAccessLevel *string `pulumi:"createAccessLevel"` // The id of the project. Project *string `pulumi:"project"` @@ -131,7 +131,7 @@ type tagProtectionState struct { type TagProtectionState struct { // Array of access levels/user(s)/group(s) allowed to create protected tags. AllowedToCreates TagProtectionAllowedToCreateArrayInput - // Access levels allowed to create. Default value of `maintainer`. The default value is always sent if not provided in the configuration. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to create. Default value of `maintainer`. The default value is always sent if not provided in the configuration. Valid values are: `no one`, `developer`, `maintainer`, `admin`. CreateAccessLevel pulumi.StringPtrInput // The id of the project. Project pulumi.StringPtrInput @@ -146,7 +146,7 @@ func (TagProtectionState) ElementType() reflect.Type { type tagProtectionArgs struct { // Array of access levels/user(s)/group(s) allowed to create protected tags. AllowedToCreates []TagProtectionAllowedToCreate `pulumi:"allowedToCreates"` - // Access levels allowed to create. Default value of `maintainer`. The default value is always sent if not provided in the configuration. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to create. Default value of `maintainer`. The default value is always sent if not provided in the configuration. Valid values are: `no one`, `developer`, `maintainer`, `admin`. CreateAccessLevel *string `pulumi:"createAccessLevel"` // The id of the project. Project string `pulumi:"project"` @@ -158,7 +158,7 @@ type tagProtectionArgs struct { type TagProtectionArgs struct { // Array of access levels/user(s)/group(s) allowed to create protected tags. AllowedToCreates TagProtectionAllowedToCreateArrayInput - // Access levels allowed to create. Default value of `maintainer`. The default value is always sent if not provided in the configuration. Valid values are: `no one`, `developer`, `maintainer`. + // Access levels allowed to create. Default value of `maintainer`. The default value is always sent if not provided in the configuration. Valid values are: `no one`, `developer`, `maintainer`, `admin`. CreateAccessLevel pulumi.StringPtrInput // The id of the project. Project pulumi.StringInput @@ -258,7 +258,7 @@ func (o TagProtectionOutput) AllowedToCreates() TagProtectionAllowedToCreateArra return o.ApplyT(func(v *TagProtection) TagProtectionAllowedToCreateArrayOutput { return v.AllowedToCreates }).(TagProtectionAllowedToCreateArrayOutput) } -// Access levels allowed to create. Default value of `maintainer`. The default value is always sent if not provided in the configuration. Valid values are: `no one`, `developer`, `maintainer`. +// Access levels allowed to create. Default value of `maintainer`. The default value is always sent if not provided in the configuration. Valid values are: `no one`, `developer`, `maintainer`, `admin`. func (o TagProtectionOutput) CreateAccessLevel() pulumi.StringOutput { return o.ApplyT(func(v *TagProtection) pulumi.StringOutput { return v.CreateAccessLevel }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/topic.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/topic.go similarity index 77% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/topic.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/topic.go index 7ea4725a7..e1dd534d4 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/topic.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/topic.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -7,40 +7,24 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `Topic` resource allows to manage the lifecycle of topics that are then assignable to projects. +// The `Topic` resource manages the lifecycle of topics that are then assignable to projects. // // > Topics are the successors for project tags. Aside from avoiding terminology collisions with Git tags, they are more descriptive and better searchable. // -// > Deleting a topic was implemented in GitLab 14.9. For older versions of GitLab set `softDestroy = true` to empty out a topic instead of deleting it. -// // **Upstream API**: [GitLab REST API docs for topics](https://docs.gitlab.com/api/topics/) // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_topic`. For example: -// -// terraform -// -// import { -// -// to = gitlab_topic.example +// Starting in Terraform v1.5.0, you can use an import block to import `Topic`. For example: // -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// ```sh -// $ pulumi import gitlab:index/topic:Topic You can import a topic to terraform state using ` `. -// ``` +// Importing using the CLI is supported with the following syntax: // // The `id` must be an integer for the id of the topic you want to import, -// // for example: // // ```sh @@ -59,21 +43,20 @@ type Topic struct { Description pulumi.StringPtrOutput `pulumi:"description"` // The topic's name. Name pulumi.StringOutput `pulumi:"name"` - // Empty the topics fields instead of deleting it. - // - // Deprecated: GitLab 14.9 introduced the proper deletion of topics. This field is no longer needed. - SoftDestroy pulumi.BoolPtrOutput `pulumi:"softDestroy"` - // The topic's description. Requires at least GitLab 15.0 for which it's a required argument. - Title pulumi.StringPtrOutput `pulumi:"title"` + // The topic's description. + Title pulumi.StringOutput `pulumi:"title"` } // NewTopic registers a new resource with the given unique name, arguments, and options. func NewTopic(ctx *pulumi.Context, name string, args *TopicArgs, opts ...pulumi.ResourceOption) (*Topic, error) { if args == nil { - args = &TopicArgs{} + return nil, errors.New("missing one or more required arguments") } + if args.Title == nil { + return nil, errors.New("invalid value for required argument 'Title'") + } opts = internal.PkgResourceDefaultOpts(opts) var resource Topic err := ctx.RegisterResource("gitlab:index/topic:Topic", name, args, &resource, opts...) @@ -107,11 +90,7 @@ type topicState struct { Description *string `pulumi:"description"` // The topic's name. Name *string `pulumi:"name"` - // Empty the topics fields instead of deleting it. - // - // Deprecated: GitLab 14.9 introduced the proper deletion of topics. This field is no longer needed. - SoftDestroy *bool `pulumi:"softDestroy"` - // The topic's description. Requires at least GitLab 15.0 for which it's a required argument. + // The topic's description. Title *string `pulumi:"title"` } @@ -126,11 +105,7 @@ type TopicState struct { Description pulumi.StringPtrInput // The topic's name. Name pulumi.StringPtrInput - // Empty the topics fields instead of deleting it. - // - // Deprecated: GitLab 14.9 introduced the proper deletion of topics. This field is no longer needed. - SoftDestroy pulumi.BoolPtrInput - // The topic's description. Requires at least GitLab 15.0 for which it's a required argument. + // The topic's description. Title pulumi.StringPtrInput } @@ -147,12 +122,8 @@ type topicArgs struct { Description *string `pulumi:"description"` // The topic's name. Name *string `pulumi:"name"` - // Empty the topics fields instead of deleting it. - // - // Deprecated: GitLab 14.9 introduced the proper deletion of topics. This field is no longer needed. - SoftDestroy *bool `pulumi:"softDestroy"` - // The topic's description. Requires at least GitLab 15.0 for which it's a required argument. - Title *string `pulumi:"title"` + // The topic's description. + Title string `pulumi:"title"` } // The set of arguments for constructing a Topic resource. @@ -165,12 +136,8 @@ type TopicArgs struct { Description pulumi.StringPtrInput // The topic's name. Name pulumi.StringPtrInput - // Empty the topics fields instead of deleting it. - // - // Deprecated: GitLab 14.9 introduced the proper deletion of topics. This field is no longer needed. - SoftDestroy pulumi.BoolPtrInput - // The topic's description. Requires at least GitLab 15.0 for which it's a required argument. - Title pulumi.StringPtrInput + // The topic's description. + Title pulumi.StringInput } func (TopicArgs) ElementType() reflect.Type { @@ -285,16 +252,9 @@ func (o TopicOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Topic) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// Empty the topics fields instead of deleting it. -// -// Deprecated: GitLab 14.9 introduced the proper deletion of topics. This field is no longer needed. -func (o TopicOutput) SoftDestroy() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *Topic) pulumi.BoolPtrOutput { return v.SoftDestroy }).(pulumi.BoolPtrOutput) -} - -// The topic's description. Requires at least GitLab 15.0 for which it's a required argument. -func (o TopicOutput) Title() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Topic) pulumi.StringPtrOutput { return v.Title }).(pulumi.StringPtrOutput) +// The topic's description. +func (o TopicOutput) Title() pulumi.StringOutput { + return o.ApplyT(func(v *Topic) pulumi.StringOutput { return v.Title }).(pulumi.StringOutput) } type TopicArrayOutput struct{ *pulumi.OutputState } diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/user.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/user.go similarity index 81% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/user.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/user.go index 91419c6f5..a8094d9e8 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/user.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/user.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `User` resource allows to manage the lifecycle of a user. +// The `User` resource manages the lifecycle of a user. // // > the provider needs to be configured with admin-level access for this resource to work. // @@ -27,7 +27,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -56,26 +56,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_user`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `User`. For example: // -// terraform -// -// import { -// -// to = gitlab_user.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// ```sh -// $ pulumi import gitlab:index/user:User You can import a user to terraform state using ` `. -// ``` +// Importing using the CLI is supported with the following syntax: // // The `id` must be an integer for the id of the user you want to import, -// // for example: // // ```sh @@ -88,14 +73,6 @@ type User struct { CanCreateGroup pulumi.BoolPtrOutput `pulumi:"canCreateGroup"` // The e-mail address of the user. Email pulumi.StringOutput `pulumi:"email"` - // String, a specific external authentication provider UID. - // - // Deprecated: To be removed in 18.0. Use UserIdentity resource instead. See https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/issues/1295 - ExternUid pulumi.StringPtrOutput `pulumi:"externUid"` - // String, the external provider. - // - // Deprecated: To be removed in 18.0. Use UserIdentity resource instead. See https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/issues/1295 - ExternalProvider pulumi.StringPtrOutput `pulumi:"externalProvider"` // Set user password to a random value ForceRandomPassword pulumi.BoolPtrOutput `pulumi:"forceRandomPassword"` // Boolean, defaults to false. Whether to enable administrative privileges @@ -169,14 +146,6 @@ type userState struct { CanCreateGroup *bool `pulumi:"canCreateGroup"` // The e-mail address of the user. Email *string `pulumi:"email"` - // String, a specific external authentication provider UID. - // - // Deprecated: To be removed in 18.0. Use UserIdentity resource instead. See https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/issues/1295 - ExternUid *string `pulumi:"externUid"` - // String, the external provider. - // - // Deprecated: To be removed in 18.0. Use UserIdentity resource instead. See https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/issues/1295 - ExternalProvider *string `pulumi:"externalProvider"` // Set user password to a random value ForceRandomPassword *bool `pulumi:"forceRandomPassword"` // Boolean, defaults to false. Whether to enable administrative privileges @@ -208,14 +177,6 @@ type UserState struct { CanCreateGroup pulumi.BoolPtrInput // The e-mail address of the user. Email pulumi.StringPtrInput - // String, a specific external authentication provider UID. - // - // Deprecated: To be removed in 18.0. Use UserIdentity resource instead. See https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/issues/1295 - ExternUid pulumi.StringPtrInput - // String, the external provider. - // - // Deprecated: To be removed in 18.0. Use UserIdentity resource instead. See https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/issues/1295 - ExternalProvider pulumi.StringPtrInput // Set user password to a random value ForceRandomPassword pulumi.BoolPtrInput // Boolean, defaults to false. Whether to enable administrative privileges @@ -251,14 +212,6 @@ type userArgs struct { CanCreateGroup *bool `pulumi:"canCreateGroup"` // The e-mail address of the user. Email string `pulumi:"email"` - // String, a specific external authentication provider UID. - // - // Deprecated: To be removed in 18.0. Use UserIdentity resource instead. See https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/issues/1295 - ExternUid *string `pulumi:"externUid"` - // String, the external provider. - // - // Deprecated: To be removed in 18.0. Use UserIdentity resource instead. See https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/issues/1295 - ExternalProvider *string `pulumi:"externalProvider"` // Set user password to a random value ForceRandomPassword *bool `pulumi:"forceRandomPassword"` // Boolean, defaults to false. Whether to enable administrative privileges @@ -291,14 +244,6 @@ type UserArgs struct { CanCreateGroup pulumi.BoolPtrInput // The e-mail address of the user. Email pulumi.StringInput - // String, a specific external authentication provider UID. - // - // Deprecated: To be removed in 18.0. Use UserIdentity resource instead. See https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/issues/1295 - ExternUid pulumi.StringPtrInput - // String, the external provider. - // - // Deprecated: To be removed in 18.0. Use UserIdentity resource instead. See https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/issues/1295 - ExternalProvider pulumi.StringPtrInput // Set user password to a random value ForceRandomPassword pulumi.BoolPtrInput // Boolean, defaults to false. Whether to enable administrative privileges @@ -422,20 +367,6 @@ func (o UserOutput) Email() pulumi.StringOutput { return o.ApplyT(func(v *User) pulumi.StringOutput { return v.Email }).(pulumi.StringOutput) } -// String, a specific external authentication provider UID. -// -// Deprecated: To be removed in 18.0. Use UserIdentity resource instead. See https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/issues/1295 -func (o UserOutput) ExternUid() pulumi.StringPtrOutput { - return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.ExternUid }).(pulumi.StringPtrOutput) -} - -// String, the external provider. -// -// Deprecated: To be removed in 18.0. Use UserIdentity resource instead. See https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/issues/1295 -func (o UserOutput) ExternalProvider() pulumi.StringPtrOutput { - return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.ExternalProvider }).(pulumi.StringPtrOutput) -} - // Set user password to a random value func (o UserOutput) ForceRandomPassword() pulumi.BoolPtrOutput { return o.ApplyT(func(v *User) pulumi.BoolPtrOutput { return v.ForceRandomPassword }).(pulumi.BoolPtrOutput) diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userAvatar.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userAvatar.go new file mode 100644 index 000000000..df071902e --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userAvatar.go @@ -0,0 +1,306 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `UserAvatar` resource allows users to manage the lifecycle of a user avatar. +// The resource can also be used to set the avatar on project or group access tokens, as well as on service accounts. +// +// > The `token` attribute is optional only when the GitLab token used by the provider has an administrator scope, as this allows an administrator to manage user avatars. +// +// > The provided `token` must have the `api` scope in order to set the avatar. +// +// **Upstream API**: [GitLab API docs](https://docs.gitlab.com/api/users/#upload-an-avatar-for-yourself) +// +// ## Import +// +// Starting in Terraform v1.5.0, you can use an import block to import `UserAvatar`. For example: +// +// Importing using the CLI is supported with the following syntax: +// +// A GitLab User Avatar can be imported using the user id, for example: +// +// ```sh +// $ pulumi import gitlab:index/userAvatar:UserAvatar example "12345" +// ``` +// +// NOTE: the `token` and `avatar` resource attributes are not available for imported resources as this information cannot be read from the GitLab API. +type UserAvatar struct { + pulumi.CustomResourceState + + // A local path to the avatar image to upload. **Note**: the avatar is not available for imported resources. + Avatar pulumi.StringOutput `pulumi:"avatar"` + // The hash of the avatar image. This is used to track changes to the avatar image if the image contents change but the image name remains the same. Use `filesha256("path/to/avatar.png")` whenever possible. + AvatarHash pulumi.StringPtrOutput `pulumi:"avatarHash"` + // The URL of the avatar image. + AvatarUrl pulumi.StringOutput `pulumi:"avatarUrl"` + // The access token of the user. If this field is omitted, a GitLab token with administrator scope is required to manage the avatar for the specified user. **Note**: the token is not available for imported resources. + Token pulumi.StringPtrOutput `pulumi:"token"` + // The ID of the user. + UserId pulumi.IntOutput `pulumi:"userId"` +} + +// NewUserAvatar registers a new resource with the given unique name, arguments, and options. +func NewUserAvatar(ctx *pulumi.Context, + name string, args *UserAvatarArgs, opts ...pulumi.ResourceOption) (*UserAvatar, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Avatar == nil { + return nil, errors.New("invalid value for required argument 'Avatar'") + } + if args.UserId == nil { + return nil, errors.New("invalid value for required argument 'UserId'") + } + if args.Token != nil { + args.Token = pulumi.ToSecret(args.Token).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "token", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource UserAvatar + err := ctx.RegisterResource("gitlab:index/userAvatar:UserAvatar", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetUserAvatar gets an existing UserAvatar resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetUserAvatar(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *UserAvatarState, opts ...pulumi.ResourceOption) (*UserAvatar, error) { + var resource UserAvatar + err := ctx.ReadResource("gitlab:index/userAvatar:UserAvatar", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering UserAvatar resources. +type userAvatarState struct { + // A local path to the avatar image to upload. **Note**: the avatar is not available for imported resources. + Avatar *string `pulumi:"avatar"` + // The hash of the avatar image. This is used to track changes to the avatar image if the image contents change but the image name remains the same. Use `filesha256("path/to/avatar.png")` whenever possible. + AvatarHash *string `pulumi:"avatarHash"` + // The URL of the avatar image. + AvatarUrl *string `pulumi:"avatarUrl"` + // The access token of the user. If this field is omitted, a GitLab token with administrator scope is required to manage the avatar for the specified user. **Note**: the token is not available for imported resources. + Token *string `pulumi:"token"` + // The ID of the user. + UserId *int `pulumi:"userId"` +} + +type UserAvatarState struct { + // A local path to the avatar image to upload. **Note**: the avatar is not available for imported resources. + Avatar pulumi.StringPtrInput + // The hash of the avatar image. This is used to track changes to the avatar image if the image contents change but the image name remains the same. Use `filesha256("path/to/avatar.png")` whenever possible. + AvatarHash pulumi.StringPtrInput + // The URL of the avatar image. + AvatarUrl pulumi.StringPtrInput + // The access token of the user. If this field is omitted, a GitLab token with administrator scope is required to manage the avatar for the specified user. **Note**: the token is not available for imported resources. + Token pulumi.StringPtrInput + // The ID of the user. + UserId pulumi.IntPtrInput +} + +func (UserAvatarState) ElementType() reflect.Type { + return reflect.TypeOf((*userAvatarState)(nil)).Elem() +} + +type userAvatarArgs struct { + // A local path to the avatar image to upload. **Note**: the avatar is not available for imported resources. + Avatar string `pulumi:"avatar"` + // The hash of the avatar image. This is used to track changes to the avatar image if the image contents change but the image name remains the same. Use `filesha256("path/to/avatar.png")` whenever possible. + AvatarHash *string `pulumi:"avatarHash"` + // The access token of the user. If this field is omitted, a GitLab token with administrator scope is required to manage the avatar for the specified user. **Note**: the token is not available for imported resources. + Token *string `pulumi:"token"` + // The ID of the user. + UserId int `pulumi:"userId"` +} + +// The set of arguments for constructing a UserAvatar resource. +type UserAvatarArgs struct { + // A local path to the avatar image to upload. **Note**: the avatar is not available for imported resources. + Avatar pulumi.StringInput + // The hash of the avatar image. This is used to track changes to the avatar image if the image contents change but the image name remains the same. Use `filesha256("path/to/avatar.png")` whenever possible. + AvatarHash pulumi.StringPtrInput + // The access token of the user. If this field is omitted, a GitLab token with administrator scope is required to manage the avatar for the specified user. **Note**: the token is not available for imported resources. + Token pulumi.StringPtrInput + // The ID of the user. + UserId pulumi.IntInput +} + +func (UserAvatarArgs) ElementType() reflect.Type { + return reflect.TypeOf((*userAvatarArgs)(nil)).Elem() +} + +type UserAvatarInput interface { + pulumi.Input + + ToUserAvatarOutput() UserAvatarOutput + ToUserAvatarOutputWithContext(ctx context.Context) UserAvatarOutput +} + +func (*UserAvatar) ElementType() reflect.Type { + return reflect.TypeOf((**UserAvatar)(nil)).Elem() +} + +func (i *UserAvatar) ToUserAvatarOutput() UserAvatarOutput { + return i.ToUserAvatarOutputWithContext(context.Background()) +} + +func (i *UserAvatar) ToUserAvatarOutputWithContext(ctx context.Context) UserAvatarOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserAvatarOutput) +} + +// UserAvatarArrayInput is an input type that accepts UserAvatarArray and UserAvatarArrayOutput values. +// You can construct a concrete instance of `UserAvatarArrayInput` via: +// +// UserAvatarArray{ UserAvatarArgs{...} } +type UserAvatarArrayInput interface { + pulumi.Input + + ToUserAvatarArrayOutput() UserAvatarArrayOutput + ToUserAvatarArrayOutputWithContext(context.Context) UserAvatarArrayOutput +} + +type UserAvatarArray []UserAvatarInput + +func (UserAvatarArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*UserAvatar)(nil)).Elem() +} + +func (i UserAvatarArray) ToUserAvatarArrayOutput() UserAvatarArrayOutput { + return i.ToUserAvatarArrayOutputWithContext(context.Background()) +} + +func (i UserAvatarArray) ToUserAvatarArrayOutputWithContext(ctx context.Context) UserAvatarArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserAvatarArrayOutput) +} + +// UserAvatarMapInput is an input type that accepts UserAvatarMap and UserAvatarMapOutput values. +// You can construct a concrete instance of `UserAvatarMapInput` via: +// +// UserAvatarMap{ "key": UserAvatarArgs{...} } +type UserAvatarMapInput interface { + pulumi.Input + + ToUserAvatarMapOutput() UserAvatarMapOutput + ToUserAvatarMapOutputWithContext(context.Context) UserAvatarMapOutput +} + +type UserAvatarMap map[string]UserAvatarInput + +func (UserAvatarMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*UserAvatar)(nil)).Elem() +} + +func (i UserAvatarMap) ToUserAvatarMapOutput() UserAvatarMapOutput { + return i.ToUserAvatarMapOutputWithContext(context.Background()) +} + +func (i UserAvatarMap) ToUserAvatarMapOutputWithContext(ctx context.Context) UserAvatarMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserAvatarMapOutput) +} + +type UserAvatarOutput struct{ *pulumi.OutputState } + +func (UserAvatarOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UserAvatar)(nil)).Elem() +} + +func (o UserAvatarOutput) ToUserAvatarOutput() UserAvatarOutput { + return o +} + +func (o UserAvatarOutput) ToUserAvatarOutputWithContext(ctx context.Context) UserAvatarOutput { + return o +} + +// A local path to the avatar image to upload. **Note**: the avatar is not available for imported resources. +func (o UserAvatarOutput) Avatar() pulumi.StringOutput { + return o.ApplyT(func(v *UserAvatar) pulumi.StringOutput { return v.Avatar }).(pulumi.StringOutput) +} + +// The hash of the avatar image. This is used to track changes to the avatar image if the image contents change but the image name remains the same. Use `filesha256("path/to/avatar.png")` whenever possible. +func (o UserAvatarOutput) AvatarHash() pulumi.StringPtrOutput { + return o.ApplyT(func(v *UserAvatar) pulumi.StringPtrOutput { return v.AvatarHash }).(pulumi.StringPtrOutput) +} + +// The URL of the avatar image. +func (o UserAvatarOutput) AvatarUrl() pulumi.StringOutput { + return o.ApplyT(func(v *UserAvatar) pulumi.StringOutput { return v.AvatarUrl }).(pulumi.StringOutput) +} + +// The access token of the user. If this field is omitted, a GitLab token with administrator scope is required to manage the avatar for the specified user. **Note**: the token is not available for imported resources. +func (o UserAvatarOutput) Token() pulumi.StringPtrOutput { + return o.ApplyT(func(v *UserAvatar) pulumi.StringPtrOutput { return v.Token }).(pulumi.StringPtrOutput) +} + +// The ID of the user. +func (o UserAvatarOutput) UserId() pulumi.IntOutput { + return o.ApplyT(func(v *UserAvatar) pulumi.IntOutput { return v.UserId }).(pulumi.IntOutput) +} + +type UserAvatarArrayOutput struct{ *pulumi.OutputState } + +func (UserAvatarArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*UserAvatar)(nil)).Elem() +} + +func (o UserAvatarArrayOutput) ToUserAvatarArrayOutput() UserAvatarArrayOutput { + return o +} + +func (o UserAvatarArrayOutput) ToUserAvatarArrayOutputWithContext(ctx context.Context) UserAvatarArrayOutput { + return o +} + +func (o UserAvatarArrayOutput) Index(i pulumi.IntInput) UserAvatarOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *UserAvatar { + return vs[0].([]*UserAvatar)[vs[1].(int)] + }).(UserAvatarOutput) +} + +type UserAvatarMapOutput struct{ *pulumi.OutputState } + +func (UserAvatarMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*UserAvatar)(nil)).Elem() +} + +func (o UserAvatarMapOutput) ToUserAvatarMapOutput() UserAvatarMapOutput { + return o +} + +func (o UserAvatarMapOutput) ToUserAvatarMapOutputWithContext(ctx context.Context) UserAvatarMapOutput { + return o +} + +func (o UserAvatarMapOutput) MapIndex(k pulumi.StringInput) UserAvatarOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *UserAvatar { + return vs[0].(map[string]*UserAvatar)[vs[1].(string)] + }).(UserAvatarOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*UserAvatarInput)(nil)).Elem(), &UserAvatar{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserAvatarArrayInput)(nil)).Elem(), UserAvatarArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserAvatarMapInput)(nil)).Elem(), UserAvatarMap{}) + pulumi.RegisterOutputType(UserAvatarOutput{}) + pulumi.RegisterOutputType(UserAvatarArrayOutput{}) + pulumi.RegisterOutputType(UserAvatarMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userCustomAttribute.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userCustomAttribute.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userCustomAttribute.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userCustomAttribute.go index 08f6fd550..4021734b5 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userCustomAttribute.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userCustomAttribute.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,11 +8,11 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `UserCustomAttribute` resource allows to manage custom attributes for a user. +// The `UserCustomAttribute` resource manages custom attributes for a user. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/custom_attributes/) // @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -46,21 +46,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_user_custom_attribute`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `UserCustomAttribute`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_user_custom_attribute.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import a user custom attribute using an id made up of `{user-id}:{key}`, e.g. +// You can import a user custom attribute using an id made up of `{user-id}:{key}`, for example: // // ```sh // $ pulumi import gitlab:index/userCustomAttribute:UserCustomAttribute attr 42:location diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userGpgKey.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userGpgKey.go similarity index 92% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userGpgKey.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userGpgKey.go index 41ce0430b..3cdc5cf03 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userGpgKey.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userGpgKey.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,15 +8,15 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `UserGpgKey` resource allows to manage the lifecycle of a GPG key assigned to the current user or a specific user. +// The `UserGpgKey` resource manages the lifecycle of a GPG key assigned to the current user or a specific user. // // > Managing GPG keys for arbitrary users requires admin privileges. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/users/#get-a-specific-gpg-key) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/user_keys/#get-a-gpg-key-for-a-user) // // ## Example Usage // @@ -25,14 +25,14 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// example, err := gitlab.LookupUser(ctx, &gitlab.LookupUserArgs{ +// example, err := gitlab.GetUser(ctx, &gitlab.LookupUserArgs{ // Username: pulumi.StringRef("example-user"), // }, nil) // if err != nil { @@ -40,7 +40,7 @@ import ( // } // // Manages a GPG key for the specified user. An admin token is required if `user_id` is specified. // _, err = gitlab.NewUserGpgKey(ctx, "example", &gitlab.UserGpgKeyArgs{ -// UserId: pulumi.String(example.Id), +// UserId: pulumi.Int(pulumi.String(example.Id)), // Key: pulumi.String("-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK-----"), // }) // if err != nil { @@ -61,27 +61,17 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_user_gpgkey`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `UserGpgKey`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_user_gpgkey.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import a GPG key for a specific user using an id made up of `{user-id}:{key}`, e.g. +// You can import a GPG key for a specific user using an id made up of `{user-id}:{key}`, for example: // // ```sh // $ pulumi import gitlab:index/userGpgKey:UserGpgKey example 42:1 // ``` // -// Alternatively, you can import a GPG key for the current user using an id made up of `{key}`, e.g. +// Alternatively, you can import a GPG key for the current user using an id made up of `{key}`, for example: // // ```sh // $ pulumi import gitlab:index/userGpgKey:UserGpgKey example_user 1 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userIdentity.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userIdentity.go similarity index 93% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userIdentity.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userIdentity.go index 1c5ff689b..f2293a0b6 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userIdentity.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userIdentity.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -60,26 +60,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_user_identity`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `UserIdentity`. For example: // -// terraform -// -// import { -// -// to = gitlab_user_identity.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// ```sh -// $ pulumi import gitlab:index/userIdentity:UserIdentity You can import a user identity to terraform state using ` `. -// ``` +// Importing using the CLI is supported with the following syntax: // // The `id` must be a string for the id of the user and identity provider you want to import, -// // for example: // // ```sh diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userImpersonationToken.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userImpersonationToken.go similarity index 85% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userImpersonationToken.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userImpersonationToken.go index d63618ce2..726aa8e06 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userImpersonationToken.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userImpersonationToken.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,14 +8,14 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `UserImpersonationToken` resource allows to manage impersonation tokens of users. +// The `UserImpersonationToken` resource manages impersonation tokens of users. // Requires administrator access. Token values are returned once. You are only able to create impersonation tokens to impersonate the user and perform both API calls and Git reads and writes. The user can’t see these tokens in their profile settings page. // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/users/#create-an-impersonation-token) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/user_tokens/#create-an-impersonation-token) // // ## Example Usage // @@ -24,7 +24,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -50,21 +50,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_user_impersonation_token`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `UserImpersonationToken`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_user_impersonation_token.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// A GitLab User Impersonation Token can be imported using a key composed of `:`, e.g. +// A GitLab User Impersonation Token can be imported using a key composed of `:`, for example: // // ```sh // $ pulumi import gitlab:index/userImpersonationToken:UserImpersonationToken example "12345:1" @@ -86,7 +76,7 @@ type UserImpersonationToken struct { Name pulumi.StringOutput `pulumi:"name"` // True if the token is revoked. Revoked pulumi.BoolOutput `pulumi:"revoked"` - // Array of scopes of the impersonation token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readServicePing` + // Array of scopes of the impersonation token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing` Scopes pulumi.StringArrayOutput `pulumi:"scopes"` // The token of the user impersonation token. **Note**: the token is not available for imported resources. Token pulumi.StringOutput `pulumi:"token"` @@ -94,6 +84,8 @@ type UserImpersonationToken struct { TokenId pulumi.IntOutput `pulumi:"tokenId"` // The ID of the user. UserId pulumi.IntOutput `pulumi:"userId"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolOutput `pulumi:"validatePastExpirationDate"` } // NewUserImpersonationToken registers a new resource with the given unique name, arguments, and options. @@ -151,7 +143,7 @@ type userImpersonationTokenState struct { Name *string `pulumi:"name"` // True if the token is revoked. Revoked *bool `pulumi:"revoked"` - // Array of scopes of the impersonation token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readServicePing` + // Array of scopes of the impersonation token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing` Scopes []string `pulumi:"scopes"` // The token of the user impersonation token. **Note**: the token is not available for imported resources. Token *string `pulumi:"token"` @@ -159,6 +151,8 @@ type userImpersonationTokenState struct { TokenId *int `pulumi:"tokenId"` // The ID of the user. UserId *int `pulumi:"userId"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate *bool `pulumi:"validatePastExpirationDate"` } type UserImpersonationTokenState struct { @@ -174,7 +168,7 @@ type UserImpersonationTokenState struct { Name pulumi.StringPtrInput // True if the token is revoked. Revoked pulumi.BoolPtrInput - // Array of scopes of the impersonation token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readServicePing` + // Array of scopes of the impersonation token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing` Scopes pulumi.StringArrayInput // The token of the user impersonation token. **Note**: the token is not available for imported resources. Token pulumi.StringPtrInput @@ -182,6 +176,8 @@ type UserImpersonationTokenState struct { TokenId pulumi.IntPtrInput // The ID of the user. UserId pulumi.IntPtrInput + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolPtrInput } func (UserImpersonationTokenState) ElementType() reflect.Type { @@ -193,10 +189,12 @@ type userImpersonationTokenArgs struct { ExpiresAt string `pulumi:"expiresAt"` // The name of the impersonation token. Name *string `pulumi:"name"` - // Array of scopes of the impersonation token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readServicePing` + // Array of scopes of the impersonation token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing` Scopes []string `pulumi:"scopes"` // The ID of the user. UserId int `pulumi:"userId"` + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate *bool `pulumi:"validatePastExpirationDate"` } // The set of arguments for constructing a UserImpersonationToken resource. @@ -205,10 +203,12 @@ type UserImpersonationTokenArgs struct { ExpiresAt pulumi.StringInput // The name of the impersonation token. Name pulumi.StringPtrInput - // Array of scopes of the impersonation token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readServicePing` + // Array of scopes of the impersonation token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing` Scopes pulumi.StringArrayInput // The ID of the user. UserId pulumi.IntInput + // Wether to validate if the expiration date is in the future. + ValidatePastExpirationDate pulumi.BoolPtrInput } func (UserImpersonationTokenArgs) ElementType() reflect.Type { @@ -328,7 +328,7 @@ func (o UserImpersonationTokenOutput) Revoked() pulumi.BoolOutput { return o.ApplyT(func(v *UserImpersonationToken) pulumi.BoolOutput { return v.Revoked }).(pulumi.BoolOutput) } -// Array of scopes of the impersonation token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `readServicePing` +// Array of scopes of the impersonation token. valid values are: `api`, `readUser`, `readApi`, `readRepository`, `writeRepository`, `readRegistry`, `writeRegistry`, `readVirtualRegistry`, `writeVirtualRegistry`, `sudo`, `adminMode`, `createRunner`, `manageRunner`, `aiFeatures`, `k8sProxy`, `selfRotate`, `readServicePing` func (o UserImpersonationTokenOutput) Scopes() pulumi.StringArrayOutput { return o.ApplyT(func(v *UserImpersonationToken) pulumi.StringArrayOutput { return v.Scopes }).(pulumi.StringArrayOutput) } @@ -348,6 +348,11 @@ func (o UserImpersonationTokenOutput) UserId() pulumi.IntOutput { return o.ApplyT(func(v *UserImpersonationToken) pulumi.IntOutput { return v.UserId }).(pulumi.IntOutput) } +// Wether to validate if the expiration date is in the future. +func (o UserImpersonationTokenOutput) ValidatePastExpirationDate() pulumi.BoolOutput { + return o.ApplyT(func(v *UserImpersonationToken) pulumi.BoolOutput { return v.ValidatePastExpirationDate }).(pulumi.BoolOutput) +} + type UserImpersonationTokenArrayOutput struct{ *pulumi.OutputState } func (UserImpersonationTokenArrayOutput) ElementType() reflect.Type { diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userRunner.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userRunner.go similarity index 96% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userRunner.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userRunner.go index b88705f6b..b8d497b83 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userRunner.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userRunner.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) // The `UserRunner` resource allows creating a GitLab runner using the new [GitLab Runner Registration Flow](https://docs.gitlab.com/ci/runners/new_creation_workflow/). // -// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/users/#create-a-runner) +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/users/#create-a-runner-linked-to-a-user) // // ## Example Usage // @@ -25,7 +25,7 @@ import ( // // "fmt" // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -72,10 +72,10 @@ import ( // // [[runners]] // -// name = "my_gitlab_runner" -// url = "https://example.gitlab.com" -// token = "%v" -// executor = "docker" +// name = \"my_gitlab_runner\" +// url = \"https://example.gitlab.com\" +// token = \"%v\" +// executor = \"docker\" // // [runners.custom_build_dir] // [runners.cache] @@ -84,12 +84,12 @@ import ( // [runners.cache.azure] // [runners.docker] // tls_verify = false -// image = "ubuntu" +// image = \"ubuntu\" // privileged = true // disable_entrypoint_overwrite = false // oom_kill_disable = false // disable_cache = false -// volumes = ["/cache", "/certs/client"] +// volumes = [\"/cache\", \"/certs/client\"] // shm_size = 0 // // `, token), nil @@ -103,22 +103,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_user_runner`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `UserRunner`. For example: // -// terraform -// -// import { -// -// to = gitlab_user_runner.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// # You can import a gitlab runner using its ID +// Importing using the CLI is supported with the following syntax: // +// You can import a gitlab runner using its ID // Note: Importing a runner will not provide access to the `token` attribute // // ```sh diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userSshKey.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userSshKey.go similarity index 94% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userSshKey.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userSshKey.go index 33fadbc0e..facdd0c18 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/userSshKey.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/userSshKey.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,13 +8,13 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `UserSshKey` resource allows to manage the lifecycle of an SSH key assigned to a user. +// The `UserSshKey` resource manages the lifecycle of an SSH key assigned to a user. // -// **Upstream API**: [GitLab API docs](https://docs.gitlab.com/api/users/#single-ssh-key) +// **Upstream API**: [GitLab API docs](https://docs.gitlab.com/api/user_keys/#get-an-ssh-key-for-a-user) // // ## Example Usage // @@ -23,21 +23,21 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// example, err := gitlab.LookupUser(ctx, &gitlab.LookupUserArgs{ +// example, err := gitlab.GetUser(ctx, &gitlab.LookupUserArgs{ // Username: pulumi.StringRef("example-user"), // }, nil) // if err != nil { // return err // } // _, err = gitlab.NewUserSshKey(ctx, "example", &gitlab.UserSshKeyArgs{ -// UserId: pulumi.String(example.Id), +// UserId: pulumi.Int(pulumi.String(example.Id)), // Title: pulumi.String("example-key"), // Key: pulumi.String("ssh-ed25519 AAAA..."), // ExpiresAt: pulumi.String("2016-01-21T00:00:00.000Z"), @@ -53,21 +53,11 @@ import ( // // ## Import // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_user_sshkey`. For example: +// Starting in Terraform v1.5.0, you can use an import block to import `UserSshKey`. For example: // -// terraform +// Importing using the CLI is supported with the following syntax: // -// import { -// -// to = gitlab_user_sshkey.example -// -// id = "see CLI command below for ID" -// -// } -// -// Import using the CLI is supported using the following syntax: -// -// You can import a user ssh key using an id made up of `{user-id}:{key}`, e.g. +// You can import a user ssh key using an id made up of `{user-id}:{key}`, for example: // // ```sh // $ pulumi import gitlab:index/userSshKey:UserSshKey example 42:1 diff --git a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/valueStreamAnalytics.go b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/valueStreamAnalytics.go similarity index 81% rename from vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/valueStreamAnalytics.go rename to vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/valueStreamAnalytics.go index 7c35b7a4a..51d66dfd0 100644 --- a/vendor/github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/valueStreamAnalytics.go +++ b/vendor/github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/valueStreamAnalytics.go @@ -1,4 +1,4 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// Code generated by pulumi-language-go DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package gitlab @@ -8,39 +8,93 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `ValueStreamAnalytics` resource allows to manage the lifecycle of value stream analytics. +// The `ValueStreamAnalytics` resource manages the lifecycle of value stream analytics. // // > This resource requires a GitLab Enterprise instance with a Premium license to create custom value stream analytics. // // **Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/api/graphql/reference/#mutationvaluestreamcreate) // -// ## Import +// ## Example Usage +// +// ```go +// package main // -// Starting in Terraform v1.5.0 you can use an import block to import `gitlab_value_stream_analytics`. For example: +// import ( // -// terraform +// "github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // -// import { +// ) // -// to = gitlab_value_stream_analytics.example +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.NewValueStreamAnalytics(ctx, "project", &gitlab.ValueStreamAnalyticsArgs{ +// Name: pulumi.String("TEST"), +// ProjectFullPath: pulumi.String("test/project"), +// Stages: gitlab.ValueStreamAnalyticsStageArray{ +// &gitlab.ValueStreamAnalyticsStageArgs{ +// Name: pulumi.String("Issue"), +// Custom: pulumi.Bool(false), +// Hidden: pulumi.Bool(false), +// }, +// &gitlab.ValueStreamAnalyticsStageArgs{ +// Name: pulumi.String("Issue Labels"), +// Custom: pulumi.Bool(true), +// Hidden: pulumi.Bool(false), +// StartEventIdentifier: pulumi.String("ISSUE_LABEL_ADDED"), +// StartEventLabelId: pulumi.String("gid://gitlab/ProjectLabel/0"), +// EndEventIdentifier: pulumi.String("ISSUE_LABEL_REMOVED"), +// EndEventLabelId: pulumi.String("gid://gitlab/ProjectLabel/1"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewValueStreamAnalytics(ctx, "group", &gitlab.ValueStreamAnalyticsArgs{ +// Name: pulumi.String("TEST"), +// GroupFullPath: pulumi.String("test/group"), +// Stages: gitlab.ValueStreamAnalyticsStageArray{ +// &gitlab.ValueStreamAnalyticsStageArgs{ +// Name: pulumi.String("Issue"), +// Custom: pulumi.Bool(false), +// Hidden: pulumi.Bool(false), +// }, +// &gitlab.ValueStreamAnalyticsStageArgs{ +// Name: pulumi.String("Issue Labels"), +// Custom: pulumi.Bool(true), +// Hidden: pulumi.Bool(false), +// StartEventIdentifier: pulumi.String("ISSUE_LABEL_ADDED"), +// StartEventLabelId: pulumi.String("gid://gitlab/GroupLabel/0"), +// EndEventIdentifier: pulumi.String("ISSUE_LABEL_REMOVED"), +// EndEventLabelId: pulumi.String("gid://gitlab/GroupLabel/1"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } // -// id = "see CLI command below for ID" +// ``` // -// } +// ## Import // -// Import using the CLI is supported using the following syntax: +// Starting in Terraform v1.5.0, you can use an import block to import `ValueStreamAnalytics`. For example: // -// Gitlab value stream analytics can be imported with a key composed of `::`, e.g. +// Importing using the CLI is supported with the following syntax: +// +// Gitlab value stream analytics can be imported with a key composed of `::`, for example: // // ```sh // $ pulumi import gitlab:index/valueStreamAnalytics:ValueStreamAnalytics group "group:people/engineers:42" -// ``` // -// ```sh // $ pulumi import gitlab:index/valueStreamAnalytics:ValueStreamAnalytics project "project:projects/sample:43" // ``` type ValueStreamAnalytics struct { diff --git a/vendor/modules.txt b/vendor/modules.txt index f5b5849dd..695f4c9da 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -929,10 +929,10 @@ github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal ## explicit; go 1.21 github.com/pulumi/pulumi-docker/sdk/v4/go/docker github.com/pulumi/pulumi-docker/sdk/v4/go/docker/internal -# github.com/pulumi/pulumi-gitlab/sdk/v8 v8.11.0 -## explicit; go 1.22 -github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab -github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal +# github.com/pulumi/pulumi-gitlab/sdk/v9 v9.11.0 +## explicit; go 1.25.8 +github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab +github.com/pulumi/pulumi-gitlab/sdk/v9/go/gitlab/internal # github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.31.1 ## explicit; go 1.25.6 github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes