Documentation
¶
Index ¶
- func NewProjectApprovalRule_Override(p ProjectApprovalRule, scope constructs.Construct, id *string, ...)
- func ProjectApprovalRule_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, ...) cdktf.ImportableResource
- func ProjectApprovalRule_IsConstruct(x interface{}) *bool
- func ProjectApprovalRule_IsTerraformElement(x interface{}) *bool
- func ProjectApprovalRule_IsTerraformResource(x interface{}) *bool
- func ProjectApprovalRule_TfResourceType() *string
- type ProjectApprovalRule
- type ProjectApprovalRuleConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewProjectApprovalRule_Override ¶
func NewProjectApprovalRule_Override(p ProjectApprovalRule, scope constructs.Construct, id *string, config *ProjectApprovalRuleConfig)
Create a new {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.3.0/docs/resources/project_approval_rule gitlab_project_approval_rule} Resource.
func ProjectApprovalRule_GenerateConfigForImport ¶
func ProjectApprovalRule_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, provider cdktf.TerraformProvider) cdktf.ImportableResource
Generates CDKTF code for importing a ProjectApprovalRule resource upon running "cdktf plan <stack-name>".
func ProjectApprovalRule_IsConstruct ¶
func ProjectApprovalRule_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 ProjectApprovalRule_IsTerraformElement ¶
func ProjectApprovalRule_IsTerraformElement(x interface{}) *bool
Experimental.
func ProjectApprovalRule_IsTerraformResource ¶
func ProjectApprovalRule_IsTerraformResource(x interface{}) *bool
Experimental.
func ProjectApprovalRule_TfResourceType ¶
func ProjectApprovalRule_TfResourceType() *string
Types ¶
type ProjectApprovalRule ¶
type ProjectApprovalRule interface {
cdktf.TerraformResource
AppliesToAllProtectedBranches() interface{}
SetAppliesToAllProtectedBranches(val interface{})
AppliesToAllProtectedBranchesInput() interface{}
ApprovalsRequired() *float64
SetApprovalsRequired(val *float64)
ApprovalsRequiredInput() *float64
// Experimental.
CdktfStack() cdktf.TerraformStack
// Experimental.
Connection() interface{}
// Experimental.
SetConnection(val interface{})
// Experimental.
ConstructNodeMetadata() *map[string]interface{}
// Experimental.
Count() interface{}
// Experimental.
SetCount(val interface{})
// Experimental.
DependsOn() *[]*string
// Experimental.
SetDependsOn(val *[]*string)
DisableImportingDefaultAnyApproverRuleOnCreate() interface{}
SetDisableImportingDefaultAnyApproverRuleOnCreate(val interface{})
DisableImportingDefaultAnyApproverRuleOnCreateInput() interface{}
// Experimental.
ForEach() cdktf.ITerraformIterator
// Experimental.
SetForEach(val cdktf.ITerraformIterator)
// Experimental.
Fqn() *string
// Experimental.
FriendlyUniqueId() *string
GroupIds() *[]*float64
SetGroupIds(val *[]*float64)
GroupIdsInput() *[]*float64
Id() *string
SetId(val *string)
IdInput() *string
// Experimental.
Lifecycle() *cdktf.TerraformResourceLifecycle
// Experimental.
SetLifecycle(val *cdktf.TerraformResourceLifecycle)
Name() *string
SetName(val *string)
NameInput() *string
// The tree node.
Node() constructs.Node
Project() *string
SetProject(val *string)
ProjectInput() *string
ProtectedBranchIds() *[]*float64
SetProtectedBranchIds(val *[]*float64)
ProtectedBranchIdsInput() *[]*float64
// Experimental.
Provider() cdktf.TerraformProvider
// Experimental.
SetProvider(val cdktf.TerraformProvider)
// Experimental.
Provisioners() *[]interface{}
// Experimental.
SetProvisioners(val *[]interface{})
// Experimental.
RawOverrides() interface{}
RuleType() *string
SetRuleType(val *string)
RuleTypeInput() *string
// Experimental.
TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata
// Experimental.
TerraformMetaArguments() *map[string]interface{}
// Experimental.
TerraformResourceType() *string
UserIds() *[]*float64
SetUserIds(val *[]*float64)
UserIdsInput() *[]*float64
// 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)
ResetAppliesToAllProtectedBranches()
ResetDisableImportingDefaultAnyApproverRuleOnCreate()
ResetGroupIds()
ResetId()
// Resets a previously passed logical Id to use the auto-generated logical id again.
// Experimental.
ResetOverrideLogicalId()
ResetProtectedBranchIds()
ResetRuleType()
ResetUserIds()
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.3.0/docs/resources/project_approval_rule gitlab_project_approval_rule}.
func NewProjectApprovalRule ¶
func NewProjectApprovalRule(scope constructs.Construct, id *string, config *ProjectApprovalRuleConfig) ProjectApprovalRule
Create a new {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.3.0/docs/resources/project_approval_rule gitlab_project_approval_rule} Resource.
type ProjectApprovalRuleConfig ¶
type ProjectApprovalRuleConfig 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 number of approvals required for this rule.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.3.0/docs/resources/project_approval_rule#approvals_required ProjectApprovalRule#approvals_required}
ApprovalsRequired *float64 `field:"required" json:"approvalsRequired" yaml:"approvalsRequired"`
// The name of the approval rule.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.3.0/docs/resources/project_approval_rule#name ProjectApprovalRule#name}
Name *string `field:"required" json:"name" yaml:"name"`
// The name or id of the project to add the approval rules.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.3.0/docs/resources/project_approval_rule#project ProjectApprovalRule#project}
Project *string `field:"required" json:"project" yaml:"project"`
// Whether the rule is applied to all protected branches.
//
// If set to 'true', the value of `protected_branch_ids` is ignored. Default is 'false'.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.3.0/docs/resources/project_approval_rule#applies_to_all_protected_branches ProjectApprovalRule#applies_to_all_protected_branches}
AppliesToAllProtectedBranches interface{} `field:"optional" json:"appliesToAllProtectedBranches" yaml:"appliesToAllProtectedBranches"`
// When this flag is set, the default `any_approver` rule will not be imported if present.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.3.0/docs/resources/project_approval_rule#disable_importing_default_any_approver_rule_on_create ProjectApprovalRule#disable_importing_default_any_approver_rule_on_create}
DisableImportingDefaultAnyApproverRuleOnCreate interface{} `field:"optional" json:"disableImportingDefaultAnyApproverRuleOnCreate" yaml:"disableImportingDefaultAnyApproverRuleOnCreate"`
// A list of group IDs whose members can approve of the merge request.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.3.0/docs/resources/project_approval_rule#group_ids ProjectApprovalRule#group_ids}
GroupIds *[]*float64 `field:"optional" json:"groupIds" yaml:"groupIds"`
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.3.0/docs/resources/project_approval_rule#id ProjectApprovalRule#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 protected branch IDs (not branch names) for which the rule applies.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.3.0/docs/resources/project_approval_rule#protected_branch_ids ProjectApprovalRule#protected_branch_ids}
ProtectedBranchIds *[]*float64 `field:"optional" json:"protectedBranchIds" yaml:"protectedBranchIds"`
// String, defaults to 'regular'.
//
// The type of rule. `any_approver` is a pre-configured default rule with `approvals_required` at `0`. Valid values are `regular`, `any_approver`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.3.0/docs/resources/project_approval_rule#rule_type ProjectApprovalRule#rule_type}
RuleType *string `field:"optional" json:"ruleType" yaml:"ruleType"`
// A list of specific User IDs to add to the list of approvers.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.3.0/docs/resources/project_approval_rule#user_ids ProjectApprovalRule#user_ids}
UserIds *[]*float64 `field:"optional" json:"userIds" yaml:"userIds"`
}