group

package
v10.0.2 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2023 License: MPL-2.0 Imports: 7 Imported by: 0

README

gitlab_group

Refer to the Terraform Registory for docs: gitlab_group.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

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 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/16.4.1/docs/resources/group gitlab_group} Resource.

Types

type Group

type Group interface {
	cdktf.TerraformResource
	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{})
	DefaultBranchProtection() *float64
	SetDefaultBranchProtection(val *float64)
	DefaultBranchProtectionInput() *float64
	// Experimental.
	DependsOn() *[]*string
	// Experimental.
	SetDependsOn(val *[]*string)
	Description() *string
	SetDescription(val *string)
	DescriptionInput() *string
	EmailsDisabled() interface{}
	SetEmailsDisabled(val interface{})
	EmailsDisabledInput() 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
	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{})
	// 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
	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
	// 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)
	ResetAutoDevopsEnabled()
	ResetAvatar()
	ResetAvatarHash()
	ResetDefaultBranchProtection()
	ResetDescription()
	ResetEmailsDisabled()
	ResetExtraSharedRunnersMinutesLimit()
	ResetId()
	ResetIpRestrictionRanges()
	ResetLfsEnabled()
	ResetMembershipLock()
	ResetMentionsDisabled()
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	ResetParentId()
	ResetPreventForkingOutsideGroup()
	ResetProjectCreationLevel()
	ResetRequestAccessEnabled()
	ResetRequireTwoFactorAuthentication()
	ResetSharedRunnersMinutesLimit()
	ResetShareWithGroupLock()
	ResetSubgroupCreationLevel()
	ResetTwoFactorGracePeriod()
	ResetVisibilityLevel()
	ResetWikiAccessLevel()
	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://registry.terraform.io/providers/gitlabhq/gitlab/16.4.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/16.4.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 this group.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/16.4.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/16.4.1/docs/resources/group#path Group#path}
	Path *string `field:"required" json:"path" yaml:"path"`
	// Defaults to false. Default to Auto DevOps pipeline for all projects within this group.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/16.4.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/16.4.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/16.4.1/docs/resources/group#avatar_hash Group#avatar_hash}
	AvatarHash *string `field:"optional" json:"avatarHash" yaml:"avatarHash"`
	// Defaults to 2. See https://docs.gitlab.com/ee/api/groups.html#options-for-default_branch_protection.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/16.4.1/docs/resources/group#default_branch_protection Group#default_branch_protection}
	DefaultBranchProtection *float64 `field:"optional" json:"defaultBranchProtection" yaml:"defaultBranchProtection"`
	// The description of the group.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/16.4.1/docs/resources/group#description Group#description}
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Defaults to false. Disable email notifications.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/16.4.1/docs/resources/group#emails_disabled Group#emails_disabled}
	EmailsDisabled interface{} `field:"optional" json:"emailsDisabled" yaml:"emailsDisabled"`
	// 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/16.4.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/16.4.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/16.4.1/docs/resources/group#ip_restriction_ranges Group#ip_restriction_ranges}
	IpRestrictionRanges *[]*string `field:"optional" json:"ipRestrictionRanges" yaml:"ipRestrictionRanges"`
	// Defaults to true. Enable/disable Large File Storage (LFS) for the projects in this group.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/16.4.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/16.4.1/docs/resources/group#membership_lock Group#membership_lock}
	MembershipLock interface{} `field:"optional" json:"membershipLock" yaml:"membershipLock"`
	// Defaults to false. Disable the capability of a group from getting mentioned.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/16.4.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/16.4.1/docs/resources/group#parent_id Group#parent_id}
	ParentId *float64 `field:"optional" json:"parentId" yaml:"parentId"`
	// 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/16.4.1/docs/resources/group#prevent_forking_outside_group Group#prevent_forking_outside_group}
	PreventForkingOutsideGroup interface{} `field:"optional" json:"preventForkingOutsideGroup" yaml:"preventForkingOutsideGroup"`
	// Defaults to maintainer. Determine if developers can create projects in the group.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/16.4.1/docs/resources/group#project_creation_level Group#project_creation_level}
	ProjectCreationLevel *string `field:"optional" json:"projectCreationLevel" yaml:"projectCreationLevel"`
	// Defaults to false. Allow users to request member access.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/16.4.1/docs/resources/group#request_access_enabled Group#request_access_enabled}
	RequestAccessEnabled interface{} `field:"optional" json:"requestAccessEnabled" yaml:"requestAccessEnabled"`
	// Defaults to false. Require all users in this group to setup Two-factor authentication.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/16.4.1/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/16.4.1/docs/resources/group#shared_runners_minutes_limit Group#shared_runners_minutes_limit}
	SharedRunnersMinutesLimit *float64 `field:"optional" json:"sharedRunnersMinutesLimit" yaml:"sharedRunnersMinutesLimit"`
	// Defaults to false. Prevent sharing a project with another group within this group.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/16.4.1/docs/resources/group#share_with_group_lock Group#share_with_group_lock}
	ShareWithGroupLock interface{} `field:"optional" json:"shareWithGroupLock" yaml:"shareWithGroupLock"`
	// Defaults to owner. Allowed to create subgroups.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/16.4.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/16.4.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`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/16.4.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/16.4.1/docs/resources/group#wiki_access_level Group#wiki_access_level}
	WikiAccessLevel *string `field:"optional" json:"wikiAccessLevel" yaml:"wikiAccessLevel"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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