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.GroupLdapLinkArgs 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.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class GroupLdapLinkArgs extends com.pulumi.resources.ResourceArgs {
public static final GroupLdapLinkArgs Empty = new GroupLdapLinkArgs();
/**
* Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`
*
* @deprecated
* Use `group_access` instead of the `access_level` attribute.
*
*/
@Deprecated /* Use `group_access` instead of the `access_level` attribute. */
@Import(name="accessLevel")
private @Nullable Output accessLevel;
/**
* @return Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`
*
* @deprecated
* Use `group_access` instead of the `access_level` attribute.
*
*/
@Deprecated /* Use `group_access` instead of the `access_level` attribute. */
public Optional> accessLevel() {
return Optional.ofNullable(this.accessLevel);
}
/**
* The CN of the LDAP group to link with. Required if `filter` is not provided.
*
*/
@Import(name="cn")
private @Nullable Output cn;
/**
* @return The CN of the LDAP group to link with. Required if `filter` is not provided.
*
*/
public Optional> cn() {
return Optional.ofNullable(this.cn);
}
/**
* The LDAP filter for the group. Required if `cn` is not provided. Requires GitLab Premium or above.
*
*/
@Import(name="filter")
private @Nullable Output filter;
/**
* @return The LDAP filter for the group. Required if `cn` is not provided. Requires GitLab Premium or above.
*
*/
public Optional> filter() {
return Optional.ofNullable(this.filter);
}
/**
* If true, then delete and replace an existing LDAP link if one exists. Will also remove an LDAP link if the parent group is not found.
*
*/
@Import(name="force")
private @Nullable Output force;
/**
* @return If true, then delete and replace an existing LDAP link if one exists. Will also remove an LDAP link if the parent group is not found.
*
*/
public Optional> force() {
return Optional.ofNullable(this.force);
}
/**
* The ID or URL-encoded path of the group
*
*/
@Import(name="group", required=true)
private Output group;
/**
* @return The ID or URL-encoded path of the group
*
*/
public Output group() {
return this.group;
}
/**
* Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`
*
*/
@Import(name="groupAccess")
private @Nullable Output groupAccess;
/**
* @return Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`
*
*/
public Optional> groupAccess() {
return Optional.ofNullable(this.groupAccess);
}
/**
* The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/ee/administration/raketasks/ldap.html#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain`
*
*/
@Import(name="ldapProvider", required=true)
private Output ldapProvider;
/**
* @return The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/ee/administration/raketasks/ldap.html#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain`
*
*/
public Output ldapProvider() {
return this.ldapProvider;
}
private GroupLdapLinkArgs() {}
private GroupLdapLinkArgs(GroupLdapLinkArgs $) {
this.accessLevel = $.accessLevel;
this.cn = $.cn;
this.filter = $.filter;
this.force = $.force;
this.group = $.group;
this.groupAccess = $.groupAccess;
this.ldapProvider = $.ldapProvider;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GroupLdapLinkArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private GroupLdapLinkArgs $;
public Builder() {
$ = new GroupLdapLinkArgs();
}
public Builder(GroupLdapLinkArgs defaults) {
$ = new GroupLdapLinkArgs(Objects.requireNonNull(defaults));
}
/**
* @param accessLevel Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`
*
* @return builder
*
* @deprecated
* Use `group_access` instead of the `access_level` attribute.
*
*/
@Deprecated /* Use `group_access` instead of the `access_level` attribute. */
public Builder accessLevel(@Nullable Output accessLevel) {
$.accessLevel = accessLevel;
return this;
}
/**
* @param accessLevel Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`
*
* @return builder
*
* @deprecated
* Use `group_access` instead of the `access_level` attribute.
*
*/
@Deprecated /* Use `group_access` instead of the `access_level` attribute. */
public Builder accessLevel(String accessLevel) {
return accessLevel(Output.of(accessLevel));
}
/**
* @param cn The CN of the LDAP group to link with. Required if `filter` is not provided.
*
* @return builder
*
*/
public Builder cn(@Nullable Output cn) {
$.cn = cn;
return this;
}
/**
* @param cn The CN of the LDAP group to link with. Required if `filter` is not provided.
*
* @return builder
*
*/
public Builder cn(String cn) {
return cn(Output.of(cn));
}
/**
* @param filter The LDAP filter for the group. Required if `cn` is not provided. Requires GitLab Premium or above.
*
* @return builder
*
*/
public Builder filter(@Nullable Output filter) {
$.filter = filter;
return this;
}
/**
* @param filter The LDAP filter for the group. Required if `cn` is not provided. Requires GitLab Premium or above.
*
* @return builder
*
*/
public Builder filter(String filter) {
return filter(Output.of(filter));
}
/**
* @param force If true, then delete and replace an existing LDAP link if one exists. Will also remove an LDAP link if the parent group is not found.
*
* @return builder
*
*/
public Builder force(@Nullable Output force) {
$.force = force;
return this;
}
/**
* @param force If true, then delete and replace an existing LDAP link if one exists. Will also remove an LDAP link if the parent group is not found.
*
* @return builder
*
*/
public Builder force(Boolean force) {
return force(Output.of(force));
}
/**
* @param group The ID or URL-encoded path of the group
*
* @return builder
*
*/
public Builder group(Output group) {
$.group = group;
return this;
}
/**
* @param group The ID or URL-encoded path of the group
*
* @return builder
*
*/
public Builder group(String group) {
return group(Output.of(group));
}
/**
* @param groupAccess Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`
*
* @return builder
*
*/
public Builder groupAccess(@Nullable Output groupAccess) {
$.groupAccess = groupAccess;
return this;
}
/**
* @param groupAccess Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`
*
* @return builder
*
*/
public Builder groupAccess(String groupAccess) {
return groupAccess(Output.of(groupAccess));
}
/**
* @param ldapProvider The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/ee/administration/raketasks/ldap.html#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain`
*
* @return builder
*
*/
public Builder ldapProvider(Output ldapProvider) {
$.ldapProvider = ldapProvider;
return this;
}
/**
* @param ldapProvider The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/ee/administration/raketasks/ldap.html#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain`
*
* @return builder
*
*/
public Builder ldapProvider(String ldapProvider) {
return ldapProvider(Output.of(ldapProvider));
}
public GroupLdapLinkArgs build() {
if ($.group == null) {
throw new MissingRequiredPropertyException("GroupLdapLinkArgs", "group");
}
if ($.ldapProvider == null) {
throw new MissingRequiredPropertyException("GroupLdapLinkArgs", "ldapProvider");
}
return $;
}
}
}