Documentation
¶
Index ¶
- func NewProjectPushRulesA_Override(p ProjectPushRulesA, scope constructs.Construct, id *string, ...)
- func ProjectPushRulesA_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, ...) cdktf.ImportableResource
- func ProjectPushRulesA_IsConstruct(x interface{}) *bool
- func ProjectPushRulesA_IsTerraformElement(x interface{}) *bool
- func ProjectPushRulesA_IsTerraformResource(x interface{}) *bool
- func ProjectPushRulesA_TfResourceType() *string
- type ProjectPushRulesA
- type ProjectPushRulesAConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewProjectPushRulesA_Override ¶
func NewProjectPushRulesA_Override(p ProjectPushRulesA, scope constructs.Construct, id *string, config *ProjectPushRulesAConfig)
Create a new {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.1/docs/resources/project_push_rules gitlab_project_push_rules} Resource.
func ProjectPushRulesA_GenerateConfigForImport ¶
func ProjectPushRulesA_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, provider cdktf.TerraformProvider) cdktf.ImportableResource
Generates CDKTF code for importing a ProjectPushRulesA resource upon running "cdktf plan <stack-name>".
func ProjectPushRulesA_IsConstruct ¶
func ProjectPushRulesA_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 ProjectPushRulesA_IsTerraformElement ¶
func ProjectPushRulesA_IsTerraformElement(x interface{}) *bool
Experimental.
func ProjectPushRulesA_IsTerraformResource ¶
func ProjectPushRulesA_IsTerraformResource(x interface{}) *bool
Experimental.
func ProjectPushRulesA_TfResourceType ¶
func ProjectPushRulesA_TfResourceType() *string
Types ¶
type ProjectPushRulesA ¶
type ProjectPushRulesA interface {
cdktf.TerraformResource
AuthorEmailRegex() *string
SetAuthorEmailRegex(val *string)
AuthorEmailRegexInput() *string
BranchNameRegex() *string
SetBranchNameRegex(val *string)
BranchNameRegexInput() *string
// Experimental.
CdktfStack() cdktf.TerraformStack
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
// Experimental.
Connection() interface{}
// Experimental.
SetConnection(val interface{})
// Experimental.
ConstructNodeMetadata() *map[string]interface{}
// Experimental.
Count() interface{}
// Experimental.
SetCount(val interface{})
DenyDeleteTag() interface{}
SetDenyDeleteTag(val interface{})
DenyDeleteTagInput() interface{}
// Experimental.
DependsOn() *[]*string
// Experimental.
SetDependsOn(val *[]*string)
FileNameRegex() *string
SetFileNameRegex(val *string)
FileNameRegexInput() *string
// Experimental.
ForEach() cdktf.ITerraformIterator
// Experimental.
SetForEach(val cdktf.ITerraformIterator)
// Experimental.
Fqn() *string
// Experimental.
FriendlyUniqueId() *string
Id() *string
// Experimental.
Lifecycle() *cdktf.TerraformResourceLifecycle
// Experimental.
SetLifecycle(val *cdktf.TerraformResourceLifecycle)
MaxFileSize() *float64
SetMaxFileSize(val *float64)
MaxFileSizeInput() *float64
MemberCheck() interface{}
SetMemberCheck(val interface{})
MemberCheckInput() interface{}
// The tree node.
Node() constructs.Node
PreventSecrets() interface{}
SetPreventSecrets(val interface{})
PreventSecretsInput() interface{}
Project() *string
SetProject(val *string)
ProjectInput() *string
// Experimental.
Provider() cdktf.TerraformProvider
// Experimental.
SetProvider(val cdktf.TerraformProvider)
// Experimental.
Provisioners() *[]interface{}
// Experimental.
SetProvisioners(val *[]interface{})
// Experimental.
RawOverrides() interface{}
RejectNonDcoCommits() interface{}
SetRejectNonDcoCommits(val interface{})
RejectNonDcoCommitsInput() interface{}
RejectUnsignedCommits() interface{}
SetRejectUnsignedCommits(val interface{})
RejectUnsignedCommitsInput() interface{}
// Experimental.
TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata
// Experimental.
TerraformMetaArguments() *map[string]interface{}
// Experimental.
TerraformResourceType() *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)
ResetAuthorEmailRegex()
ResetBranchNameRegex()
ResetCommitCommitterCheck()
ResetCommitCommitterNameCheck()
ResetCommitMessageNegativeRegex()
ResetCommitMessageRegex()
ResetDenyDeleteTag()
ResetFileNameRegex()
ResetMaxFileSize()
ResetMemberCheck()
// Resets a previously passed logical Id to use the auto-generated logical id again.
// Experimental.
ResetOverrideLogicalId()
ResetPreventSecrets()
ResetRejectNonDcoCommits()
ResetRejectUnsignedCommits()
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.7.1/docs/resources/project_push_rules gitlab_project_push_rules}.
func NewProjectPushRulesA ¶
func NewProjectPushRulesA(scope constructs.Construct, id *string, config *ProjectPushRulesAConfig) ProjectPushRulesA
Create a new {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.1/docs/resources/project_push_rules gitlab_project_push_rules} Resource.
type ProjectPushRulesAConfig ¶
type ProjectPushRulesAConfig 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 ID or URL-encoded path of the project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.1/docs/resources/project_push_rules#project ProjectPushRulesA#project}
Project *string `field:"required" json:"project" yaml:"project"`
// 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.7.1/docs/resources/project_push_rules#author_email_regex ProjectPushRulesA#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.7.1/docs/resources/project_push_rules#branch_name_regex ProjectPushRulesA#branch_name_regex}
BranchNameRegex *string `field:"optional" json:"branchNameRegex" yaml:"branchNameRegex"`
// Users can only push commits to this repository that were committed with one of their own verified emails.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.1/docs/resources/project_push_rules#commit_committer_check ProjectPushRulesA#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.7.1/docs/resources/project_push_rules#commit_committer_name_check ProjectPushRulesA#commit_committer_name_check}
CommitCommitterNameCheck interface{} `field:"optional" json:"commitCommitterNameCheck" yaml:"commitCommitterNameCheck"`
// No commit message is allowed to match this regex, e.g. `ssh\:\/\/`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.1/docs/resources/project_push_rules#commit_message_negative_regex ProjectPushRulesA#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.7.1/docs/resources/project_push_rules#commit_message_regex ProjectPushRulesA#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.7.1/docs/resources/project_push_rules#deny_delete_tag ProjectPushRulesA#deny_delete_tag}
DenyDeleteTag interface{} `field:"optional" json:"denyDeleteTag" yaml:"denyDeleteTag"`
// All committed filenames must not match this regex, e.g. `(jar|exe)$`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.1/docs/resources/project_push_rules#file_name_regex ProjectPushRulesA#file_name_regex}
FileNameRegex *string `field:"optional" json:"fileNameRegex" yaml:"fileNameRegex"`
// Maximum file size (MB).
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.1/docs/resources/project_push_rules#max_file_size ProjectPushRulesA#max_file_size}
MaxFileSize *float64 `field:"optional" json:"maxFileSize" yaml:"maxFileSize"`
// Restrict commits by author (email) to existing GitLab users.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.1/docs/resources/project_push_rules#member_check ProjectPushRulesA#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.7.1/docs/resources/project_push_rules#prevent_secrets ProjectPushRulesA#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.7.1/docs/resources/project_push_rules#reject_non_dco_commits ProjectPushRulesA#reject_non_dco_commits}
RejectNonDcoCommits interface{} `field:"optional" json:"rejectNonDcoCommits" yaml:"rejectNonDcoCommits"`
// Reject commit when it’s not signed.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/gitlabhq/gitlab/17.7.1/docs/resources/project_push_rules#reject_unsigned_commits ProjectPushRulesA#reject_unsigned_commits}
RejectUnsignedCommits interface{} `field:"optional" json:"rejectUnsignedCommits" yaml:"rejectUnsignedCommits"`
}