gitlab.GroupProtectedEnvironment
Explore with Pulumi AI
The gitlab.GroupProtectedEnvironment
resource allows to manage the lifecycle of a protected environment in a group.
In order to use a user_id in the
deploy_access_levels
configuration, you need to make sure that users have access to the group with Maintainer role or higher. In order to use a group_id in thedeploy_access_levels
configuration, the group_id must be a sub-group under the given group.
Upstream API: GitLab REST API docs
Create GroupProtectedEnvironment Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new GroupProtectedEnvironment(name: string, args: GroupProtectedEnvironmentArgs, opts?: CustomResourceOptions);
@overload
def GroupProtectedEnvironment(resource_name: str,
args: GroupProtectedEnvironmentArgs,
opts: Optional[ResourceOptions] = None)
@overload
def GroupProtectedEnvironment(resource_name: str,
opts: Optional[ResourceOptions] = None,
deploy_access_levels: Optional[Sequence[GroupProtectedEnvironmentDeployAccessLevelArgs]] = None,
environment: Optional[str] = None,
group: Optional[str] = None,
approval_rules: Optional[Sequence[GroupProtectedEnvironmentApprovalRuleArgs]] = None)
func NewGroupProtectedEnvironment(ctx *Context, name string, args GroupProtectedEnvironmentArgs, opts ...ResourceOption) (*GroupProtectedEnvironment, error)
public GroupProtectedEnvironment(string name, GroupProtectedEnvironmentArgs args, CustomResourceOptions? opts = null)
public GroupProtectedEnvironment(String name, GroupProtectedEnvironmentArgs args)
public GroupProtectedEnvironment(String name, GroupProtectedEnvironmentArgs args, CustomResourceOptions options)
type: gitlab:GroupProtectedEnvironment
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args GroupProtectedEnvironmentArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args GroupProtectedEnvironmentArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args GroupProtectedEnvironmentArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args GroupProtectedEnvironmentArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args GroupProtectedEnvironmentArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var groupProtectedEnvironmentResource = new GitLab.GroupProtectedEnvironment("groupProtectedEnvironmentResource", new()
{
DeployAccessLevels = new[]
{
new GitLab.Inputs.GroupProtectedEnvironmentDeployAccessLevelArgs
{
AccessLevel = "string",
AccessLevelDescription = "string",
GroupId = 0,
GroupInheritanceType = 0,
Id = 0,
UserId = 0,
},
},
Environment = "string",
Group = "string",
ApprovalRules = new[]
{
new GitLab.Inputs.GroupProtectedEnvironmentApprovalRuleArgs
{
AccessLevel = "string",
AccessLevelDescription = "string",
GroupId = 0,
GroupInheritanceType = 0,
Id = 0,
RequiredApprovals = 0,
UserId = 0,
},
},
});
example, err := gitlab.NewGroupProtectedEnvironment(ctx, "groupProtectedEnvironmentResource", &gitlab.GroupProtectedEnvironmentArgs{
DeployAccessLevels: gitlab.GroupProtectedEnvironmentDeployAccessLevelArray{
&gitlab.GroupProtectedEnvironmentDeployAccessLevelArgs{
AccessLevel: pulumi.String("string"),
AccessLevelDescription: pulumi.String("string"),
GroupId: pulumi.Int(0),
GroupInheritanceType: pulumi.Int(0),
Id: pulumi.Int(0),
UserId: pulumi.Int(0),
},
},
Environment: pulumi.String("string"),
Group: pulumi.String("string"),
ApprovalRules: gitlab.GroupProtectedEnvironmentApprovalRuleArray{
&gitlab.GroupProtectedEnvironmentApprovalRuleArgs{
AccessLevel: pulumi.String("string"),
AccessLevelDescription: pulumi.String("string"),
GroupId: pulumi.Int(0),
GroupInheritanceType: pulumi.Int(0),
Id: pulumi.Int(0),
RequiredApprovals: pulumi.Int(0),
UserId: pulumi.Int(0),
},
},
})
var groupProtectedEnvironmentResource = new GroupProtectedEnvironment("groupProtectedEnvironmentResource", GroupProtectedEnvironmentArgs.builder()
.deployAccessLevels(GroupProtectedEnvironmentDeployAccessLevelArgs.builder()
.accessLevel("string")
.accessLevelDescription("string")
.groupId(0)
.groupInheritanceType(0)
.id(0)
.userId(0)
.build())
.environment("string")
.group("string")
.approvalRules(GroupProtectedEnvironmentApprovalRuleArgs.builder()
.accessLevel("string")
.accessLevelDescription("string")
.groupId(0)
.groupInheritanceType(0)
.id(0)
.requiredApprovals(0)
.userId(0)
.build())
.build());
group_protected_environment_resource = gitlab.GroupProtectedEnvironment("groupProtectedEnvironmentResource",
deploy_access_levels=[gitlab.GroupProtectedEnvironmentDeployAccessLevelArgs(
access_level="string",
access_level_description="string",
group_id=0,
group_inheritance_type=0,
id=0,
user_id=0,
)],
environment="string",
group="string",
approval_rules=[gitlab.GroupProtectedEnvironmentApprovalRuleArgs(
access_level="string",
access_level_description="string",
group_id=0,
group_inheritance_type=0,
id=0,
required_approvals=0,
user_id=0,
)])
const groupProtectedEnvironmentResource = new gitlab.GroupProtectedEnvironment("groupProtectedEnvironmentResource", {
deployAccessLevels: [{
accessLevel: "string",
accessLevelDescription: "string",
groupId: 0,
groupInheritanceType: 0,
id: 0,
userId: 0,
}],
environment: "string",
group: "string",
approvalRules: [{
accessLevel: "string",
accessLevelDescription: "string",
groupId: 0,
groupInheritanceType: 0,
id: 0,
requiredApprovals: 0,
userId: 0,
}],
});
type: gitlab:GroupProtectedEnvironment
properties:
approvalRules:
- accessLevel: string
accessLevelDescription: string
groupId: 0
groupInheritanceType: 0
id: 0
requiredApprovals: 0
userId: 0
deployAccessLevels:
- accessLevel: string
accessLevelDescription: string
groupId: 0
groupInheritanceType: 0
id: 0
userId: 0
environment: string
group: string
GroupProtectedEnvironment Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The GroupProtectedEnvironment resource accepts the following input properties:
- Deploy
Access List<Pulumi.Levels Git Lab. Inputs. Group Protected Environment Deploy Access Level> - Array of access levels allowed to deploy, with each described by a hash.
- Environment string
- The deployment tier of the environment. Valid values are
production
,staging
,testing
,development
,other
. - Group string
- The ID or full path of the group which the protected environment is created against.
- Approval
Rules List<Pulumi.Git Lab. Inputs. Group Protected Environment Approval Rule> - Array of approval rules to deploy, with each described by a hash.
- Deploy
Access []GroupLevels Protected Environment Deploy Access Level Args - Array of access levels allowed to deploy, with each described by a hash.
- Environment string
- The deployment tier of the environment. Valid values are
production
,staging
,testing
,development
,other
. - Group string
- The ID or full path of the group which the protected environment is created against.
- Approval
Rules []GroupProtected Environment Approval Rule Args - Array of approval rules to deploy, with each described by a hash.
- deploy
Access List<GroupLevels Protected Environment Deploy Access Level> - Array of access levels allowed to deploy, with each described by a hash.
- environment String
- The deployment tier of the environment. Valid values are
production
,staging
,testing
,development
,other
. - group String
- The ID or full path of the group which the protected environment is created against.
- approval
Rules List<GroupProtected Environment Approval Rule> - Array of approval rules to deploy, with each described by a hash.
- deploy
Access GroupLevels Protected Environment Deploy Access Level[] - Array of access levels allowed to deploy, with each described by a hash.
- environment string
- The deployment tier of the environment. Valid values are
production
,staging
,testing
,development
,other
. - group string
- The ID or full path of the group which the protected environment is created against.
- approval
Rules GroupProtected Environment Approval Rule[] - Array of approval rules to deploy, with each described by a hash.
- deploy_
access_ Sequence[Grouplevels Protected Environment Deploy Access Level Args] - Array of access levels allowed to deploy, with each described by a hash.
- environment str
- The deployment tier of the environment. Valid values are
production
,staging
,testing
,development
,other
. - group str
- The ID or full path of the group which the protected environment is created against.
- approval_
rules Sequence[GroupProtected Environment Approval Rule Args] - Array of approval rules to deploy, with each described by a hash.
- deploy
Access List<Property Map>Levels - Array of access levels allowed to deploy, with each described by a hash.
- environment String
- The deployment tier of the environment. Valid values are
production
,staging
,testing
,development
,other
. - group String
- The ID or full path of the group which the protected environment is created against.
- approval
Rules List<Property Map> - Array of approval rules to deploy, with each described by a hash.
Outputs
All input properties are implicitly available as output properties. Additionally, the GroupProtectedEnvironment resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing GroupProtectedEnvironment Resource
Get an existing GroupProtectedEnvironment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: GroupProtectedEnvironmentState, opts?: CustomResourceOptions): GroupProtectedEnvironment
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
approval_rules: Optional[Sequence[GroupProtectedEnvironmentApprovalRuleArgs]] = None,
deploy_access_levels: Optional[Sequence[GroupProtectedEnvironmentDeployAccessLevelArgs]] = None,
environment: Optional[str] = None,
group: Optional[str] = None) -> GroupProtectedEnvironment
func GetGroupProtectedEnvironment(ctx *Context, name string, id IDInput, state *GroupProtectedEnvironmentState, opts ...ResourceOption) (*GroupProtectedEnvironment, error)
public static GroupProtectedEnvironment Get(string name, Input<string> id, GroupProtectedEnvironmentState? state, CustomResourceOptions? opts = null)
public static GroupProtectedEnvironment get(String name, Output<String> id, GroupProtectedEnvironmentState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Approval
Rules List<Pulumi.Git Lab. Inputs. Group Protected Environment Approval Rule> - Array of approval rules to deploy, with each described by a hash.
- Deploy
Access List<Pulumi.Levels Git Lab. Inputs. Group Protected Environment Deploy Access Level> - Array of access levels allowed to deploy, with each described by a hash.
- Environment string
- The deployment tier of the environment. Valid values are
production
,staging
,testing
,development
,other
. - Group string
- The ID or full path of the group which the protected environment is created against.
- Approval
Rules []GroupProtected Environment Approval Rule Args - Array of approval rules to deploy, with each described by a hash.
- Deploy
Access []GroupLevels Protected Environment Deploy Access Level Args - Array of access levels allowed to deploy, with each described by a hash.
- Environment string
- The deployment tier of the environment. Valid values are
production
,staging
,testing
,development
,other
. - Group string
- The ID or full path of the group which the protected environment is created against.
- approval
Rules List<GroupProtected Environment Approval Rule> - Array of approval rules to deploy, with each described by a hash.
- deploy
Access List<GroupLevels Protected Environment Deploy Access Level> - Array of access levels allowed to deploy, with each described by a hash.
- environment String
- The deployment tier of the environment. Valid values are
production
,staging
,testing
,development
,other
. - group String
- The ID or full path of the group which the protected environment is created against.
- approval
Rules GroupProtected Environment Approval Rule[] - Array of approval rules to deploy, with each described by a hash.
- deploy
Access GroupLevels Protected Environment Deploy Access Level[] - Array of access levels allowed to deploy, with each described by a hash.
- environment string
- The deployment tier of the environment. Valid values are
production
,staging
,testing
,development
,other
. - group string
- The ID or full path of the group which the protected environment is created against.
- approval_
rules Sequence[GroupProtected Environment Approval Rule Args] - Array of approval rules to deploy, with each described by a hash.
- deploy_
access_ Sequence[Grouplevels Protected Environment Deploy Access Level Args] - Array of access levels allowed to deploy, with each described by a hash.
- environment str
- The deployment tier of the environment. Valid values are
production
,staging
,testing
,development
,other
. - group str
- The ID or full path of the group which the protected environment is created against.
- approval
Rules List<Property Map> - Array of approval rules to deploy, with each described by a hash.
- deploy
Access List<Property Map>Levels - Array of access levels allowed to deploy, with each described by a hash.
- environment String
- The deployment tier of the environment. Valid values are
production
,staging
,testing
,development
,other
. - group String
- The ID or full path of the group which the protected environment is created against.
Supporting Types
GroupProtectedEnvironmentApprovalRule, GroupProtectedEnvironmentApprovalRuleArgs
- Access
Level string - Levels of access allowed to approve a deployment to this protected environment. Valid values are
developer
,maintainer
. - Access
Level stringDescription - Readable description of level of access.
- Group
Id int - The ID of the group allowed to approve a deployment to this protected environment. TThe group must be a sub-group under the given group. This is mutually exclusive with user_id.
- Group
Inheritance intType - Group inheritance allows access rules to take inherited group membership into account. Valid values are
0
,1
.0
=> Direct group membership only,1
=> All inherited groups. Default:0
- Id int
- The unique ID of the Approval Rules object.
- Required
Approvals int - The number of approval required to allow deployment to this protected environment. This is mutually exclusive with user_id.
- User
Id int - The ID of the user allowed to approve a deployment to this protected environment. The user must be a member of the group with Maintainer role or higher. This is mutually exclusive with groupid and requiredapprovals.
- Access
Level string - Levels of access allowed to approve a deployment to this protected environment. Valid values are
developer
,maintainer
. - Access
Level stringDescription - Readable description of level of access.
- Group
Id int - The ID of the group allowed to approve a deployment to this protected environment. TThe group must be a sub-group under the given group. This is mutually exclusive with user_id.
- Group
Inheritance intType - Group inheritance allows access rules to take inherited group membership into account. Valid values are
0
,1
.0
=> Direct group membership only,1
=> All inherited groups. Default:0
- Id int
- The unique ID of the Approval Rules object.
- Required
Approvals int - The number of approval required to allow deployment to this protected environment. This is mutually exclusive with user_id.
- User
Id int - The ID of the user allowed to approve a deployment to this protected environment. The user must be a member of the group with Maintainer role or higher. This is mutually exclusive with groupid and requiredapprovals.
- access
Level String - Levels of access allowed to approve a deployment to this protected environment. Valid values are
developer
,maintainer
. - access
Level StringDescription - Readable description of level of access.
- group
Id Integer - The ID of the group allowed to approve a deployment to this protected environment. TThe group must be a sub-group under the given group. This is mutually exclusive with user_id.
- group
Inheritance IntegerType - Group inheritance allows access rules to take inherited group membership into account. Valid values are
0
,1
.0
=> Direct group membership only,1
=> All inherited groups. Default:0
- id Integer
- The unique ID of the Approval Rules object.
- required
Approvals Integer - The number of approval required to allow deployment to this protected environment. This is mutually exclusive with user_id.
- user
Id Integer - The ID of the user allowed to approve a deployment to this protected environment. The user must be a member of the group with Maintainer role or higher. This is mutually exclusive with groupid and requiredapprovals.
- access
Level string - Levels of access allowed to approve a deployment to this protected environment. Valid values are
developer
,maintainer
. - access
Level stringDescription - Readable description of level of access.
- group
Id number - The ID of the group allowed to approve a deployment to this protected environment. TThe group must be a sub-group under the given group. This is mutually exclusive with user_id.
- group
Inheritance numberType - Group inheritance allows access rules to take inherited group membership into account. Valid values are
0
,1
.0
=> Direct group membership only,1
=> All inherited groups. Default:0
- id number
- The unique ID of the Approval Rules object.
- required
Approvals number - The number of approval required to allow deployment to this protected environment. This is mutually exclusive with user_id.
- user
Id number - The ID of the user allowed to approve a deployment to this protected environment. The user must be a member of the group with Maintainer role or higher. This is mutually exclusive with groupid and requiredapprovals.
- access_
level str - Levels of access allowed to approve a deployment to this protected environment. Valid values are
developer
,maintainer
. - access_
level_ strdescription - Readable description of level of access.
- group_
id int - The ID of the group allowed to approve a deployment to this protected environment. TThe group must be a sub-group under the given group. This is mutually exclusive with user_id.
- group_
inheritance_ inttype - Group inheritance allows access rules to take inherited group membership into account. Valid values are
0
,1
.0
=> Direct group membership only,1
=> All inherited groups. Default:0
- id int
- The unique ID of the Approval Rules object.
- required_
approvals int - The number of approval required to allow deployment to this protected environment. This is mutually exclusive with user_id.
- user_
id int - The ID of the user allowed to approve a deployment to this protected environment. The user must be a member of the group with Maintainer role or higher. This is mutually exclusive with groupid and requiredapprovals.
- access
Level String - Levels of access allowed to approve a deployment to this protected environment. Valid values are
developer
,maintainer
. - access
Level StringDescription - Readable description of level of access.
- group
Id Number - The ID of the group allowed to approve a deployment to this protected environment. TThe group must be a sub-group under the given group. This is mutually exclusive with user_id.
- group
Inheritance NumberType - Group inheritance allows access rules to take inherited group membership into account. Valid values are
0
,1
.0
=> Direct group membership only,1
=> All inherited groups. Default:0
- id Number
- The unique ID of the Approval Rules object.
- required
Approvals Number - The number of approval required to allow deployment to this protected environment. This is mutually exclusive with user_id.
- user
Id Number - The ID of the user allowed to approve a deployment to this protected environment. The user must be a member of the group with Maintainer role or higher. This is mutually exclusive with groupid and requiredapprovals.
GroupProtectedEnvironmentDeployAccessLevel, GroupProtectedEnvironmentDeployAccessLevelArgs
- Access
Level string - Levels of access required to deploy to this protected environment. Valid values are
developer
,maintainer
. - Access
Level stringDescription - Readable description of level of access.
- Group
Id int - The ID of the group allowed to deploy to this protected environment. The group must be a sub-group under the given group.
- Group
Inheritance intType - Group inheritance allows deploy access levels to take inherited group membership into account. Valid values are
0
,1
.0
=> Direct group membership only,1
=> All inherited groups. Default:0
- Id int
- The unique ID of the Deploy Access Level object.
- User
Id int - The ID of the user allowed to deploy to this protected environment. The user must be a member of the group with Maintainer role or higher.
- Access
Level string - Levels of access required to deploy to this protected environment. Valid values are
developer
,maintainer
. - Access
Level stringDescription - Readable description of level of access.
- Group
Id int - The ID of the group allowed to deploy to this protected environment. The group must be a sub-group under the given group.
- Group
Inheritance intType - Group inheritance allows deploy access levels to take inherited group membership into account. Valid values are
0
,1
.0
=> Direct group membership only,1
=> All inherited groups. Default:0
- Id int
- The unique ID of the Deploy Access Level object.
- User
Id int - The ID of the user allowed to deploy to this protected environment. The user must be a member of the group with Maintainer role or higher.
- access
Level String - Levels of access required to deploy to this protected environment. Valid values are
developer
,maintainer
. - access
Level StringDescription - Readable description of level of access.
- group
Id Integer - The ID of the group allowed to deploy to this protected environment. The group must be a sub-group under the given group.
- group
Inheritance IntegerType - Group inheritance allows deploy access levels to take inherited group membership into account. Valid values are
0
,1
.0
=> Direct group membership only,1
=> All inherited groups. Default:0
- id Integer
- The unique ID of the Deploy Access Level object.
- user
Id Integer - The ID of the user allowed to deploy to this protected environment. The user must be a member of the group with Maintainer role or higher.
- access
Level string - Levels of access required to deploy to this protected environment. Valid values are
developer
,maintainer
. - access
Level stringDescription - Readable description of level of access.
- group
Id number - The ID of the group allowed to deploy to this protected environment. The group must be a sub-group under the given group.
- group
Inheritance numberType - Group inheritance allows deploy access levels to take inherited group membership into account. Valid values are
0
,1
.0
=> Direct group membership only,1
=> All inherited groups. Default:0
- id number
- The unique ID of the Deploy Access Level object.
- user
Id number - The ID of the user allowed to deploy to this protected environment. The user must be a member of the group with Maintainer role or higher.
- access_
level str - Levels of access required to deploy to this protected environment. Valid values are
developer
,maintainer
. - access_
level_ strdescription - Readable description of level of access.
- group_
id int - The ID of the group allowed to deploy to this protected environment. The group must be a sub-group under the given group.
- group_
inheritance_ inttype - Group inheritance allows deploy access levels to take inherited group membership into account. Valid values are
0
,1
.0
=> Direct group membership only,1
=> All inherited groups. Default:0
- id int
- The unique ID of the Deploy Access Level object.
- user_
id int - The ID of the user allowed to deploy to this protected environment. The user must be a member of the group with Maintainer role or higher.
- access
Level String - Levels of access required to deploy to this protected environment. Valid values are
developer
,maintainer
. - access
Level StringDescription - Readable description of level of access.
- group
Id Number - The ID of the group allowed to deploy to this protected environment. The group must be a sub-group under the given group.
- group
Inheritance NumberType - Group inheritance allows deploy access levels to take inherited group membership into account. Valid values are
0
,1
.0
=> Direct group membership only,1
=> All inherited groups. Default:0
- id Number
- The unique ID of the Deploy Access Level object.
- user
Id Number - The ID of the user allowed to deploy to this protected environment. The user must be a member of the group with Maintainer role or higher.
Import
GitLab group protected environments can be imported using an id made up of groupId:environmentName
, e.g.
$ pulumi import gitlab:index/groupProtectedEnvironment:GroupProtectedEnvironment bar 123:production
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- GitLab pulumi/pulumi-gitlab
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
gitlab
Terraform Provider.