group

package
v13.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 17, 2025 License: MPL-2.0 Imports: 7 Imported by: 0

README

gitlab_group

Refer to the Terraform Registry for docs: gitlab_group.

Documentation

Index

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_IsTerraformElement

func Group_IsTerraformElement(x interface{}) *bool

Experimental.

func Group_IsTerraformResource

func Group_IsTerraformResource(x interface{}) *bool

Experimental.

func Group_TfResourceType

func Group_TfResourceType() *string

func NewGroupDefaultBranchProtectionDefaultsOutputReference_Override added in v13.4.0

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/17.8.0/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{}
	ExtraSharedRunnersMinutesLimit() *float64
	SetExtraSharedRunnersMinutesLimit(val *float64)
	ExtraSharedRunnersMinutesLimitInput() *float64
	// 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
	SharedRunnersMinutesLimit() *float64
	SetSharedRunnersMinutesLimit(val *float64)
	SharedRunnersMinutesLimitInput() *float64
	SharedRunnersSetting() *string
	SetSharedRunnersSetting(val *string)
	SharedRunnersSettingInput() *string
	ShareWithGroupLock() interface{}
	SetShareWithGroupLock(val interface{})
	ShareWithGroupLockInput() interface{}
	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()
	ResetExtraSharedRunnersMinutesLimit()
	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()
	ResetSharedRunnersMinutesLimit()
	ResetSharedRunnersSetting()
	ResetShareWithGroupLock()
	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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/docs/resources/group#default_branch Group#default_branch}
	DefaultBranch *string `field:"optional" json:"defaultBranch" yaml:"defaultBranch"`
	// See https://docs.gitlab.com/ee/api/groups.html#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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/docs/resources/group#emails_enabled Group#emails_enabled}
	EmailsEnabled interface{} `field:"optional" json:"emailsEnabled" yaml:"emailsEnabled"`
	// Can be set by administrators only. Additional CI/CD minutes for this group.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/docs/resources/group#require_two_factor_authentication Group#require_two_factor_authentication}
	RequireTwoFactorAuthentication interface{} `field:"optional" json:"requireTwoFactorAuthentication" yaml:"requireTwoFactorAuthentication"`
	// Can be set by administrators only.
	//
	// Maximum number of monthly CI/CD minutes for this group. Can be nil (default; inherit system default), 0 (unlimited), or > 0.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.8.0/docs/resources/group#shared_runners_minutes_limit Group#shared_runners_minutes_limit}
	SharedRunnersMinutesLimit *float64 `field:"optional" json:"sharedRunnersMinutesLimit" yaml:"sharedRunnersMinutesLimit"`
	// Enable or disable shared runners for a group’s subgroups and projects. Valid values are: `enabled`, `disabled_and_overridable`, `disabled_and_unoverridable`, `disabled_with_override`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.8.0/docs/resources/group#shared_runners_setting Group#shared_runners_setting}
	SharedRunnersSetting *string `field:"optional" json:"sharedRunnersSetting" yaml:"sharedRunnersSetting"`
	// Prevent sharing a project with another group within this group.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/docs/resources/group#wiki_access_level Group#wiki_access_level}
	WikiAccessLevel *string `field:"optional" json:"wikiAccessLevel" yaml:"wikiAccessLevel"`
}

type GroupDefaultBranchProtectionDefaults added in v13.4.0

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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/docs/resources/group#developer_can_initial_push Group#developer_can_initial_push}
	DeveloperCanInitialPush interface{} `field:"optional" json:"developerCanInitialPush" yaml:"developerCanInitialPush"`
}

type GroupDefaultBranchProtectionDefaultsOutputReference added in v13.4.0

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(property *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 added in v13.4.0

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/17.8.0/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/17.8.0/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.
	//
	// **Note** This attribute is only supported in GitLab versions >= 16.4.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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/17.8.0/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.  **Note** This attribute is only supported in GitLab versions >= 16.4.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.8.0/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(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 NewGroupPushRulesOutputReference

func NewGroupPushRulesOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) GroupPushRulesOutputReference

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL