Documentation
¶
Index ¶
- func NewProjectContainerExpirationPolicyOutputReference_Override(p ProjectContainerExpirationPolicyOutputReference, ...)
- func NewProjectPushRulesOutputReference_Override(p ProjectPushRulesOutputReference, ...)
- func NewProject_Override(p Project, scope constructs.Construct, id *string, config *ProjectConfig)
- func Project_IsConstruct(x interface{}) *bool
- func Project_TfResourceType() *string
- type Project
- type ProjectConfig
- type ProjectContainerExpirationPolicy
- type ProjectContainerExpirationPolicyOutputReference
- type ProjectPushRules
- type ProjectPushRulesOutputReference
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 NewProject_Override ¶
func NewProject_Override(p Project, scope constructs.Construct, id *string, config *ProjectConfig)
Create a new {@link https://www.terraform.io/docs/providers/gitlab/r/project gitlab_project} Resource.
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_TfResourceType ¶
func Project_TfResourceType() *string
Types ¶
type Project ¶
type Project interface {
cdktf.TerraformResource
AllowMergeOnSkippedPipeline() interface{}
SetAllowMergeOnSkippedPipeline(val interface{})
AllowMergeOnSkippedPipelineInput() 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{}
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{}
// 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() *float64
// Experimental.
SetCount(val *float64)
DefaultBranch() *string
SetDefaultBranch(val *string)
DefaultBranchInput() *string
// Experimental.
DependsOn() *[]*string
// Experimental.
SetDependsOn(val *[]*string)
Description() *string
SetDescription(val *string)
DescriptionInput() *string
EmailsDisabled() interface{}
SetEmailsDisabled(val interface{})
EmailsDisabledInput() interface{}
ExternalAuthorizationClassificationLabel() *string
SetExternalAuthorizationClassificationLabel(val *string)
ExternalAuthorizationClassificationLabelInput() *string
// Experimental.
ForEach() cdktf.ITerraformIterator
// Experimental.
SetForEach(val cdktf.ITerraformIterator)
ForkingAccessLevel() *string
SetForkingAccessLevel(val *string)
ForkingAccessLevelInput() *string
// Experimental.
Fqn() *string
// Experimental.
FriendlyUniqueId() *string
GroupWithProjectTemplatesId() *float64
SetGroupWithProjectTemplatesId(val *float64)
GroupWithProjectTemplatesIdInput() *float64
HttpUrlToRepo() *string
Id() *string
SetId(val *string)
IdInput() *string
ImportUrl() *string
SetImportUrl(val *string)
ImportUrlInput() *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
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{}
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{}
OperationsAccessLevel() *string
SetOperationsAccessLevel(val *string)
OperationsAccessLevelInput() *string
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{}
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{}
PushRules() ProjectPushRulesOutputReference
PushRulesInput() *ProjectPushRules
// Experimental.
RawOverrides() interface{}
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{}
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
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
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{}
// 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.
InterpolationForAttribute(terraformAttribute *string) cdktf.IResolvable
// Overrides the auto-generated logical ID with a specific ID.
// Experimental.
OverrideLogicalId(newLogicalId *string)
PutContainerExpirationPolicy(value *ProjectContainerExpirationPolicy)
PutPushRules(value *ProjectPushRules)
ResetAllowMergeOnSkippedPipeline()
ResetAnalyticsAccessLevel()
ResetApprovalsBeforeMerge()
ResetArchived()
ResetArchiveOnDestroy()
ResetAutoCancelPendingPipelines()
ResetAutocloseReferencedIssues()
ResetAutoDevopsDeployStrategy()
ResetAutoDevopsEnabled()
ResetBuildCoverageRegex()
ResetBuildGitStrategy()
ResetBuildsAccessLevel()
ResetBuildTimeout()
ResetCiConfigPath()
ResetCiDefaultGitDepth()
ResetCiForwardDeploymentEnabled()
ResetContainerExpirationPolicy()
ResetContainerRegistryAccessLevel()
ResetContainerRegistryEnabled()
ResetDefaultBranch()
ResetDescription()
ResetEmailsDisabled()
ResetExternalAuthorizationClassificationLabel()
ResetForkingAccessLevel()
ResetGroupWithProjectTemplatesId()
ResetId()
ResetImportUrl()
ResetInitializeWithReadme()
ResetIssuesAccessLevel()
ResetIssuesEnabled()
ResetIssuesTemplate()
ResetLfsEnabled()
ResetMergeCommitTemplate()
ResetMergeMethod()
ResetMergePipelinesEnabled()
ResetMergeRequestsAccessLevel()
ResetMergeRequestsEnabled()
ResetMergeRequestsTemplate()
ResetMergeTrainsEnabled()
ResetMirror()
ResetMirrorOverwritesDivergedBranches()
ResetMirrorTriggerBuilds()
ResetNamespaceId()
ResetOnlyAllowMergeIfAllDiscussionsAreResolved()
ResetOnlyAllowMergeIfPipelineSucceeds()
ResetOnlyMirrorProtectedBranches()
ResetOperationsAccessLevel()
// Resets a previously passed logical Id to use the auto-generated logical id again.
// Experimental.
ResetOverrideLogicalId()
ResetPackagesEnabled()
ResetPagesAccessLevel()
ResetPath()
ResetPipelinesEnabled()
ResetPrintingMergeRequestLinkEnabled()
ResetPublicBuilds()
ResetPushRules()
ResetRemoveSourceBranchAfterMerge()
ResetRepositoryAccessLevel()
ResetRepositoryStorage()
ResetRequestAccessEnabled()
ResetRequirementsAccessLevel()
ResetResolveOutdatedDiffDiscussions()
ResetSecurityAndComplianceAccessLevel()
ResetSkipWaitForDefaultBranchProtection()
ResetSnippetsAccessLevel()
ResetSnippetsEnabled()
ResetSquashCommitTemplate()
ResetSquashOption()
ResetTags()
ResetTemplateName()
ResetTemplateProjectId()
ResetTopics()
ResetUseCustomTemplate()
ResetVisibilityLevel()
ResetWikiAccessLevel()
ResetWikiEnabled()
SynthesizeAttributes() *map[string]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://www.terraform.io/docs/providers/gitlab/r/project gitlab_project}.
func NewProject ¶
func NewProject(scope constructs.Construct, id *string, config *ProjectConfig) Project
Create a new {@link https://www.terraform.io/docs/providers/gitlab/r/project gitlab_project} Resource.
type ProjectConfig ¶
type ProjectConfig struct {
// Experimental.
Connection interface{} `field:"optional" json:"connection" yaml:"connection"`
// Experimental.
Count *float64 `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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#allow_merge_on_skipped_pipeline Project#allow_merge_on_skipped_pipeline}
AllowMergeOnSkippedPipeline interface{} `field:"optional" json:"allowMergeOnSkippedPipeline" yaml:"allowMergeOnSkippedPipeline"`
// Set the analytics access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#auto_devops_enabled Project#auto_devops_enabled}
AutoDevopsEnabled interface{} `field:"optional" json:"autoDevopsEnabled" yaml:"autoDevopsEnabled"`
// Test coverage parsing for the project. This is deprecated feature in GitLab 15.0.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/project#build_coverage_regex Project#build_coverage_regex}
BuildCoverageRegex *string `field:"optional" json:"buildCoverageRegex" yaml:"buildCoverageRegex"`
// The Git strategy. Defaults to fetch.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#ci_forward_deployment_enabled Project#ci_forward_deployment_enabled}
CiForwardDeploymentEnabled interface{} `field:"optional" json:"ciForwardDeploymentEnabled" yaml:"ciForwardDeploymentEnabled"`
// container_expiration_policy block.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#description Project#description}
Description *string `field:"optional" json:"description" yaml:"description"`
// Disable email notifications.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/project#emails_disabled Project#emails_disabled}
EmailsDisabled interface{} `field:"optional" json:"emailsDisabled" yaml:"emailsDisabled"`
// The classification label for the project.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/project#external_authorization_classification_label Project#external_authorization_classification_label}
ExternalAuthorizationClassificationLabel *string `field:"optional" json:"externalAuthorizationClassificationLabel" yaml:"externalAuthorizationClassificationLabel"`
// Set the forking access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/project#forking_access_level Project#forking_access_level}
ForkingAccessLevel *string `field:"optional" json:"forkingAccessLevel" yaml:"forkingAccessLevel"`
// 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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/project#import_url Project#import_url}
ImportUrl *string `field:"optional" json:"importUrl" yaml:"importUrl"`
// Create main branch with first commit containing a README.md file.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#issues_template Project#issues_template}
IssuesTemplate *string `field:"optional" json:"issuesTemplate" yaml:"issuesTemplate"`
// Enable LFS for the project.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#merge_commit_template Project#merge_commit_template}
MergeCommitTemplate *string `field:"optional" json:"mergeCommitTemplate" yaml:"mergeCommitTemplate"`
// Set to `ff` to create fast-forward merges.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#mirror_trigger_builds Project#mirror_trigger_builds}
MirrorTriggerBuilds interface{} `field:"optional" json:"mirrorTriggerBuilds" yaml:"mirrorTriggerBuilds"`
// The namespace (group or user) of the project. Defaults to your user.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#only_mirror_protected_branches Project#only_mirror_protected_branches}
OnlyMirrorProtectedBranches interface{} `field:"optional" json:"onlyMirrorProtectedBranches" yaml:"onlyMirrorProtectedBranches"`
// Set the operations access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/project#operations_access_level Project#operations_access_level}
OperationsAccessLevel *string `field:"optional" json:"operationsAccessLevel" yaml:"operationsAccessLevel"`
// Enable packages repository for the project.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/project#packages_enabled Project#packages_enabled}
PackagesEnabled interface{} `field:"optional" json:"packagesEnabled" yaml:"packagesEnabled"`
// Enable pages access control.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#path Project#path}
Path *string `field:"optional" json:"path" yaml:"path"`
// Enable pipelines for the project.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/project#pipelines_enabled Project#pipelines_enabled}
PipelinesEnabled interface{} `field:"optional" json:"pipelinesEnabled" yaml:"pipelinesEnabled"`
// Show link to create/view merge request when pushing from the command line.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#public_builds Project#public_builds}
PublicBuilds interface{} `field:"optional" json:"publicBuilds" yaml:"publicBuilds"`
// push_rules block.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/project#push_rules Project#push_rules}
PushRules *ProjectPushRules `field:"optional" json:"pushRules" yaml:"pushRules"`
// Enable `Delete source branch` option by default for all new merge requests.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#resolve_outdated_diff_discussions Project#resolve_outdated_diff_discussions}
ResolveOutdatedDiffDiscussions interface{} `field:"optional" json:"resolveOutdatedDiffDiscussions" yaml:"resolveOutdatedDiffDiscussions"`
// Set the security and compliance access level. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#squash_option Project#squash_option}
SquashOption *string `field:"optional" json:"squashOption" yaml:"squashOption"`
// 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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#template_project_id Project#template_project_id}
TemplateProjectId *float64 `field:"optional" json:"templateProjectId" yaml:"templateProjectId"`
// The list of topics for the project.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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).
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/project#use_custom_template Project#use_custom_template}
UseCustomTemplate interface{} `field:"optional" json:"useCustomTemplate" yaml:"useCustomTemplate"`
// Set to `public` to create a public project.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#cadence Project#cadence}
Cadence *string `field:"optional" json:"cadence" yaml:"cadence"`
// If true, the policy is enabled.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/project#enabled Project#enabled}
Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"`
// The number of images to keep.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/project#keep_n Project#keep_n}
KeepN *float64 `field:"optional" json:"keepN" yaml:"keepN"`
// The regular expression to match image names to delete.
//
// **Note**: the upstream API has some inconsistencies with the `name_regex` field here. It's basically unusable at the moment.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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
NameRegexDelete() *string
SetNameRegexDelete(val *string)
NameRegexDeleteInput() *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()
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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#commit_committer_check Project#commit_committer_check}
CommitCommitterCheck interface{} `field:"optional" json:"commitCommitterCheck" yaml:"commitCommitterCheck"`
// No commit message is allowed to match this regex, for example `ssh\:\/\/`.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#deny_delete_tag Project#deny_delete_tag}
DenyDeleteTag interface{} `field:"optional" json:"denyDeleteTag" yaml:"denyDeleteTag"`
// All commited filenames must not match this regex, e.g. `(jar|exe)$`.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/project#prevent_secrets Project#prevent_secrets}
PreventSecrets interface{} `field:"optional" json:"preventSecrets" yaml:"preventSecrets"`
// Reject commit when it’s not signed through GPG.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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{}
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{}
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()
ResetCommitMessageNegativeRegex()
ResetCommitMessageRegex()
ResetDenyDeleteTag()
ResetFileNameRegex()
ResetMaxFileSize()
ResetMemberCheck()
ResetPreventSecrets()
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
Source Files
¶
- project.go
- project_Project.go
- project_ProjectConfig.go
- project_ProjectContainerExpirationPolicy.go
- project_ProjectContainerExpirationPolicyOutputReference.go
- project_ProjectContainerExpirationPolicyOutputReference__runtime_type_checks.go
- project_ProjectPushRules.go
- project_ProjectPushRulesOutputReference.go
- project_ProjectPushRulesOutputReference__runtime_type_checks.go
- project_Project__runtime_type_checks.go