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.GroupShareGroupArgs 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.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class GroupShareGroupArgs extends com.pulumi.resources.ResourceArgs {
public static final GroupShareGroupArgs Empty = new GroupShareGroupArgs();
/**
* Share expiration date. Format: `YYYY-MM-DD`
*
*/
@Import(name="expiresAt")
private @Nullable Output expiresAt;
/**
* @return Share expiration date. Format: `YYYY-MM-DD`
*
*/
public Optional> expiresAt() {
return Optional.ofNullable(this.expiresAt);
}
/**
* The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`
*
*/
@Import(name="groupAccess", required=true)
private Output groupAccess;
/**
* @return The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`
*
*/
public Output groupAccess() {
return this.groupAccess;
}
/**
* The id of the main group to be shared.
*
*/
@Import(name="groupId", required=true)
private Output groupId;
/**
* @return The id of the main group to be shared.
*
*/
public Output groupId() {
return this.groupId;
}
/**
* The id of the additional group with which the main group will be shared.
*
*/
@Import(name="shareGroupId", required=true)
private Output shareGroupId;
/**
* @return The id of the additional group with which the main group will be shared.
*
*/
public Output shareGroupId() {
return this.shareGroupId;
}
private GroupShareGroupArgs() {}
private GroupShareGroupArgs(GroupShareGroupArgs $) {
this.expiresAt = $.expiresAt;
this.groupAccess = $.groupAccess;
this.groupId = $.groupId;
this.shareGroupId = $.shareGroupId;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GroupShareGroupArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private GroupShareGroupArgs $;
public Builder() {
$ = new GroupShareGroupArgs();
}
public Builder(GroupShareGroupArgs defaults) {
$ = new GroupShareGroupArgs(Objects.requireNonNull(defaults));
}
/**
* @param expiresAt Share expiration date. Format: `YYYY-MM-DD`
*
* @return builder
*
*/
public Builder expiresAt(@Nullable Output expiresAt) {
$.expiresAt = expiresAt;
return this;
}
/**
* @param expiresAt Share expiration date. Format: `YYYY-MM-DD`
*
* @return builder
*
*/
public Builder expiresAt(String expiresAt) {
return expiresAt(Output.of(expiresAt));
}
/**
* @param groupAccess The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`
*
* @return builder
*
*/
public Builder groupAccess(Output groupAccess) {
$.groupAccess = groupAccess;
return this;
}
/**
* @param groupAccess The access level to grant the 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 groupId The id of the main group to be shared.
*
* @return builder
*
*/
public Builder groupId(Output groupId) {
$.groupId = groupId;
return this;
}
/**
* @param groupId The id of the main group to be shared.
*
* @return builder
*
*/
public Builder groupId(String groupId) {
return groupId(Output.of(groupId));
}
/**
* @param shareGroupId The id of the additional group with which the main group will be shared.
*
* @return builder
*
*/
public Builder shareGroupId(Output shareGroupId) {
$.shareGroupId = shareGroupId;
return this;
}
/**
* @param shareGroupId The id of the additional group with which the main group will be shared.
*
* @return builder
*
*/
public Builder shareGroupId(Integer shareGroupId) {
return shareGroupId(Output.of(shareGroupId));
}
public GroupShareGroupArgs build() {
if ($.groupAccess == null) {
throw new MissingRequiredPropertyException("GroupShareGroupArgs", "groupAccess");
}
if ($.groupId == null) {
throw new MissingRequiredPropertyException("GroupShareGroupArgs", "groupId");
}
if ($.shareGroupId == null) {
throw new MissingRequiredPropertyException("GroupShareGroupArgs", "shareGroupId");
}
return $;
}
}
}