Documentation
¶
Index ¶
- func Group_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, ...) cdktf.ImportableResource
- func Group_IsConstruct(x interface{}) *bool
- func Group_IsTerraformElement(x interface{}) *bool
- func Group_IsTerraformResource(x interface{}) *bool
- func Group_TfResourceType() *string
- func NewGroupDefaultBranchProtectionDefaultsOutputReference_Override(g GroupDefaultBranchProtectionDefaultsOutputReference, ...)
- func NewGroupPushRulesOutputReference_Override(g GroupPushRulesOutputReference, terraformResource cdktf.IInterpolatingParent, ...)
- func NewGroup_Override(g Group, scope constructs.Construct, id *string, config *GroupConfig)
- type Group
- type GroupConfig
- type GroupDefaultBranchProtectionDefaults
- type GroupDefaultBranchProtectionDefaultsOutputReference
- type GroupPushRules
- type GroupPushRulesOutputReference
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Group_GenerateConfigForImport ¶
func Group_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, provider cdktf.TerraformProvider) cdktf.ImportableResource
Generates CDKTF code for importing a Group resource upon running "cdktf plan <stack-name>".
func Group_IsConstruct ¶
func Group_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 Group_TfResourceType ¶
func Group_TfResourceType() *string
func NewGroupDefaultBranchProtectionDefaultsOutputReference_Override ¶
func NewGroupDefaultBranchProtectionDefaultsOutputReference_Override(g GroupDefaultBranchProtectionDefaultsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)
func NewGroupPushRulesOutputReference_Override ¶
func NewGroupPushRulesOutputReference_Override(g GroupPushRulesOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)
func NewGroup_Override ¶
func NewGroup_Override(g Group, scope constructs.Construct, id *string, config *GroupConfig)
Create a new {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group gitlab_group} Resource.
Types ¶
type Group ¶
type Group interface {
cdktf.TerraformResource
AllowedEmailDomainsList() *[]*string
SetAllowedEmailDomainsList(val *[]*string)
AllowedEmailDomainsListInput() *[]*string
AutoDevopsEnabled() interface{}
SetAutoDevopsEnabled(val interface{})
AutoDevopsEnabledInput() interface{}
Avatar() *string
SetAvatar(val *string)
AvatarHash() *string
SetAvatarHash(val *string)
AvatarHashInput() *string
AvatarInput() *string
AvatarUrl() *string
// Experimental.
CdktfStack() cdktf.TerraformStack
// Experimental.
Connection() interface{}
// Experimental.
SetConnection(val interface{})
// Experimental.
ConstructNodeMetadata() *map[string]interface{}
// Experimental.
Count() interface{}
// Experimental.
SetCount(val interface{})
DefaultBranch() *string
SetDefaultBranch(val *string)
DefaultBranchInput() *string
DefaultBranchProtection() *float64
SetDefaultBranchProtection(val *float64)
DefaultBranchProtectionDefaults() GroupDefaultBranchProtectionDefaultsOutputReference
DefaultBranchProtectionDefaultsInput() *GroupDefaultBranchProtectionDefaults
DefaultBranchProtectionInput() *float64
// Experimental.
DependsOn() *[]*string
// Experimental.
SetDependsOn(val *[]*string)
Description() *string
SetDescription(val *string)
DescriptionInput() *string
EmailsEnabled() interface{}
SetEmailsEnabled(val interface{})
EmailsEnabledInput() interface{}
// Experimental.
ForEach() cdktf.ITerraformIterator
// Experimental.
SetForEach(val cdktf.ITerraformIterator)
// Experimental.
Fqn() *string
// Experimental.
FriendlyUniqueId() *string
FullName() *string
FullPath() *string
Id() *string
SetId(val *string)
IdInput() *string
IpRestrictionRanges() *[]*string
SetIpRestrictionRanges(val *[]*string)
IpRestrictionRangesInput() *[]*string
LfsEnabled() interface{}
SetLfsEnabled(val interface{})
LfsEnabledInput() interface{}
// Experimental.
Lifecycle() *cdktf.TerraformResourceLifecycle
// Experimental.
SetLifecycle(val *cdktf.TerraformResourceLifecycle)
MembershipLock() interface{}
SetMembershipLock(val interface{})
MembershipLockInput() interface{}
MentionsDisabled() interface{}
SetMentionsDisabled(val interface{})
MentionsDisabledInput() interface{}
Name() *string
SetName(val *string)
NameInput() *string
// The tree node.
Node() constructs.Node
ParentId() *float64
SetParentId(val *float64)
ParentIdInput() *float64
Path() *string
SetPath(val *string)
PathInput() *string
PermanentlyRemoveOnDelete() interface{}
SetPermanentlyRemoveOnDelete(val interface{})
PermanentlyRemoveOnDeleteInput() interface{}
PreventForkingOutsideGroup() interface{}
SetPreventForkingOutsideGroup(val interface{})
PreventForkingOutsideGroupInput() interface{}
ProjectCreationLevel() *string
SetProjectCreationLevel(val *string)
ProjectCreationLevelInput() *string
// Experimental.
Provider() cdktf.TerraformProvider
// Experimental.
SetProvider(val cdktf.TerraformProvider)
// Experimental.
Provisioners() *[]interface{}
// Experimental.
SetProvisioners(val *[]interface{})
PushRules() GroupPushRulesOutputReference
PushRulesInput() *GroupPushRules
// Experimental.
RawOverrides() interface{}
RequestAccessEnabled() interface{}
SetRequestAccessEnabled(val interface{})
RequestAccessEnabledInput() interface{}
RequireTwoFactorAuthentication() interface{}
SetRequireTwoFactorAuthentication(val interface{})
RequireTwoFactorAuthenticationInput() interface{}
RunnersToken() *string
SubgroupCreationLevel() *string
SetSubgroupCreationLevel(val *string)
SubgroupCreationLevelInput() *string
// Experimental.
TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata
// Experimental.
TerraformMetaArguments() *map[string]interface{}
// Experimental.
TerraformResourceType() *string
TwoFactorGracePeriod() *float64
SetTwoFactorGracePeriod(val *float64)
TwoFactorGracePeriodInput() *float64
VisibilityLevel() *string
SetVisibilityLevel(val *string)
VisibilityLevelInput() *string
WebUrl() *string
WikiAccessLevel() *string
SetWikiAccessLevel(val *string)
WikiAccessLevelInput() *string
// 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)
PutDefaultBranchProtectionDefaults(value *GroupDefaultBranchProtectionDefaults)
PutPushRules(value *GroupPushRules)
ResetAllowedEmailDomainsList()
ResetAutoDevopsEnabled()
ResetAvatar()
ResetAvatarHash()
ResetDefaultBranch()
ResetDefaultBranchProtection()
ResetDefaultBranchProtectionDefaults()
ResetDescription()
ResetEmailsEnabled()
ResetId()
ResetIpRestrictionRanges()
ResetLfsEnabled()
ResetMembershipLock()
ResetMentionsDisabled()
// Resets a previously passed logical Id to use the auto-generated logical id again.
// Experimental.
ResetOverrideLogicalId()
ResetParentId()
ResetPermanentlyRemoveOnDelete()
ResetPreventForkingOutsideGroup()
ResetProjectCreationLevel()
ResetPushRules()
ResetRequestAccessEnabled()
ResetRequireTwoFactorAuthentication()
ResetSubgroupCreationLevel()
ResetTwoFactorGracePeriod()
ResetVisibilityLevel()
ResetWikiAccessLevel()
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/18.6.1/docs/resources/group gitlab_group}.
func NewGroup ¶
func NewGroup(scope constructs.Construct, id *string, config *GroupConfig) Group
Create a new {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group gitlab_group} Resource.
type GroupConfig ¶
type GroupConfig 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 group.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#name Group#name}
Name *string `field:"required" json:"name" yaml:"name"`
// The path of the group.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#path Group#path}
Path *string `field:"required" json:"path" yaml:"path"`
// A list of email address domains to allow group access. Will be concatenated together into a comma separated string.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#allowed_email_domains_list Group#allowed_email_domains_list}
AllowedEmailDomainsList *[]*string `field:"optional" json:"allowedEmailDomainsList" yaml:"allowedEmailDomainsList"`
// Default to Auto DevOps pipeline for all projects within this group.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#auto_devops_enabled Group#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/18.6.1/docs/resources/group#avatar Group#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/18.6.1/docs/resources/group#avatar_hash Group#avatar_hash}
AvatarHash *string `field:"optional" json:"avatarHash" yaml:"avatarHash"`
// Initial default branch name.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#default_branch Group#default_branch}
DefaultBranch *string `field:"optional" json:"defaultBranch" yaml:"defaultBranch"`
// See https://docs.gitlab.com/api/groups/#options-for-default_branch_protection. Valid values are: `0`, `1`, `2`, `3`, `4`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#default_branch_protection Group#default_branch_protection}
DefaultBranchProtection *float64 `field:"optional" json:"defaultBranchProtection" yaml:"defaultBranchProtection"`
// default_branch_protection_defaults block.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#default_branch_protection_defaults Group#default_branch_protection_defaults}
DefaultBranchProtectionDefaults *GroupDefaultBranchProtectionDefaults `field:"optional" json:"defaultBranchProtectionDefaults" yaml:"defaultBranchProtectionDefaults"`
// The group's description.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#description Group#description}
Description *string `field:"optional" json:"description" yaml:"description"`
// Enable email notifications.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#emails_enabled Group#emails_enabled}
EmailsEnabled interface{} `field:"optional" json:"emailsEnabled" yaml:"emailsEnabled"`
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#extra_shared_runners_minutes_limit Group#extra_shared_runners_minutes_limit}
ExtraSharedRunnersMinutesLimit *float64 `field:"optional" json:"extraSharedRunnersMinutesLimit" yaml:"extraSharedRunnersMinutesLimit"`
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#id Group#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"`
// A list of IP addresses or subnet masks to restrict group access.
//
// Will be concatenated together into a comma separated string. Only allowed on top level groups.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#ip_restriction_ranges Group#ip_restriction_ranges}
IpRestrictionRanges *[]*string `field:"optional" json:"ipRestrictionRanges" yaml:"ipRestrictionRanges"`
// Enable/disable Large File Storage (LFS) for the projects in this group.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#lfs_enabled Group#lfs_enabled}
LfsEnabled interface{} `field:"optional" json:"lfsEnabled" yaml:"lfsEnabled"`
// Users cannot be added to projects in this group.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#membership_lock Group#membership_lock}
MembershipLock interface{} `field:"optional" json:"membershipLock" yaml:"membershipLock"`
// Disable the capability of a group from getting mentioned.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#mentions_disabled Group#mentions_disabled}
MentionsDisabled interface{} `field:"optional" json:"mentionsDisabled" yaml:"mentionsDisabled"`
// Id of the parent group (creates a nested group).
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#parent_id Group#parent_id}
ParentId *float64 `field:"optional" json:"parentId" yaml:"parentId"`
// Whether the group should be permanently removed during a `delete` operation.
//
// This only works with subgroups. Must be configured via an `apply` before the `destroy` is run.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#permanently_remove_on_delete Group#permanently_remove_on_delete}
PermanentlyRemoveOnDelete interface{} `field:"optional" json:"permanentlyRemoveOnDelete" yaml:"permanentlyRemoveOnDelete"`
// Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#prevent_forking_outside_group Group#prevent_forking_outside_group}
PreventForkingOutsideGroup interface{} `field:"optional" json:"preventForkingOutsideGroup" yaml:"preventForkingOutsideGroup"`
// Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#project_creation_level Group#project_creation_level}
ProjectCreationLevel *string `field:"optional" json:"projectCreationLevel" yaml:"projectCreationLevel"`
// push_rules block.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#push_rules Group#push_rules}
PushRules *GroupPushRules `field:"optional" json:"pushRules" yaml:"pushRules"`
// Allow users to request member access.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#request_access_enabled Group#request_access_enabled}
RequestAccessEnabled interface{} `field:"optional" json:"requestAccessEnabled" yaml:"requestAccessEnabled"`
// Require all users in this group to setup Two-factor authentication.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#require_two_factor_authentication Group#require_two_factor_authentication}
RequireTwoFactorAuthentication interface{} `field:"optional" json:"requireTwoFactorAuthentication" yaml:"requireTwoFactorAuthentication"`
//
// Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#shared_runners_minutes_limit Group#shared_runners_minutes_limit}
SharedRunnersMinutesLimit *float64 `field:"optional" json:"sharedRunnersMinutesLimit" yaml:"sharedRunnersMinutesLimit"`
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#shared_runners_setting Group#shared_runners_setting}
SharedRunnersSetting *string `field:"optional" json:"sharedRunnersSetting" yaml:"sharedRunnersSetting"`
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#share_with_group_lock Group#share_with_group_lock}
ShareWithGroupLock interface{} `field:"optional" json:"shareWithGroupLock" yaml:"shareWithGroupLock"`
// Allowed to create subgroups. Valid values are: `owner`, `maintainer`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#subgroup_creation_level Group#subgroup_creation_level}
SubgroupCreationLevel *string `field:"optional" json:"subgroupCreationLevel" yaml:"subgroupCreationLevel"`
// Defaults to 48. Time before Two-factor authentication is enforced (in hours).
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#two_factor_grace_period Group#two_factor_grace_period}
TwoFactorGracePeriod *float64 `field:"optional" json:"twoFactorGracePeriod" yaml:"twoFactorGracePeriod"`
// The group's visibility. Can be `private`, `internal`, or `public`. Valid values are: `private`, `internal`, `public`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#visibility_level Group#visibility_level}
VisibilityLevel *string `field:"optional" json:"visibilityLevel" yaml:"visibilityLevel"`
// The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are `disabled`, `private`, `enabled`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#wiki_access_level Group#wiki_access_level}
WikiAccessLevel *string `field:"optional" json:"wikiAccessLevel" yaml:"wikiAccessLevel"`
}
type GroupDefaultBranchProtectionDefaults ¶
type GroupDefaultBranchProtectionDefaults struct {
// An array of access levels allowed to merge. Valid values are: `developer`, `maintainer`, `no one`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#allowed_to_merge Group#allowed_to_merge}
AllowedToMerge *[]*string `field:"optional" json:"allowedToMerge" yaml:"allowedToMerge"`
// An array of access levels allowed to push. Valid values are: `developer`, `maintainer`, `no one`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#allowed_to_push Group#allowed_to_push}
AllowedToPush *[]*string `field:"optional" json:"allowedToPush" yaml:"allowedToPush"`
// Allow force push for all users with push access.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#allow_force_push Group#allow_force_push}
AllowForcePush interface{} `field:"optional" json:"allowForcePush" yaml:"allowForcePush"`
// Allow developers to initial push.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#developer_can_initial_push Group#developer_can_initial_push}
DeveloperCanInitialPush interface{} `field:"optional" json:"developerCanInitialPush" yaml:"developerCanInitialPush"`
}
type GroupDefaultBranchProtectionDefaultsOutputReference ¶
type GroupDefaultBranchProtectionDefaultsOutputReference interface {
cdktf.ComplexObject
AllowedToMerge() *[]*string
SetAllowedToMerge(val *[]*string)
AllowedToMergeInput() *[]*string
AllowedToPush() *[]*string
SetAllowedToPush(val *[]*string)
AllowedToPushInput() *[]*string
AllowForcePush() interface{}
SetAllowForcePush(val interface{})
AllowForcePushInput() interface{}
// 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
DeveloperCanInitialPush() interface{}
SetDeveloperCanInitialPush(val interface{})
DeveloperCanInitialPushInput() interface{}
// Experimental.
Fqn() *string
InternalValue() *GroupDefaultBranchProtectionDefaults
SetInternalValue(val *GroupDefaultBranchProtectionDefaults)
// 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(terraformAttribute *string) cdktf.IResolvable
ResetAllowedToMerge()
ResetAllowedToPush()
ResetAllowForcePush()
ResetDeveloperCanInitialPush()
// 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 NewGroupDefaultBranchProtectionDefaultsOutputReference ¶
func NewGroupDefaultBranchProtectionDefaultsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) GroupDefaultBranchProtectionDefaultsOutputReference
type GroupPushRules ¶
type GroupPushRules 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/18.6.1/docs/resources/group#author_email_regex Group#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/18.6.1/docs/resources/group#branch_name_regex Group#branch_name_regex}
BranchNameRegex *string `field:"optional" json:"branchNameRegex" yaml:"branchNameRegex"`
// Only commits pushed using verified emails are allowed.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#commit_committer_check Group#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/18.6.1/docs/resources/group#commit_committer_name_check Group#commit_committer_name_check}
CommitCommitterNameCheck interface{} `field:"optional" json:"commitCommitterNameCheck" yaml:"commitCommitterNameCheck"`
// No commit message is allowed to match this regex, for example `ssh\:\/\/`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#commit_message_negative_regex Group#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/18.6.1/docs/resources/group#commit_message_regex Group#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/18.6.1/docs/resources/group#deny_delete_tag Group#deny_delete_tag}
DenyDeleteTag interface{} `field:"optional" json:"denyDeleteTag" yaml:"denyDeleteTag"`
// Filenames matching the regular expression provided in this attribute are not allowed, for example, `(jar|exe)$`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#file_name_regex Group#file_name_regex}
FileNameRegex *string `field:"optional" json:"fileNameRegex" yaml:"fileNameRegex"`
// Maximum file size (MB) allowed.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#max_file_size Group#max_file_size}
MaxFileSize *float64 `field:"optional" json:"maxFileSize" yaml:"maxFileSize"`
// Allows only GitLab users to author commits.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#member_check Group#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/18.6.1/docs/resources/group#prevent_secrets Group#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/18.6.1/docs/resources/group#reject_non_dco_commits Group#reject_non_dco_commits}
RejectNonDcoCommits interface{} `field:"optional" json:"rejectNonDcoCommits" yaml:"rejectNonDcoCommits"`
// Only commits signed through GPG are allowed.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/18.6.1/docs/resources/group#reject_unsigned_commits Group#reject_unsigned_commits}
RejectUnsignedCommits interface{} `field:"optional" json:"rejectUnsignedCommits" yaml:"rejectUnsignedCommits"`
}
type GroupPushRulesOutputReference ¶
type GroupPushRulesOutputReference 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() *GroupPushRules
SetInternalValue(val *GroupPushRules)
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(terraformAttribute *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 NewGroupPushRulesOutputReference ¶
func NewGroupPushRulesOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) GroupPushRulesOutputReference