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_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://www.terraform.io/docs/providers/gitlab/r/group gitlab_group} Resource.
Types ¶
type Group ¶
type Group interface {
cdktf.TerraformResource
AutoDevopsEnabled() interface{}
SetAutoDevopsEnabled(val interface{})
AutoDevopsEnabledInput() interface{}
// Experimental.
CdktfStack() cdktf.TerraformStack
// Experimental.
Connection() interface{}
// Experimental.
SetConnection(val interface{})
// Experimental.
ConstructNodeMetadata() *map[string]interface{}
// Experimental.
Count() *float64
// Experimental.
SetCount(val *float64)
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{}
// 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
LfsEnabled() interface{}
SetLfsEnabled(val interface{})
LfsEnabledInput() interface{}
// Experimental.
Lifecycle() *cdktf.TerraformResourceLifecycle
// Experimental.
SetLifecycle(val *cdktf.TerraformResourceLifecycle)
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
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
// 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()
ResetDefaultBranchProtection()
ResetDescription()
ResetEmailsDisabled()
ResetId()
ResetLfsEnabled()
ResetMentionsDisabled()
// Resets a previously passed logical Id to use the auto-generated logical id again.
// Experimental.
ResetOverrideLogicalId()
ResetParentId()
ResetPreventForkingOutsideGroup()
ResetProjectCreationLevel()
ResetRequestAccessEnabled()
ResetRequireTwoFactorAuthentication()
ResetSubgroupCreationLevel()
ResetTwoFactorGracePeriod()
ResetVisibilityLevel()
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/group gitlab_group}.
func NewGroup ¶
func NewGroup(scope constructs.Construct, id *string, config *GroupConfig) Group
Create a new {@link https://www.terraform.io/docs/providers/gitlab/r/group gitlab_group} Resource.
type GroupConfig ¶
type GroupConfig 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 this group.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/group#name Group#name}
Name *string `field:"required" json:"name" yaml:"name"`
// The path of the group.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/group#auto_devops_enabled Group#auto_devops_enabled}
AutoDevopsEnabled interface{} `field:"optional" json:"autoDevopsEnabled" yaml:"autoDevopsEnabled"`
// Defaults to 2. See https://docs.gitlab.com/ee/api/groups.html#options-for-default_branch_protection.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/group#description Group#description}
Description *string `field:"optional" json:"description" yaml:"description"`
// Defaults to false. Disable email notifications.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/group#emails_disabled Group#emails_disabled}
EmailsDisabled interface{} `field:"optional" json:"emailsDisabled" yaml:"emailsDisabled"`
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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"`
// Defaults to true. Enable/disable Large File Storage (LFS) for the projects in this group.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/group#lfs_enabled Group#lfs_enabled}
LfsEnabled interface{} `field:"optional" json:"lfsEnabled" yaml:"lfsEnabled"`
// Defaults to false. Disable the capability of a group from getting mentioned.
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/group#require_two_factor_authentication Group#require_two_factor_authentication}
RequireTwoFactorAuthentication interface{} `field:"optional" json:"requireTwoFactorAuthentication" yaml:"requireTwoFactorAuthentication"`
//
// Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/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://www.terraform.io/docs/providers/gitlab/r/group#visibility_level Group#visibility_level}
VisibilityLevel *string `field:"optional" json:"visibilityLevel" yaml:"visibilityLevel"`
}