Documentation ¶
Index ¶
- func Group_IsConstruct(x interface{}) *bool
- func Group_IsTerraformElement(x interface{}) *bool
- func Group_IsTerraformResource(x interface{}) *bool
- func Group_TfResourceType() *string
- func NewGroup_Override(g Group, scope constructs.Construct, id *string, config *GroupConfig)
- type Group
- type GroupConfig
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://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{} // 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 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() 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() 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"` // // 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"` // // 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"` // // 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"` }