Documentation
¶
Index ¶
- func NewProjectContainerExpirationPolicyOutputReference_Override(p ProjectContainerExpirationPolicyOutputReference, ...)
- func NewProjectPushRulesOutputReference_Override(p ProjectPushRulesOutputReference, ...)
- func NewProjectTimeoutsOutputReference_Override(p ProjectTimeoutsOutputReference, terraformResource cdktf.IInterpolatingParent, ...)
- func NewProject_Override(p Project, scope constructs.Construct, id *string, config *ProjectConfig)
- func Project_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, ...) cdktf.ImportableResource
- func Project_IsConstruct(x interface{}) *bool
- func Project_IsTerraformElement(x interface{}) *bool
- func Project_IsTerraformResource(x interface{}) *bool
- func Project_TfResourceType() *string
- type Project
- type ProjectConfig
- type ProjectContainerExpirationPolicy
- type ProjectContainerExpirationPolicyOutputReference
- type ProjectPushRules
- type ProjectPushRulesOutputReference
- type ProjectTimeouts
- type ProjectTimeoutsOutputReference
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewProjectContainerExpirationPolicyOutputReference_Override ¶
func NewProjectContainerExpirationPolicyOutputReference_Override(p ProjectContainerExpirationPolicyOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)
func NewProjectPushRulesOutputReference_Override ¶
func NewProjectPushRulesOutputReference_Override(p ProjectPushRulesOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)
func NewProjectTimeoutsOutputReference_Override ¶
func NewProjectTimeoutsOutputReference_Override(p ProjectTimeoutsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)
func NewProject_Override ¶
func NewProject_Override(p Project, scope constructs.Construct, id *string, config *ProjectConfig)
Create a new {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project gitlab_project} Resource.
func Project_GenerateConfigForImport ¶
func Project_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, provider cdktf.TerraformProvider) cdktf.ImportableResource
Generates CDKTF code for importing a Project resource upon running "cdktf plan <stack-name>".
func Project_IsConstruct ¶
func Project_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func Project_IsTerraformElement ¶
func Project_IsTerraformElement(x interface{}) *bool
Experimental.
func Project_IsTerraformResource ¶
func Project_IsTerraformResource(x interface{}) *bool
Experimental.
func Project_TfResourceType ¶
func Project_TfResourceType() *string
Types ¶
type Project ¶
type Project interface {
cdktf.TerraformResource
AllowMergeOnSkippedPipeline() interface{}
SetAllowMergeOnSkippedPipeline(val interface{})
AllowMergeOnSkippedPipelineInput() interface{}
AllowPipelineTriggerApproveDeployment() interface{}
SetAllowPipelineTriggerApproveDeployment(val interface{})
AllowPipelineTriggerApproveDeploymentInput() interface{}
AnalyticsAccessLevel() *string
SetAnalyticsAccessLevel(val *string)
AnalyticsAccessLevelInput() *string
ApprovalsBeforeMerge() *float64
SetApprovalsBeforeMerge(val *float64)
ApprovalsBeforeMergeInput() *float64
Archived() interface{}
SetArchived(val interface{})
ArchivedInput() interface{}
ArchiveOnDestroy() interface{}
SetArchiveOnDestroy(val interface{})
ArchiveOnDestroyInput() interface{}
AutoCancelPendingPipelines() *string
SetAutoCancelPendingPipelines(val *string)
AutoCancelPendingPipelinesInput() *string
AutocloseReferencedIssues() interface{}
SetAutocloseReferencedIssues(val interface{})
AutocloseReferencedIssuesInput() interface{}
AutoDevopsDeployStrategy() *string
SetAutoDevopsDeployStrategy(val *string)
AutoDevopsDeployStrategyInput() *string
AutoDevopsEnabled() interface{}
SetAutoDevopsEnabled(val interface{})
AutoDevopsEnabledInput() interface{}
Avatar() *string
SetAvatar(val *string)
AvatarHash() *string
SetAvatarHash(val *string)
AvatarHashInput() *string
AvatarInput() *string
AvatarUrl() *string
BuildCoverageRegex() *string
SetBuildCoverageRegex(val *string)
BuildCoverageRegexInput() *string
BuildGitStrategy() *string
SetBuildGitStrategy(val *string)
BuildGitStrategyInput() *string
BuildsAccessLevel() *string
SetBuildsAccessLevel(val *string)
BuildsAccessLevelInput() *string
BuildTimeout() *float64
SetBuildTimeout(val *float64)
BuildTimeoutInput() *float64
// Experimental.
CdktfStack() cdktf.TerraformStack
CiConfigPath() *string
SetCiConfigPath(val *string)
CiConfigPathInput() *string
CiDefaultGitDepth() *float64
SetCiDefaultGitDepth(val *float64)
CiDefaultGitDepthInput() *float64
CiForwardDeploymentEnabled() interface{}
SetCiForwardDeploymentEnabled(val interface{})
CiForwardDeploymentEnabledInput() interface{}
CiPipelineVariablesMinimumOverrideRole() *string
SetCiPipelineVariablesMinimumOverrideRole(val *string)
CiPipelineVariablesMinimumOverrideRoleInput() *string
CiRestrictPipelineCancellationRole() *string
SetCiRestrictPipelineCancellationRole(val *string)
CiRestrictPipelineCancellationRoleInput() *string
CiSeparatedCaches() interface{}
SetCiSeparatedCaches(val interface{})
CiSeparatedCachesInput() interface{}
// Experimental.
Connection() interface{}
// Experimental.
SetConnection(val interface{})
// Experimental.
ConstructNodeMetadata() *map[string]interface{}
ContainerExpirationPolicy() ProjectContainerExpirationPolicyOutputReference
ContainerExpirationPolicyInput() *ProjectContainerExpirationPolicy
ContainerRegistryAccessLevel() *string
SetContainerRegistryAccessLevel(val *string)
ContainerRegistryAccessLevelInput() *string
ContainerRegistryEnabled() interface{}
SetContainerRegistryEnabled(val interface{})
ContainerRegistryEnabledInput() interface{}
// Experimental.
Count() interface{}
// Experimental.
SetCount(val interface{})
DefaultBranch() *string
SetDefaultBranch(val *string)
DefaultBranchInput() *string
// Experimental.
DependsOn() *[]*string
// Experimental.
SetDependsOn(val *[]*string)
Description() *string
SetDescription(val *string)
DescriptionInput() *string
EmailsEnabled() interface{}
SetEmailsEnabled(val interface{})
EmailsEnabledInput() interface{}
EmptyRepo() cdktf.IResolvable
EnvironmentsAccessLevel() *string
SetEnvironmentsAccessLevel(val *string)
EnvironmentsAccessLevelInput() *string
ExternalAuthorizationClassificationLabel() *string
SetExternalAuthorizationClassificationLabel(val *string)
ExternalAuthorizationClassificationLabelInput() *string
FeatureFlagsAccessLevel() *string
SetFeatureFlagsAccessLevel(val *string)
FeatureFlagsAccessLevelInput() *string
// Experimental.
ForEach() cdktf.ITerraformIterator
// Experimental.
SetForEach(val cdktf.ITerraformIterator)
ForkedFromProjectId() *float64
SetForkedFromProjectId(val *float64)
ForkedFromProjectIdInput() *float64
ForkingAccessLevel() *string
SetForkingAccessLevel(val *string)
ForkingAccessLevelInput() *string
// Experimental.
Fqn() *string
// Experimental.
FriendlyUniqueId() *string
GroupRunnersEnabled() interface{}
SetGroupRunnersEnabled(val interface{})
GroupRunnersEnabledInput() interface{}
GroupWithProjectTemplatesId() *float64
SetGroupWithProjectTemplatesId(val *float64)
GroupWithProjectTemplatesIdInput() *float64
HttpUrlToRepo() *string
Id() *string
SetId(val *string)
IdInput() *string
ImportUrl() *string
SetImportUrl(val *string)
ImportUrlInput() *string
ImportUrlPassword() *string
SetImportUrlPassword(val *string)
ImportUrlPasswordInput() *string
ImportUrlUsername() *string
SetImportUrlUsername(val *string)
ImportUrlUsernameInput() *string
InfrastructureAccessLevel() *string
SetInfrastructureAccessLevel(val *string)
InfrastructureAccessLevelInput() *string
InitializeWithReadme() interface{}
SetInitializeWithReadme(val interface{})
InitializeWithReadmeInput() interface{}
IssuesAccessLevel() *string
SetIssuesAccessLevel(val *string)
IssuesAccessLevelInput() *string
IssuesEnabled() interface{}
SetIssuesEnabled(val interface{})
IssuesEnabledInput() interface{}
IssuesTemplate() *string
SetIssuesTemplate(val *string)
IssuesTemplateInput() *string
KeepLatestArtifact() interface{}
SetKeepLatestArtifact(val interface{})
KeepLatestArtifactInput() interface{}
LfsEnabled() interface{}
SetLfsEnabled(val interface{})
LfsEnabledInput() interface{}
// Experimental.
Lifecycle() *cdktf.TerraformResourceLifecycle
// Experimental.
SetLifecycle(val *cdktf.TerraformResourceLifecycle)
MergeCommitTemplate() *string
SetMergeCommitTemplate(val *string)
MergeCommitTemplateInput() *string
MergeMethod() *string
SetMergeMethod(val *string)
MergeMethodInput() *string
MergePipelinesEnabled() interface{}
SetMergePipelinesEnabled(val interface{})
MergePipelinesEnabledInput() interface{}
MergeRequestsAccessLevel() *string
SetMergeRequestsAccessLevel(val *string)
MergeRequestsAccessLevelInput() *string
MergeRequestsEnabled() interface{}
SetMergeRequestsEnabled(val interface{})
MergeRequestsEnabledInput() interface{}
MergeRequestsTemplate() *string
SetMergeRequestsTemplate(val *string)
MergeRequestsTemplateInput() *string
MergeTrainsEnabled() interface{}
SetMergeTrainsEnabled(val interface{})
MergeTrainsEnabledInput() interface{}
Mirror() interface{}
SetMirror(val interface{})
MirrorInput() interface{}
MirrorOverwritesDivergedBranches() interface{}
SetMirrorOverwritesDivergedBranches(val interface{})
MirrorOverwritesDivergedBranchesInput() interface{}
MirrorTriggerBuilds() interface{}
SetMirrorTriggerBuilds(val interface{})
MirrorTriggerBuildsInput() interface{}
ModelExperimentsAccessLevel() *string
SetModelExperimentsAccessLevel(val *string)
ModelExperimentsAccessLevelInput() *string
ModelRegistryAccessLevel() *string
SetModelRegistryAccessLevel(val *string)
ModelRegistryAccessLevelInput() *string
MonitorAccessLevel() *string
SetMonitorAccessLevel(val *string)
MonitorAccessLevelInput() *string
MrDefaultTargetSelf() interface{}
SetMrDefaultTargetSelf(val interface{})
MrDefaultTargetSelfInput() interface{}
Name() *string
SetName(val *string)
NameInput() *string
NamespaceId() *float64
SetNamespaceId(val *float64)
NamespaceIdInput() *float64
// The tree node.
Node() constructs.Node
OnlyAllowMergeIfAllDiscussionsAreResolved() interface{}
SetOnlyAllowMergeIfAllDiscussionsAreResolved(val interface{})
OnlyAllowMergeIfAllDiscussionsAreResolvedInput() interface{}
OnlyAllowMergeIfPipelineSucceeds() interface{}
SetOnlyAllowMergeIfPipelineSucceeds(val interface{})
OnlyAllowMergeIfPipelineSucceedsInput() interface{}
OnlyMirrorProtectedBranches() interface{}
SetOnlyMirrorProtectedBranches(val interface{})
OnlyMirrorProtectedBranchesInput() interface{}
PackagesEnabled() interface{}
SetPackagesEnabled(val interface{})
PackagesEnabledInput() interface{}
PagesAccessLevel() *string
SetPagesAccessLevel(val *string)
PagesAccessLevelInput() *string
Path() *string
SetPath(val *string)
PathInput() *string
PathWithNamespace() *string
PipelinesEnabled() interface{}
SetPipelinesEnabled(val interface{})
PipelinesEnabledInput() interface{}
PreReceiveSecretDetectionEnabled() interface{}
SetPreReceiveSecretDetectionEnabled(val interface{})
PreReceiveSecretDetectionEnabledInput() interface{}
PreventMergeWithoutJiraIssue() interface{}
SetPreventMergeWithoutJiraIssue(val interface{})
PreventMergeWithoutJiraIssueInput() interface{}
PrintingMergeRequestLinkEnabled() interface{}
SetPrintingMergeRequestLinkEnabled(val interface{})
PrintingMergeRequestLinkEnabledInput() interface{}
// Experimental.
Provider() cdktf.TerraformProvider
// Experimental.
SetProvider(val cdktf.TerraformProvider)
// Experimental.
Provisioners() *[]interface{}
// Experimental.
SetProvisioners(val *[]interface{})
PublicBuilds() interface{}
SetPublicBuilds(val interface{})
PublicBuildsInput() interface{}
PublicJobs() interface{}
SetPublicJobs(val interface{})
PublicJobsInput() interface{}
PushRules() ProjectPushRulesOutputReference
PushRulesInput() *ProjectPushRules
// Experimental.
RawOverrides() interface{}
ReleasesAccessLevel() *string
SetReleasesAccessLevel(val *string)
ReleasesAccessLevelInput() *string
RemoveSourceBranchAfterMerge() interface{}
SetRemoveSourceBranchAfterMerge(val interface{})
RemoveSourceBranchAfterMergeInput() interface{}
RepositoryAccessLevel() *string
SetRepositoryAccessLevel(val *string)
RepositoryAccessLevelInput() *string
RepositoryStorage() *string
SetRepositoryStorage(val *string)
RepositoryStorageInput() *string
RequestAccessEnabled() interface{}
SetRequestAccessEnabled(val interface{})
RequestAccessEnabledInput() interface{}
RequirementsAccessLevel() *string
SetRequirementsAccessLevel(val *string)
RequirementsAccessLevelInput() *string
ResolveOutdatedDiffDiscussions() interface{}
SetResolveOutdatedDiffDiscussions(val interface{})
ResolveOutdatedDiffDiscussionsInput() interface{}
RestrictUserDefinedVariables() interface{}
SetRestrictUserDefinedVariables(val interface{})
RestrictUserDefinedVariablesInput() interface{}
RunnersToken() *string
SecurityAndComplianceAccessLevel() *string
SetSecurityAndComplianceAccessLevel(val *string)
SecurityAndComplianceAccessLevelInput() *string
SkipWaitForDefaultBranchProtection() interface{}
SetSkipWaitForDefaultBranchProtection(val interface{})
SkipWaitForDefaultBranchProtectionInput() interface{}
SnippetsAccessLevel() *string
SetSnippetsAccessLevel(val *string)
SnippetsAccessLevelInput() *string
SnippetsEnabled() interface{}
SetSnippetsEnabled(val interface{})
SnippetsEnabledInput() interface{}
SquashCommitTemplate() *string
SetSquashCommitTemplate(val *string)
SquashCommitTemplateInput() *string
SquashOption() *string
SetSquashOption(val *string)
SquashOptionInput() *string
SshUrlToRepo() *string
SuggestionCommitMessage() *string
SetSuggestionCommitMessage(val *string)
SuggestionCommitMessageInput() *string
Tags() *[]*string
SetTags(val *[]*string)
TagsInput() *[]*string
TemplateName() *string
SetTemplateName(val *string)
TemplateNameInput() *string
TemplateProjectId() *float64
SetTemplateProjectId(val *float64)
TemplateProjectIdInput() *float64
// Experimental.
TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata
// Experimental.
TerraformMetaArguments() *map[string]interface{}
// Experimental.
TerraformResourceType() *string
Timeouts() ProjectTimeoutsOutputReference
TimeoutsInput() interface{}
Topics() *[]*string
SetTopics(val *[]*string)
TopicsInput() *[]*string
UseCustomTemplate() interface{}
SetUseCustomTemplate(val interface{})
UseCustomTemplateInput() interface{}
VisibilityLevel() *string
SetVisibilityLevel(val *string)
VisibilityLevelInput() *string
WebUrl() *string
WikiAccessLevel() *string
SetWikiAccessLevel(val *string)
WikiAccessLevelInput() *string
WikiEnabled() interface{}
SetWikiEnabled(val interface{})
WikiEnabledInput() interface{}
// Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move.
// Experimental.
AddMoveTarget(moveTarget *string)
// Experimental.
AddOverride(path *string, value interface{})
// Experimental.
GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
// Experimental.
GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
// Experimental.
GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
// Experimental.
GetListAttribute(terraformAttribute *string) *[]*string
// Experimental.
GetNumberAttribute(terraformAttribute *string) *float64
// Experimental.
GetNumberListAttribute(terraformAttribute *string) *[]*float64
// Experimental.
GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
// Experimental.
GetStringAttribute(terraformAttribute *string) *string
// Experimental.
GetStringMapAttribute(terraformAttribute *string) *map[string]*string
// Experimental.
HasResourceMove() interface{}
// Experimental.
ImportFrom(id *string, provider cdktf.TerraformProvider)
// Experimental.
InterpolationForAttribute(terraformAttribute *string) cdktf.IResolvable
// Move the resource corresponding to "id" to this resource.
//
// Note that the resource being moved from must be marked as moved using it's instance function.
// Experimental.
MoveFromId(id *string)
// Moves this resource to the target resource given by moveTarget.
// Experimental.
MoveTo(moveTarget *string, index interface{})
// Moves this resource to the resource corresponding to "id".
// Experimental.
MoveToId(id *string)
// Overrides the auto-generated logical ID with a specific ID.
// Experimental.
OverrideLogicalId(newLogicalId *string)
PutContainerExpirationPolicy(value *ProjectContainerExpirationPolicy)
PutPushRules(value *ProjectPushRules)
PutTimeouts(value *ProjectTimeouts)
ResetAllowMergeOnSkippedPipeline()
ResetAllowPipelineTriggerApproveDeployment()
ResetAnalyticsAccessLevel()
ResetApprovalsBeforeMerge()
ResetArchived()
ResetArchiveOnDestroy()
ResetAutoCancelPendingPipelines()
ResetAutocloseReferencedIssues()
ResetAutoDevopsDeployStrategy()
ResetAutoDevopsEnabled()
ResetAvatar()
ResetAvatarHash()
ResetBuildCoverageRegex()
ResetBuildGitStrategy()
ResetBuildsAccessLevel()
ResetBuildTimeout()
ResetCiConfigPath()
ResetCiDefaultGitDepth()
ResetCiForwardDeploymentEnabled()
ResetCiPipelineVariablesMinimumOverrideRole()
ResetCiRestrictPipelineCancellationRole()
ResetCiSeparatedCaches()
ResetContainerExpirationPolicy()
ResetContainerRegistryAccessLevel()
ResetContainerRegistryEnabled()
ResetDefaultBranch()
ResetDescription()
ResetEmailsEnabled()
ResetEnvironmentsAccessLevel()
ResetExternalAuthorizationClassificationLabel()
ResetFeatureFlagsAccessLevel()
ResetForkedFromProjectId()
ResetForkingAccessLevel()
ResetGroupRunnersEnabled()
ResetGroupWithProjectTemplatesId()
ResetId()
ResetImportUrl()
ResetImportUrlPassword()
ResetImportUrlUsername()
ResetInfrastructureAccessLevel()
ResetInitializeWithReadme()
ResetIssuesAccessLevel()
ResetIssuesEnabled()
ResetIssuesTemplate()
ResetKeepLatestArtifact()
ResetLfsEnabled()
ResetMergeCommitTemplate()
ResetMergeMethod()
ResetMergePipelinesEnabled()
ResetMergeRequestsAccessLevel()
ResetMergeRequestsEnabled()
ResetMergeRequestsTemplate()
ResetMergeTrainsEnabled()
ResetMirror()
ResetMirrorOverwritesDivergedBranches()
ResetMirrorTriggerBuilds()
ResetModelExperimentsAccessLevel()
ResetModelRegistryAccessLevel()
ResetMonitorAccessLevel()
ResetMrDefaultTargetSelf()
ResetNamespaceId()
ResetOnlyAllowMergeIfAllDiscussionsAreResolved()
ResetOnlyAllowMergeIfPipelineSucceeds()
ResetOnlyMirrorProtectedBranches()
// Resets a previously passed logical Id to use the auto-generated logical id again.
// Experimental.
ResetOverrideLogicalId()
ResetPackagesEnabled()
ResetPagesAccessLevel()
ResetPath()
ResetPipelinesEnabled()
ResetPreReceiveSecretDetectionEnabled()
ResetPreventMergeWithoutJiraIssue()
ResetPrintingMergeRequestLinkEnabled()
ResetPublicBuilds()
ResetPublicJobs()
ResetPushRules()
ResetReleasesAccessLevel()
ResetRemoveSourceBranchAfterMerge()
ResetRepositoryAccessLevel()
ResetRepositoryStorage()
ResetRequestAccessEnabled()
ResetRequirementsAccessLevel()
ResetResolveOutdatedDiffDiscussions()
ResetRestrictUserDefinedVariables()
ResetSecurityAndComplianceAccessLevel()
ResetSkipWaitForDefaultBranchProtection()
ResetSnippetsAccessLevel()
ResetSnippetsEnabled()
ResetSquashCommitTemplate()
ResetSquashOption()
ResetSuggestionCommitMessage()
ResetTags()
ResetTemplateName()
ResetTemplateProjectId()
ResetTimeouts()
ResetTopics()
ResetUseCustomTemplate()
ResetVisibilityLevel()
ResetWikiAccessLevel()
ResetWikiEnabled()
SynthesizeAttributes() *map[string]interface{}
SynthesizeHclAttributes() *map[string]interface{}
// Experimental.
ToHclTerraform() interface{}
// Experimental.
ToMetadata() interface{}
// Returns a string representation of this construct.
ToString() *string
// Adds this resource to the terraform JSON output.
// Experimental.
ToTerraform() interface{}
}
Represents a {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project gitlab_project}.
func NewProject ¶
func NewProject(scope constructs.Construct, id *string, config *ProjectConfig) Project
Create a new {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project gitlab_project} Resource.
type ProjectConfig ¶
type ProjectConfig struct {
// Experimental.
Connection interface{} `field:"optional" json:"connection" yaml:"connection"`
// Experimental.
Count interface{} `field:"optional" json:"count" yaml:"count"`
// Experimental.
DependsOn *[]cdktf.ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
// Experimental.
ForEach cdktf.ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
// Experimental.
Lifecycle *cdktf.TerraformResourceLifecycle `field:"optional" json:"lifecycle" yaml:"lifecycle"`
// Experimental.
Provider cdktf.TerraformProvider `field:"optional" json:"provider" yaml:"provider"`
// Experimental.
Provisioners *[]interface{} `field:"optional" json:"provisioners" yaml:"provisioners"`
// The name of the project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#name Project#name}
Name *string `field:"required" json:"name" yaml:"name"`
// Set to true if you want to treat skipped pipelines as if they finished with success.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#allow_merge_on_skipped_pipeline Project#allow_merge_on_skipped_pipeline}
AllowMergeOnSkippedPipeline interface{} `field:"optional" json:"allowMergeOnSkippedPipeline" yaml:"allowMergeOnSkippedPipeline"`
// Set whether or not a pipeline triggerer is allowed to approve deployments. Premium and Ultimate only.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#allow_pipeline_trigger_approve_deployment Project#allow_pipeline_trigger_approve_deployment}
AllowPipelineTriggerApproveDeployment interface{} `field:"optional" json:"allowPipelineTriggerApproveDeployment" yaml:"allowPipelineTriggerApproveDeployment"`
// Set the analytics access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#analytics_access_level Project#analytics_access_level}
AnalyticsAccessLevel *string `field:"optional" json:"analyticsAccessLevel" yaml:"analyticsAccessLevel"`
// Number of merge request approvals required for merging.
//
// Default is 0.
// This field **does not** work well in combination with the `gitlab_project_approval_rule` 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 `gitlab_project_approval_rule` instead.
//
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#approvals_before_merge Project#approvals_before_merge}
ApprovalsBeforeMerge *float64 `field:"optional" json:"approvalsBeforeMerge" yaml:"approvalsBeforeMerge"`
// Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#archived Project#archived}
Archived interface{} `field:"optional" json:"archived" yaml:"archived"`
// Set to `true` to archive the project instead of deleting on destroy.
//
// If set to `true` it will entire omit the `DELETE` operation.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#archive_on_destroy Project#archive_on_destroy}
ArchiveOnDestroy interface{} `field:"optional" json:"archiveOnDestroy" yaml:"archiveOnDestroy"`
// Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#auto_cancel_pending_pipelines Project#auto_cancel_pending_pipelines}
AutoCancelPendingPipelines *string `field:"optional" json:"autoCancelPendingPipelines" yaml:"autoCancelPendingPipelines"`
// Set whether auto-closing referenced issues on default branch.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#autoclose_referenced_issues Project#autoclose_referenced_issues}
AutocloseReferencedIssues interface{} `field:"optional" json:"autocloseReferencedIssues" yaml:"autocloseReferencedIssues"`
// Auto Deploy strategy. Valid values are `continuous`, `manual`, `timed_incremental`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#auto_devops_deploy_strategy Project#auto_devops_deploy_strategy}
AutoDevopsDeployStrategy *string `field:"optional" json:"autoDevopsDeployStrategy" yaml:"autoDevopsDeployStrategy"`
// Enable Auto DevOps for this project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#auto_devops_enabled Project#auto_devops_enabled}
AutoDevopsEnabled interface{} `field:"optional" json:"autoDevopsEnabled" yaml:"autoDevopsEnabled"`
// A local path to the avatar image to upload. **Note**: not available for imported resources.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#avatar Project#avatar}
Avatar *string `field:"optional" json:"avatar" yaml:"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.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#avatar_hash Project#avatar_hash}
AvatarHash *string `field:"optional" json:"avatarHash" yaml:"avatarHash"`
// Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#build_coverage_regex Project#build_coverage_regex}
BuildCoverageRegex *string `field:"optional" json:"buildCoverageRegex" yaml:"buildCoverageRegex"`
// The Git strategy. Defaults to fetch. Valid values are `clone`, `fetch`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#build_git_strategy Project#build_git_strategy}
BuildGitStrategy *string `field:"optional" json:"buildGitStrategy" yaml:"buildGitStrategy"`
// Set the builds access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#builds_access_level Project#builds_access_level}
BuildsAccessLevel *string `field:"optional" json:"buildsAccessLevel" yaml:"buildsAccessLevel"`
// The maximum amount of time, in seconds, that a job can run.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#build_timeout Project#build_timeout}
BuildTimeout *float64 `field:"optional" json:"buildTimeout" yaml:"buildTimeout"`
// Custom Path to CI config file.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#ci_config_path Project#ci_config_path}
CiConfigPath *string `field:"optional" json:"ciConfigPath" yaml:"ciConfigPath"`
// Default number of revisions for shallow cloning.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#ci_default_git_depth Project#ci_default_git_depth}
CiDefaultGitDepth *float64 `field:"optional" json:"ciDefaultGitDepth" yaml:"ciDefaultGitDepth"`
// When a new deployment job starts, skip older deployment jobs that are still pending.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#ci_forward_deployment_enabled Project#ci_forward_deployment_enabled}
CiForwardDeploymentEnabled interface{} `field:"optional" json:"ciForwardDeploymentEnabled" yaml:"ciForwardDeploymentEnabled"`
// The minimum role required to set variables when running pipelines and jobs.
//
// Introduced in GitLab 17.1. Valid values are `developer`, `maintainer`, `owner`, `no_one_allowed`
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#ci_pipeline_variables_minimum_override_role Project#ci_pipeline_variables_minimum_override_role}
CiPipelineVariablesMinimumOverrideRole *string `field:"optional" json:"ciPipelineVariablesMinimumOverrideRole" yaml:"ciPipelineVariablesMinimumOverrideRole"`
// The role required to cancel a pipeline or job.
//
// Introduced in GitLab 16.8. Premium and Ultimate only. Valid values are `developer`, `maintainer`, `no one`
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#ci_restrict_pipeline_cancellation_role Project#ci_restrict_pipeline_cancellation_role}
CiRestrictPipelineCancellationRole *string `field:"optional" json:"ciRestrictPipelineCancellationRole" yaml:"ciRestrictPipelineCancellationRole"`
// Use separate caches for protected branches.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#ci_separated_caches Project#ci_separated_caches}
CiSeparatedCaches interface{} `field:"optional" json:"ciSeparatedCaches" yaml:"ciSeparatedCaches"`
// container_expiration_policy block.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#container_expiration_policy Project#container_expiration_policy}
ContainerExpirationPolicy *ProjectContainerExpirationPolicy `field:"optional" json:"containerExpirationPolicy" yaml:"containerExpirationPolicy"`
// Set visibility of container registry, for this project. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#container_registry_access_level Project#container_registry_access_level}
ContainerRegistryAccessLevel *string `field:"optional" json:"containerRegistryAccessLevel" yaml:"containerRegistryAccessLevel"`
// Enable container registry for the project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#container_registry_enabled Project#container_registry_enabled}
ContainerRegistryEnabled interface{} `field:"optional" json:"containerRegistryEnabled" yaml:"containerRegistryEnabled"`
// The default branch for the project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#default_branch Project#default_branch}
DefaultBranch *string `field:"optional" json:"defaultBranch" yaml:"defaultBranch"`
// A description of the project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#description Project#description}
Description *string `field:"optional" json:"description" yaml:"description"`
// Enable email notifications.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#emails_enabled Project#emails_enabled}
EmailsEnabled interface{} `field:"optional" json:"emailsEnabled" yaml:"emailsEnabled"`
// Set the environments access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#environments_access_level Project#environments_access_level}
EnvironmentsAccessLevel *string `field:"optional" json:"environmentsAccessLevel" yaml:"environmentsAccessLevel"`
// The classification label for the project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#external_authorization_classification_label Project#external_authorization_classification_label}
ExternalAuthorizationClassificationLabel *string `field:"optional" json:"externalAuthorizationClassificationLabel" yaml:"externalAuthorizationClassificationLabel"`
// Set the feature flags access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#feature_flags_access_level Project#feature_flags_access_level}
FeatureFlagsAccessLevel *string `field:"optional" json:"featureFlagsAccessLevel" yaml:"featureFlagsAccessLevel"`
// The id of the project to fork.
//
// During create the project is forked and during an update the fork relation is changed.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#forked_from_project_id Project#forked_from_project_id}
ForkedFromProjectId *float64 `field:"optional" json:"forkedFromProjectId" yaml:"forkedFromProjectId"`
// Set the forking access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#forking_access_level Project#forking_access_level}
ForkingAccessLevel *string `field:"optional" json:"forkingAccessLevel" yaml:"forkingAccessLevel"`
// Enable group runners for this project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#group_runners_enabled Project#group_runners_enabled}
GroupRunnersEnabled interface{} `field:"optional" json:"groupRunnersEnabled" yaml:"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).
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#group_with_project_templates_id Project#group_with_project_templates_id}
GroupWithProjectTemplatesId *float64 `field:"optional" json:"groupWithProjectTemplatesId" yaml:"groupWithProjectTemplatesId"`
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#id Project#id}.
//
// Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
// If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
Id *string `field:"optional" json:"id" yaml:"id"`
// 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 `forked_from_project_id` to setup a Pull Mirror for a fork. The fork takes precedence over the import. Make sure to provide the credentials in `import_url_username` and `import_url_password`. GitLab never returns the credentials, thus the provider cannot detect configuration drift in the credentials. They can also not be imported using `terraform import`. See the examples section for how to properly use it.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#import_url Project#import_url}
ImportUrl *string `field:"optional" json:"importUrl" yaml:"importUrl"`
// The password for the `import_url`.
//
// The value of this field is used to construct a valid `import_url` and is only related to the provider. This field cannot be imported using `terraform import`. See the examples section for how to properly use it.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#import_url_password Project#import_url_password}
ImportUrlPassword *string `field:"optional" json:"importUrlPassword" yaml:"importUrlPassword"`
// The username for the `import_url`.
//
// The value of this field is used to construct a valid `import_url` and is only related to the provider. This field cannot be imported using `terraform import`. See the examples section for how to properly use it.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#import_url_username Project#import_url_username}
ImportUrlUsername *string `field:"optional" json:"importUrlUsername" yaml:"importUrlUsername"`
// Set the infrastructure access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#infrastructure_access_level Project#infrastructure_access_level}
InfrastructureAccessLevel *string `field:"optional" json:"infrastructureAccessLevel" yaml:"infrastructureAccessLevel"`
// Create main branch with first commit containing a README.md file. Must be set to `true` if importing an uninitialized project with a different `default_branch`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#initialize_with_readme Project#initialize_with_readme}
InitializeWithReadme interface{} `field:"optional" json:"initializeWithReadme" yaml:"initializeWithReadme"`
// Set the issues access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#issues_access_level Project#issues_access_level}
IssuesAccessLevel *string `field:"optional" json:"issuesAccessLevel" yaml:"issuesAccessLevel"`
// Enable issue tracking for the project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#issues_enabled Project#issues_enabled}
IssuesEnabled interface{} `field:"optional" json:"issuesEnabled" yaml:"issuesEnabled"`
// Sets the template for new issues in the project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#issues_template Project#issues_template}
IssuesTemplate *string `field:"optional" json:"issuesTemplate" yaml:"issuesTemplate"`
// Disable or enable the ability to keep the latest artifact for this project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#keep_latest_artifact Project#keep_latest_artifact}
KeepLatestArtifact interface{} `field:"optional" json:"keepLatestArtifact" yaml:"keepLatestArtifact"`
// Enable LFS for the project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#lfs_enabled Project#lfs_enabled}
LfsEnabled interface{} `field:"optional" json:"lfsEnabled" yaml:"lfsEnabled"`
// Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.).
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#merge_commit_template Project#merge_commit_template}
MergeCommitTemplate *string `field:"optional" json:"mergeCommitTemplate" yaml:"mergeCommitTemplate"`
// Set the merge method. Valid values are `merge`, `rebase_merge`, `ff`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#merge_method Project#merge_method}
MergeMethod *string `field:"optional" json:"mergeMethod" yaml:"mergeMethod"`
// Enable or disable merge pipelines.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#merge_pipelines_enabled Project#merge_pipelines_enabled}
MergePipelinesEnabled interface{} `field:"optional" json:"mergePipelinesEnabled" yaml:"mergePipelinesEnabled"`
// Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#merge_requests_access_level Project#merge_requests_access_level}
MergeRequestsAccessLevel *string `field:"optional" json:"mergeRequestsAccessLevel" yaml:"mergeRequestsAccessLevel"`
// Enable merge requests for the project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#merge_requests_enabled Project#merge_requests_enabled}
MergeRequestsEnabled interface{} `field:"optional" json:"mergeRequestsEnabled" yaml:"mergeRequestsEnabled"`
// Sets the template for new merge requests in the project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#merge_requests_template Project#merge_requests_template}
MergeRequestsTemplate *string `field:"optional" json:"mergeRequestsTemplate" yaml:"mergeRequestsTemplate"`
// Enable or disable merge trains. Requires `merge_pipelines_enabled` to be set to `true` to take effect.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#merge_trains_enabled Project#merge_trains_enabled}
MergeTrainsEnabled interface{} `field:"optional" json:"mergeTrainsEnabled" yaml:"mergeTrainsEnabled"`
// Enable project pull mirror.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#mirror Project#mirror}
Mirror interface{} `field:"optional" json:"mirror" yaml:"mirror"`
// Enable overwrite diverged branches for a mirrored project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#mirror_overwrites_diverged_branches Project#mirror_overwrites_diverged_branches}
MirrorOverwritesDivergedBranches interface{} `field:"optional" json:"mirrorOverwritesDivergedBranches" yaml:"mirrorOverwritesDivergedBranches"`
// Enable trigger builds on pushes for a mirrored project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#mirror_trigger_builds Project#mirror_trigger_builds}
MirrorTriggerBuilds interface{} `field:"optional" json:"mirrorTriggerBuilds" yaml:"mirrorTriggerBuilds"`
// Set visibility of machine learning model experiments. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#model_experiments_access_level Project#model_experiments_access_level}
ModelExperimentsAccessLevel *string `field:"optional" json:"modelExperimentsAccessLevel" yaml:"modelExperimentsAccessLevel"`
// Set visibility of machine learning model registry. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#model_registry_access_level Project#model_registry_access_level}
ModelRegistryAccessLevel *string `field:"optional" json:"modelRegistryAccessLevel" yaml:"modelRegistryAccessLevel"`
// Set the monitor access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#monitor_access_level Project#monitor_access_level}
MonitorAccessLevel *string `field:"optional" json:"monitorAccessLevel" yaml:"monitorAccessLevel"`
// For forked projects, target merge requests to this project. If false, the target will be the upstream project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#mr_default_target_self Project#mr_default_target_self}
MrDefaultTargetSelf interface{} `field:"optional" json:"mrDefaultTargetSelf" yaml:"mrDefaultTargetSelf"`
// The namespace (group or user) of the project. Defaults to your user.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#namespace_id Project#namespace_id}
NamespaceId *float64 `field:"optional" json:"namespaceId" yaml:"namespaceId"`
// Set to true if you want allow merges only if all discussions are resolved.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#only_allow_merge_if_all_discussions_are_resolved Project#only_allow_merge_if_all_discussions_are_resolved}
OnlyAllowMergeIfAllDiscussionsAreResolved interface{} `field:"optional" json:"onlyAllowMergeIfAllDiscussionsAreResolved" yaml:"onlyAllowMergeIfAllDiscussionsAreResolved"`
// Set to true if you want allow merges only if a pipeline succeeds.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#only_allow_merge_if_pipeline_succeeds Project#only_allow_merge_if_pipeline_succeeds}
OnlyAllowMergeIfPipelineSucceeds interface{} `field:"optional" json:"onlyAllowMergeIfPipelineSucceeds" yaml:"onlyAllowMergeIfPipelineSucceeds"`
// Enable only mirror protected branches for a mirrored project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#only_mirror_protected_branches Project#only_mirror_protected_branches}
OnlyMirrorProtectedBranches interface{} `field:"optional" json:"onlyMirrorProtectedBranches" yaml:"onlyMirrorProtectedBranches"`
// Enable packages repository for the project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#packages_enabled Project#packages_enabled}
PackagesEnabled interface{} `field:"optional" json:"packagesEnabled" yaml:"packagesEnabled"`
// Enable pages access control. Valid values are `public`, `private`, `enabled`, `disabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#pages_access_level Project#pages_access_level}
PagesAccessLevel *string `field:"optional" json:"pagesAccessLevel" yaml:"pagesAccessLevel"`
// The path of the repository.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#path Project#path}
Path *string `field:"optional" json:"path" yaml:"path"`
// Enable pipelines for the project. The `pipelines_enabled` field is being sent as `jobs_enabled` in the GitLab API calls.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#pipelines_enabled Project#pipelines_enabled}
PipelinesEnabled interface{} `field:"optional" json:"pipelinesEnabled" yaml:"pipelinesEnabled"`
// Whether Secret Push Detection is enabled. Requires GitLab Ultimate and at least GitLab 17.3.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#pre_receive_secret_detection_enabled Project#pre_receive_secret_detection_enabled}
PreReceiveSecretDetectionEnabled interface{} `field:"optional" json:"preReceiveSecretDetectionEnabled" yaml:"preReceiveSecretDetectionEnabled"`
// Set whether merge requests require an associated issue from Jira. Premium and Ultimate only.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#prevent_merge_without_jira_issue Project#prevent_merge_without_jira_issue}
PreventMergeWithoutJiraIssue interface{} `field:"optional" json:"preventMergeWithoutJiraIssue" yaml:"preventMergeWithoutJiraIssue"`
// Show link to create/view merge request when pushing from the command line.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#printing_merge_request_link_enabled Project#printing_merge_request_link_enabled}
PrintingMergeRequestLinkEnabled interface{} `field:"optional" json:"printingMergeRequestLinkEnabled" yaml:"printingMergeRequestLinkEnabled"`
// If true, jobs can be viewed by non-project members.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#public_builds Project#public_builds}
PublicBuilds interface{} `field:"optional" json:"publicBuilds" yaml:"publicBuilds"`
// If true, jobs can be viewed by non-project members.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#public_jobs Project#public_jobs}
PublicJobs interface{} `field:"optional" json:"publicJobs" yaml:"publicJobs"`
// push_rules block.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#push_rules Project#push_rules}
PushRules *ProjectPushRules `field:"optional" json:"pushRules" yaml:"pushRules"`
// Set the releases access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#releases_access_level Project#releases_access_level}
ReleasesAccessLevel *string `field:"optional" json:"releasesAccessLevel" yaml:"releasesAccessLevel"`
// Enable `Delete source branch` option by default for all new merge requests.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#remove_source_branch_after_merge Project#remove_source_branch_after_merge}
RemoveSourceBranchAfterMerge interface{} `field:"optional" json:"removeSourceBranchAfterMerge" yaml:"removeSourceBranchAfterMerge"`
// Set the repository access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#repository_access_level Project#repository_access_level}
RepositoryAccessLevel *string `field:"optional" json:"repositoryAccessLevel" yaml:"repositoryAccessLevel"`
// Which storage shard the repository is on. (administrator only).
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#repository_storage Project#repository_storage}
RepositoryStorage *string `field:"optional" json:"repositoryStorage" yaml:"repositoryStorage"`
// Allow users to request member access.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#request_access_enabled Project#request_access_enabled}
RequestAccessEnabled interface{} `field:"optional" json:"requestAccessEnabled" yaml:"requestAccessEnabled"`
// Set the requirements access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#requirements_access_level Project#requirements_access_level}
RequirementsAccessLevel *string `field:"optional" json:"requirementsAccessLevel" yaml:"requirementsAccessLevel"`
// Automatically resolve merge request diffs discussions on lines changed with a push.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#resolve_outdated_diff_discussions Project#resolve_outdated_diff_discussions}
ResolveOutdatedDiffDiscussions interface{} `field:"optional" json:"resolveOutdatedDiffDiscussions" yaml:"resolveOutdatedDiffDiscussions"`
// Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#restrict_user_defined_variables Project#restrict_user_defined_variables}
RestrictUserDefinedVariables interface{} `field:"optional" json:"restrictUserDefinedVariables" yaml:"restrictUserDefinedVariables"`
// Set the security and compliance access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#security_and_compliance_access_level Project#security_and_compliance_access_level}
SecurityAndComplianceAccessLevel *string `field:"optional" json:"securityAndComplianceAccessLevel" yaml:"securityAndComplianceAccessLevel"`
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#shared_runners_enabled Project#shared_runners_enabled}
SharedRunnersEnabled interface{} `field:"optional" json:"sharedRunnersEnabled" yaml:"sharedRunnersEnabled"`
// If `true`, the default behavior to wait for the default branch protection to be created is skipped.
//
// This is necessary if the current user is not an admin and the default branch protection is disabled on an instance-level.
// There is currently no known way to determine if the default branch protection is disabled on an instance-level for non-admin users.
// This attribute is only used during resource creation, thus changes are suppressed and the attribute cannot be imported.
//
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#skip_wait_for_default_branch_protection Project#skip_wait_for_default_branch_protection}
SkipWaitForDefaultBranchProtection interface{} `field:"optional" json:"skipWaitForDefaultBranchProtection" yaml:"skipWaitForDefaultBranchProtection"`
// Set the snippets access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#snippets_access_level Project#snippets_access_level}
SnippetsAccessLevel *string `field:"optional" json:"snippetsAccessLevel" yaml:"snippetsAccessLevel"`
// Enable snippets for the project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#snippets_enabled Project#snippets_enabled}
SnippetsEnabled interface{} `field:"optional" json:"snippetsEnabled" yaml:"snippetsEnabled"`
// Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.).
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#squash_commit_template Project#squash_commit_template}
SquashCommitTemplate *string `field:"optional" json:"squashCommitTemplate" yaml:"squashCommitTemplate"`
// Squash commits when merge request.
//
// Valid values are `never`, `always`, `default_on`, or `default_off`. The default value is `default_off`. [GitLab >= 14.1]
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#squash_option Project#squash_option}
SquashOption *string `field:"optional" json:"squashOption" yaml:"squashOption"`
// The commit message used to apply merge request suggestions.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#suggestion_commit_message Project#suggestion_commit_message}
SuggestionCommitMessage *string `field:"optional" json:"suggestionCommitMessage" yaml:"suggestionCommitMessage"`
// The list of tags for a project;
//
// put array of tags, that should be finally assigned to a project. Use topics instead.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#tags Project#tags}
Tags *[]*string `field:"optional" json:"tags" yaml:"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 `template_project_id`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#template_name Project#template_name}
TemplateName *string `field:"optional" json:"templateName" yaml:"templateName"`
// When used with use_custom_template, project ID of a custom project template.
//
// This is preferable to using template_name since template_name may be ambiguous (enterprise edition). This option is mutually exclusive with `template_name`. See `gitlab_group_project_file_template` to set a project as a template project. If a project has not been set as a template, using it here will result in an error.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#template_project_id Project#template_project_id}
TemplateProjectId *float64 `field:"optional" json:"templateProjectId" yaml:"templateProjectId"`
// timeouts block.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#timeouts Project#timeouts}
Timeouts *ProjectTimeouts `field:"optional" json:"timeouts" yaml:"timeouts"`
// The list of topics for the project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#topics Project#topics}
Topics *[]*string `field:"optional" json:"topics" yaml:"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.html#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#use_custom_template Project#use_custom_template}
UseCustomTemplate interface{} `field:"optional" json:"useCustomTemplate" yaml:"useCustomTemplate"`
// Set to `public` to create a public project. Valid values are `private`, `internal`, `public`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#visibility_level Project#visibility_level}
VisibilityLevel *string `field:"optional" json:"visibilityLevel" yaml:"visibilityLevel"`
// Set the wiki access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#wiki_access_level Project#wiki_access_level}
WikiAccessLevel *string `field:"optional" json:"wikiAccessLevel" yaml:"wikiAccessLevel"`
// Enable wiki for the project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#wiki_enabled Project#wiki_enabled}
WikiEnabled interface{} `field:"optional" json:"wikiEnabled" yaml:"wikiEnabled"`
}
type ProjectContainerExpirationPolicy ¶
type ProjectContainerExpirationPolicy struct {
// The cadence of the policy. Valid values are: `1d`, `7d`, `14d`, `1month`, `3month`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#cadence Project#cadence}
Cadence *string `field:"optional" json:"cadence" yaml:"cadence"`
// If true, the policy is enabled.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#enabled Project#enabled}
Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"`
// The number of images to keep.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#keep_n Project#keep_n}
KeepN *float64 `field:"optional" json:"keepN" yaml:"keepN"`
// The regular expression to match image names to delete.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#name_regex Project#name_regex}
NameRegex *string `field:"optional" json:"nameRegex" yaml:"nameRegex"`
// The regular expression to match image names to delete.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#name_regex_delete Project#name_regex_delete}
NameRegexDelete *string `field:"optional" json:"nameRegexDelete" yaml:"nameRegexDelete"`
// The regular expression to match image names to keep.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#name_regex_keep Project#name_regex_keep}
NameRegexKeep *string `field:"optional" json:"nameRegexKeep" yaml:"nameRegexKeep"`
// The number of days to keep images.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#older_than Project#older_than}
OlderThan *string `field:"optional" json:"olderThan" yaml:"olderThan"`
}
type ProjectContainerExpirationPolicyOutputReference ¶
type ProjectContainerExpirationPolicyOutputReference interface {
cdktf.ComplexObject
Cadence() *string
SetCadence(val *string)
CadenceInput() *string
// the index of the complex object in a list.
// Experimental.
ComplexObjectIndex() interface{}
// Experimental.
SetComplexObjectIndex(val interface{})
// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
// Experimental.
ComplexObjectIsFromSet() *bool
// Experimental.
SetComplexObjectIsFromSet(val *bool)
// The creation stack of this resolvable which will be appended to errors thrown during resolution.
//
// If this returns an empty array the stack will not be attached.
// Experimental.
CreationStack() *[]*string
Enabled() interface{}
SetEnabled(val interface{})
EnabledInput() interface{}
// Experimental.
Fqn() *string
InternalValue() *ProjectContainerExpirationPolicy
SetInternalValue(val *ProjectContainerExpirationPolicy)
KeepN() *float64
SetKeepN(val *float64)
KeepNInput() *float64
NameRegex() *string
SetNameRegex(val *string)
NameRegexDelete() *string
SetNameRegexDelete(val *string)
NameRegexDeleteInput() *string
NameRegexInput() *string
NameRegexKeep() *string
SetNameRegexKeep(val *string)
NameRegexKeepInput() *string
NextRunAt() *string
OlderThan() *string
SetOlderThan(val *string)
OlderThanInput() *string
// Experimental.
TerraformAttribute() *string
// Experimental.
SetTerraformAttribute(val *string)
// Experimental.
TerraformResource() cdktf.IInterpolatingParent
// Experimental.
SetTerraformResource(val cdktf.IInterpolatingParent)
// Experimental.
ComputeFqn() *string
// Experimental.
GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
// Experimental.
GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
// Experimental.
GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
// Experimental.
GetListAttribute(terraformAttribute *string) *[]*string
// Experimental.
GetNumberAttribute(terraformAttribute *string) *float64
// Experimental.
GetNumberListAttribute(terraformAttribute *string) *[]*float64
// Experimental.
GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
// Experimental.
GetStringAttribute(terraformAttribute *string) *string
// Experimental.
GetStringMapAttribute(terraformAttribute *string) *map[string]*string
// Experimental.
InterpolationAsList() cdktf.IResolvable
// Experimental.
InterpolationForAttribute(property *string) cdktf.IResolvable
ResetCadence()
ResetEnabled()
ResetKeepN()
ResetNameRegex()
ResetNameRegexDelete()
ResetNameRegexKeep()
ResetOlderThan()
// Produce the Token's value at resolution time.
// Experimental.
Resolve(_context cdktf.IResolveContext) interface{}
// Return a string representation of this resolvable object.
//
// Returns a reversible string representation.
// Experimental.
ToString() *string
}
func NewProjectContainerExpirationPolicyOutputReference ¶
func NewProjectContainerExpirationPolicyOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ProjectContainerExpirationPolicyOutputReference
type ProjectPushRules ¶
type ProjectPushRules struct {
// All commit author emails must match this regex, e.g. `@my-company.com$`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#author_email_regex Project#author_email_regex}
AuthorEmailRegex *string `field:"optional" json:"authorEmailRegex" yaml:"authorEmailRegex"`
// All branch names must match this regex, e.g. `(feature|hotfix)\/*`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#branch_name_regex Project#branch_name_regex}
BranchNameRegex *string `field:"optional" json:"branchNameRegex" yaml:"branchNameRegex"`
// Users can only push commits to this repository that were committed with one of their own verified emails.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#commit_committer_check Project#commit_committer_check}
CommitCommitterCheck interface{} `field:"optional" json:"commitCommitterCheck" yaml:"commitCommitterCheck"`
// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#commit_committer_name_check Project#commit_committer_name_check}
CommitCommitterNameCheck interface{} `field:"optional" json:"commitCommitterNameCheck" yaml:"commitCommitterNameCheck"`
// No commit message is allowed to match this regex, e.g. `ssh\:\/\/`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#commit_message_negative_regex Project#commit_message_negative_regex}
CommitMessageNegativeRegex *string `field:"optional" json:"commitMessageNegativeRegex" yaml:"commitMessageNegativeRegex"`
// All commit messages must match this regex, e.g. `Fixed \d+\..*`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#commit_message_regex Project#commit_message_regex}
CommitMessageRegex *string `field:"optional" json:"commitMessageRegex" yaml:"commitMessageRegex"`
// Deny deleting a tag.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#deny_delete_tag Project#deny_delete_tag}
DenyDeleteTag interface{} `field:"optional" json:"denyDeleteTag" yaml:"denyDeleteTag"`
// All committed filenames must not match this regex, e.g. `(jar|exe)$`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#file_name_regex Project#file_name_regex}
FileNameRegex *string `field:"optional" json:"fileNameRegex" yaml:"fileNameRegex"`
// Maximum file size (MB).
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#max_file_size Project#max_file_size}
MaxFileSize *float64 `field:"optional" json:"maxFileSize" yaml:"maxFileSize"`
// Restrict commits by author (email) to existing GitLab users.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#member_check Project#member_check}
MemberCheck interface{} `field:"optional" json:"memberCheck" yaml:"memberCheck"`
// GitLab will reject any files that are likely to contain secrets.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#prevent_secrets Project#prevent_secrets}
PreventSecrets interface{} `field:"optional" json:"preventSecrets" yaml:"preventSecrets"`
// Reject commit when it’s not DCO certified.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#reject_non_dco_commits Project#reject_non_dco_commits}
RejectNonDcoCommits interface{} `field:"optional" json:"rejectNonDcoCommits" yaml:"rejectNonDcoCommits"`
// Reject commit when it’s not signed through GPG.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#reject_unsigned_commits Project#reject_unsigned_commits}
RejectUnsignedCommits interface{} `field:"optional" json:"rejectUnsignedCommits" yaml:"rejectUnsignedCommits"`
}
type ProjectPushRulesOutputReference ¶
type ProjectPushRulesOutputReference interface {
cdktf.ComplexObject
AuthorEmailRegex() *string
SetAuthorEmailRegex(val *string)
AuthorEmailRegexInput() *string
BranchNameRegex() *string
SetBranchNameRegex(val *string)
BranchNameRegexInput() *string
CommitCommitterCheck() interface{}
SetCommitCommitterCheck(val interface{})
CommitCommitterCheckInput() interface{}
CommitCommitterNameCheck() interface{}
SetCommitCommitterNameCheck(val interface{})
CommitCommitterNameCheckInput() interface{}
CommitMessageNegativeRegex() *string
SetCommitMessageNegativeRegex(val *string)
CommitMessageNegativeRegexInput() *string
CommitMessageRegex() *string
SetCommitMessageRegex(val *string)
CommitMessageRegexInput() *string
// the index of the complex object in a list.
// Experimental.
ComplexObjectIndex() interface{}
// Experimental.
SetComplexObjectIndex(val interface{})
// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
// Experimental.
ComplexObjectIsFromSet() *bool
// Experimental.
SetComplexObjectIsFromSet(val *bool)
// The creation stack of this resolvable which will be appended to errors thrown during resolution.
//
// If this returns an empty array the stack will not be attached.
// Experimental.
CreationStack() *[]*string
DenyDeleteTag() interface{}
SetDenyDeleteTag(val interface{})
DenyDeleteTagInput() interface{}
FileNameRegex() *string
SetFileNameRegex(val *string)
FileNameRegexInput() *string
// Experimental.
Fqn() *string
InternalValue() *ProjectPushRules
SetInternalValue(val *ProjectPushRules)
MaxFileSize() *float64
SetMaxFileSize(val *float64)
MaxFileSizeInput() *float64
MemberCheck() interface{}
SetMemberCheck(val interface{})
MemberCheckInput() interface{}
PreventSecrets() interface{}
SetPreventSecrets(val interface{})
PreventSecretsInput() interface{}
RejectNonDcoCommits() interface{}
SetRejectNonDcoCommits(val interface{})
RejectNonDcoCommitsInput() interface{}
RejectUnsignedCommits() interface{}
SetRejectUnsignedCommits(val interface{})
RejectUnsignedCommitsInput() interface{}
// Experimental.
TerraformAttribute() *string
// Experimental.
SetTerraformAttribute(val *string)
// Experimental.
TerraformResource() cdktf.IInterpolatingParent
// Experimental.
SetTerraformResource(val cdktf.IInterpolatingParent)
// Experimental.
ComputeFqn() *string
// Experimental.
GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
// Experimental.
GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
// Experimental.
GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
// Experimental.
GetListAttribute(terraformAttribute *string) *[]*string
// Experimental.
GetNumberAttribute(terraformAttribute *string) *float64
// Experimental.
GetNumberListAttribute(terraformAttribute *string) *[]*float64
// Experimental.
GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
// Experimental.
GetStringAttribute(terraformAttribute *string) *string
// Experimental.
GetStringMapAttribute(terraformAttribute *string) *map[string]*string
// Experimental.
InterpolationAsList() cdktf.IResolvable
// Experimental.
InterpolationForAttribute(property *string) cdktf.IResolvable
ResetAuthorEmailRegex()
ResetBranchNameRegex()
ResetCommitCommitterCheck()
ResetCommitCommitterNameCheck()
ResetCommitMessageNegativeRegex()
ResetCommitMessageRegex()
ResetDenyDeleteTag()
ResetFileNameRegex()
ResetMaxFileSize()
ResetMemberCheck()
ResetPreventSecrets()
ResetRejectNonDcoCommits()
ResetRejectUnsignedCommits()
// Produce the Token's value at resolution time.
// Experimental.
Resolve(_context cdktf.IResolveContext) interface{}
// Return a string representation of this resolvable object.
//
// Returns a reversible string representation.
// Experimental.
ToString() *string
}
func NewProjectPushRulesOutputReference ¶
func NewProjectPushRulesOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ProjectPushRulesOutputReference
type ProjectTimeouts ¶
type ProjectTimeouts struct {
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#create Project#create}.
Create *string `field:"optional" json:"create" yaml:"create"`
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.0/docs/resources/project#delete Project#delete}.
Delete *string `field:"optional" json:"delete" yaml:"delete"`
}
type ProjectTimeoutsOutputReference ¶
type ProjectTimeoutsOutputReference interface {
cdktf.ComplexObject
// the index of the complex object in a list.
// Experimental.
ComplexObjectIndex() interface{}
// Experimental.
SetComplexObjectIndex(val interface{})
// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
// Experimental.
ComplexObjectIsFromSet() *bool
// Experimental.
SetComplexObjectIsFromSet(val *bool)
Create() *string
SetCreate(val *string)
CreateInput() *string
// The creation stack of this resolvable which will be appended to errors thrown during resolution.
//
// If this returns an empty array the stack will not be attached.
// Experimental.
CreationStack() *[]*string
Delete() *string
SetDelete(val *string)
DeleteInput() *string
// Experimental.
Fqn() *string
InternalValue() interface{}
SetInternalValue(val interface{})
// Experimental.
TerraformAttribute() *string
// Experimental.
SetTerraformAttribute(val *string)
// Experimental.
TerraformResource() cdktf.IInterpolatingParent
// Experimental.
SetTerraformResource(val cdktf.IInterpolatingParent)
// Experimental.
ComputeFqn() *string
// Experimental.
GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
// Experimental.
GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
// Experimental.
GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
// Experimental.
GetListAttribute(terraformAttribute *string) *[]*string
// Experimental.
GetNumberAttribute(terraformAttribute *string) *float64
// Experimental.
GetNumberListAttribute(terraformAttribute *string) *[]*float64
// Experimental.
GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
// Experimental.
GetStringAttribute(terraformAttribute *string) *string
// Experimental.
GetStringMapAttribute(terraformAttribute *string) *map[string]*string
// Experimental.
InterpolationAsList() cdktf.IResolvable
// Experimental.
InterpolationForAttribute(property *string) cdktf.IResolvable
ResetCreate()
ResetDelete()
// Produce the Token's value at resolution time.
// Experimental.
Resolve(_context cdktf.IResolveContext) interface{}
// Return a string representation of this resolvable object.
//
// Returns a reversible string representation.
// Experimental.
ToString() *string
}
func NewProjectTimeoutsOutputReference ¶
func NewProjectTimeoutsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ProjectTimeoutsOutputReference
Source Files
¶
- Project.go
- ProjectConfig.go
- ProjectContainerExpirationPolicy.go
- ProjectContainerExpirationPolicyOutputReference.go
- ProjectContainerExpirationPolicyOutputReference__checks.go
- ProjectPushRules.go
- ProjectPushRulesOutputReference.go
- ProjectPushRulesOutputReference__checks.go
- ProjectTimeouts.go
- ProjectTimeoutsOutputReference.go
- ProjectTimeoutsOutputReference__checks.go
- Project__checks.go
- main.go