All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.gitlab.GroupMembershipArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing GitLab resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.gitlab;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class GroupMembershipArgs extends com.pulumi.resources.ResourceArgs {
public static final GroupMembershipArgs Empty = new GroupMembershipArgs();
/**
* Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`.
*
*/
@Import(name="accessLevel", required=true)
private Output accessLevel;
/**
* @return Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`.
*
*/
public Output accessLevel() {
return this.accessLevel;
}
/**
* Expiration date for the group membership. Format: `YYYY-MM-DD`
*
*/
@Import(name="expiresAt")
private @Nullable Output expiresAt;
/**
* @return Expiration date for the group membership. Format: `YYYY-MM-DD`
*
*/
public Optional> expiresAt() {
return Optional.ofNullable(this.expiresAt);
}
/**
* The id of the group.
*
*/
@Import(name="groupId", required=true)
private Output groupId;
/**
* @return The id of the group.
*
*/
public Output groupId() {
return this.groupId;
}
/**
* The ID of a custom member role. Only available for Ultimate instances.
*
*/
@Import(name="memberRoleId")
private @Nullable Output memberRoleId;
/**
* @return The ID of a custom member role. Only available for Ultimate instances.
*
*/
public Optional> memberRoleId() {
return Optional.ofNullable(this.memberRoleId);
}
/**
* Whether the deletion of direct memberships of the removed member in subgroups and projects should be skipped. Only used during a destroy.
*
*/
@Import(name="skipSubresourcesOnDestroy")
private @Nullable Output skipSubresourcesOnDestroy;
/**
* @return Whether the deletion of direct memberships of the removed member in subgroups and projects should be skipped. Only used during a destroy.
*
*/
public Optional> skipSubresourcesOnDestroy() {
return Optional.ofNullable(this.skipSubresourcesOnDestroy);
}
/**
* Whether the removed member should be unassigned from any issues or merge requests inside a given group or project. Only used during a destroy.
*
*/
@Import(name="unassignIssuablesOnDestroy")
private @Nullable Output unassignIssuablesOnDestroy;
/**
* @return Whether the removed member should be unassigned from any issues or merge requests inside a given group or project. Only used during a destroy.
*
*/
public Optional> unassignIssuablesOnDestroy() {
return Optional.ofNullable(this.unassignIssuablesOnDestroy);
}
/**
* The id of the user.
*
*/
@Import(name="userId", required=true)
private Output userId;
/**
* @return The id of the user.
*
*/
public Output userId() {
return this.userId;
}
private GroupMembershipArgs() {}
private GroupMembershipArgs(GroupMembershipArgs $) {
this.accessLevel = $.accessLevel;
this.expiresAt = $.expiresAt;
this.groupId = $.groupId;
this.memberRoleId = $.memberRoleId;
this.skipSubresourcesOnDestroy = $.skipSubresourcesOnDestroy;
this.unassignIssuablesOnDestroy = $.unassignIssuablesOnDestroy;
this.userId = $.userId;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GroupMembershipArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private GroupMembershipArgs $;
public Builder() {
$ = new GroupMembershipArgs();
}
public Builder(GroupMembershipArgs defaults) {
$ = new GroupMembershipArgs(Objects.requireNonNull(defaults));
}
/**
* @param accessLevel Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`.
*
* @return builder
*
*/
public Builder accessLevel(Output accessLevel) {
$.accessLevel = accessLevel;
return this;
}
/**
* @param accessLevel Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`.
*
* @return builder
*
*/
public Builder accessLevel(String accessLevel) {
return accessLevel(Output.of(accessLevel));
}
/**
* @param expiresAt Expiration date for the group membership. Format: `YYYY-MM-DD`
*
* @return builder
*
*/
public Builder expiresAt(@Nullable Output expiresAt) {
$.expiresAt = expiresAt;
return this;
}
/**
* @param expiresAt Expiration date for the group membership. Format: `YYYY-MM-DD`
*
* @return builder
*
*/
public Builder expiresAt(String expiresAt) {
return expiresAt(Output.of(expiresAt));
}
/**
* @param groupId The id of the group.
*
* @return builder
*
*/
public Builder groupId(Output groupId) {
$.groupId = groupId;
return this;
}
/**
* @param groupId The id of the group.
*
* @return builder
*
*/
public Builder groupId(String groupId) {
return groupId(Output.of(groupId));
}
/**
* @param memberRoleId The ID of a custom member role. Only available for Ultimate instances.
*
* @return builder
*
*/
public Builder memberRoleId(@Nullable Output memberRoleId) {
$.memberRoleId = memberRoleId;
return this;
}
/**
* @param memberRoleId The ID of a custom member role. Only available for Ultimate instances.
*
* @return builder
*
*/
public Builder memberRoleId(Integer memberRoleId) {
return memberRoleId(Output.of(memberRoleId));
}
/**
* @param skipSubresourcesOnDestroy Whether the deletion of direct memberships of the removed member in subgroups and projects should be skipped. Only used during a destroy.
*
* @return builder
*
*/
public Builder skipSubresourcesOnDestroy(@Nullable Output skipSubresourcesOnDestroy) {
$.skipSubresourcesOnDestroy = skipSubresourcesOnDestroy;
return this;
}
/**
* @param skipSubresourcesOnDestroy Whether the deletion of direct memberships of the removed member in subgroups and projects should be skipped. Only used during a destroy.
*
* @return builder
*
*/
public Builder skipSubresourcesOnDestroy(Boolean skipSubresourcesOnDestroy) {
return skipSubresourcesOnDestroy(Output.of(skipSubresourcesOnDestroy));
}
/**
* @param unassignIssuablesOnDestroy Whether the removed member should be unassigned from any issues or merge requests inside a given group or project. Only used during a destroy.
*
* @return builder
*
*/
public Builder unassignIssuablesOnDestroy(@Nullable Output unassignIssuablesOnDestroy) {
$.unassignIssuablesOnDestroy = unassignIssuablesOnDestroy;
return this;
}
/**
* @param unassignIssuablesOnDestroy Whether the removed member should be unassigned from any issues or merge requests inside a given group or project. Only used during a destroy.
*
* @return builder
*
*/
public Builder unassignIssuablesOnDestroy(Boolean unassignIssuablesOnDestroy) {
return unassignIssuablesOnDestroy(Output.of(unassignIssuablesOnDestroy));
}
/**
* @param userId The id of the user.
*
* @return builder
*
*/
public Builder userId(Output userId) {
$.userId = userId;
return this;
}
/**
* @param userId The id of the user.
*
* @return builder
*
*/
public Builder userId(Integer userId) {
return userId(Output.of(userId));
}
public GroupMembershipArgs build() {
if ($.accessLevel == null) {
throw new MissingRequiredPropertyException("GroupMembershipArgs", "accessLevel");
}
if ($.groupId == null) {
throw new MissingRequiredPropertyException("GroupMembershipArgs", "groupId");
}
if ($.userId == null) {
throw new MissingRequiredPropertyException("GroupMembershipArgs", "userId");
}
return $;
}
}
}