com.pulumi.gitlab.ProjectLevelNotifications Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gitlab Show documentation
Show all versions of gitlab Show documentation
A Pulumi package for creating and managing GitLab resources.
The newest version!
// *** 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.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import com.pulumi.gitlab.ProjectLevelNotificationsArgs;
import com.pulumi.gitlab.Utilities;
import com.pulumi.gitlab.inputs.ProjectLevelNotificationsState;
import java.lang.Boolean;
import java.lang.String;
import javax.annotation.Nullable;
/**
* The `gitlab.ProjectLevelNotifications` resource allows to manage notifications for a project.
*
* > While the API supports both groups and projects, this resource only supports projects currently.
*
* **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/notification_settings.html#group--project-level-notification-settings)
*
*/
@ResourceType(type="gitlab:index/projectLevelNotifications:ProjectLevelNotifications")
public class ProjectLevelNotifications extends com.pulumi.resources.CustomResource {
/**
* Enable notifications for closed issues. Can only be used when `level` is `custom`.
*
*/
@Export(name="closeIssue", refs={Boolean.class}, tree="[0]")
private Output closeIssue;
/**
* @return Enable notifications for closed issues. Can only be used when `level` is `custom`.
*
*/
public Output closeIssue() {
return this.closeIssue;
}
/**
* Enable notifications for closed merge requests. Can only be used when `level` is `custom`.
*
*/
@Export(name="closeMergeRequest", refs={Boolean.class}, tree="[0]")
private Output closeMergeRequest;
/**
* @return Enable notifications for closed merge requests. Can only be used when `level` is `custom`.
*
*/
public Output closeMergeRequest() {
return this.closeMergeRequest;
}
/**
* Enable notifications for failed pipelines. Can only be used when `level` is `custom`.
*
*/
@Export(name="failedPipeline", refs={Boolean.class}, tree="[0]")
private Output failedPipeline;
/**
* @return Enable notifications for failed pipelines. Can only be used when `level` is `custom`.
*
*/
public Output failedPipeline() {
return this.failedPipeline;
}
/**
* Enable notifications for fixed pipelines. Can only be used when `level` is `custom`.
*
*/
@Export(name="fixedPipeline", refs={Boolean.class}, tree="[0]")
private Output fixedPipeline;
/**
* @return Enable notifications for fixed pipelines. Can only be used when `level` is `custom`.
*
*/
public Output fixedPipeline() {
return this.fixedPipeline;
}
/**
* Enable notifications for due issues. Can only be used when `level` is `custom`.
*
*/
@Export(name="issueDue", refs={Boolean.class}, tree="[0]")
private Output issueDue;
/**
* @return Enable notifications for due issues. Can only be used when `level` is `custom`.
*
*/
public Output issueDue() {
return this.issueDue;
}
/**
* The level of the notification. Valid values are: `disabled`, `participating`, `watch`, `global`, `mention`, `custom`.
*
*/
@Export(name="level", refs={String.class}, tree="[0]")
private Output level;
/**
* @return The level of the notification. Valid values are: `disabled`, `participating`, `watch`, `global`, `mention`, `custom`.
*
*/
public Output level() {
return this.level;
}
/**
* Enable notifications for merged merge requests. Can only be used when `level` is `custom`.
*
*/
@Export(name="mergeMergeRequest", refs={Boolean.class}, tree="[0]")
private Output mergeMergeRequest;
/**
* @return Enable notifications for merged merge requests. Can only be used when `level` is `custom`.
*
*/
public Output mergeMergeRequest() {
return this.mergeMergeRequest;
}
/**
* Enable notifications for merged merge requests when the pipeline succeeds. Can only be used when `level` is `custom`.
*
*/
@Export(name="mergeWhenPipelineSucceeds", refs={Boolean.class}, tree="[0]")
private Output mergeWhenPipelineSucceeds;
/**
* @return Enable notifications for merged merge requests when the pipeline succeeds. Can only be used when `level` is `custom`.
*
*/
public Output mergeWhenPipelineSucceeds() {
return this.mergeWhenPipelineSucceeds;
}
/**
* Enable notifications for moved projects. Can only be used when `level` is `custom`.
*
*/
@Export(name="movedProject", refs={Boolean.class}, tree="[0]")
private Output movedProject;
/**
* @return Enable notifications for moved projects. Can only be used when `level` is `custom`.
*
*/
public Output movedProject() {
return this.movedProject;
}
/**
* Enable notifications for new issues. Can only be used when `level` is `custom`.
*
*/
@Export(name="newIssue", refs={Boolean.class}, tree="[0]")
private Output newIssue;
/**
* @return Enable notifications for new issues. Can only be used when `level` is `custom`.
*
*/
public Output newIssue() {
return this.newIssue;
}
/**
* Enable notifications for new merge requests. Can only be used when `level` is `custom`.
*
*/
@Export(name="newMergeRequest", refs={Boolean.class}, tree="[0]")
private Output newMergeRequest;
/**
* @return Enable notifications for new merge requests. Can only be used when `level` is `custom`.
*
*/
public Output newMergeRequest() {
return this.newMergeRequest;
}
/**
* Enable notifications for new notes on merge requests. Can only be used when `level` is `custom`.
*
*/
@Export(name="newNote", refs={Boolean.class}, tree="[0]")
private Output newNote;
/**
* @return Enable notifications for new notes on merge requests. Can only be used when `level` is `custom`.
*
*/
public Output newNote() {
return this.newNote;
}
/**
* The ID or URL-encoded path of a project where notifications will be configured.
*
*/
@Export(name="project", refs={String.class}, tree="[0]")
private Output project;
/**
* @return The ID or URL-encoded path of a project where notifications will be configured.
*
*/
public Output project() {
return this.project;
}
/**
* Enable notifications for push to merge request branches. Can only be used when `level` is `custom`.
*
*/
@Export(name="pushToMergeRequest", refs={Boolean.class}, tree="[0]")
private Output pushToMergeRequest;
/**
* @return Enable notifications for push to merge request branches. Can only be used when `level` is `custom`.
*
*/
public Output pushToMergeRequest() {
return this.pushToMergeRequest;
}
/**
* Enable notifications for issue reassignments. Can only be used when `level` is `custom`.
*
*/
@Export(name="reassignIssue", refs={Boolean.class}, tree="[0]")
private Output reassignIssue;
/**
* @return Enable notifications for issue reassignments. Can only be used when `level` is `custom`.
*
*/
public Output reassignIssue() {
return this.reassignIssue;
}
/**
* Enable notifications for merge request reassignments. Can only be used when `level` is `custom`.
*
*/
@Export(name="reassignMergeRequest", refs={Boolean.class}, tree="[0]")
private Output reassignMergeRequest;
/**
* @return Enable notifications for merge request reassignments. Can only be used when `level` is `custom`.
*
*/
public Output reassignMergeRequest() {
return this.reassignMergeRequest;
}
/**
* Enable notifications for reopened issues. Can only be used when `level` is `custom`.
*
*/
@Export(name="reopenIssue", refs={Boolean.class}, tree="[0]")
private Output reopenIssue;
/**
* @return Enable notifications for reopened issues. Can only be used when `level` is `custom`.
*
*/
public Output reopenIssue() {
return this.reopenIssue;
}
/**
* Enable notifications for reopened merge requests. Can only be used when `level` is `custom`.
*
*/
@Export(name="reopenMergeRequest", refs={Boolean.class}, tree="[0]")
private Output reopenMergeRequest;
/**
* @return Enable notifications for reopened merge requests. Can only be used when `level` is `custom`.
*
*/
public Output reopenMergeRequest() {
return this.reopenMergeRequest;
}
/**
* Enable notifications for successful pipelines. Can only be used when `level` is `custom`.
*
*/
@Export(name="successPipeline", refs={Boolean.class}, tree="[0]")
private Output successPipeline;
/**
* @return Enable notifications for successful pipelines. Can only be used when `level` is `custom`.
*
*/
public Output successPipeline() {
return this.successPipeline;
}
/**
*
* @param name The _unique_ name of the resulting resource.
*/
public ProjectLevelNotifications(java.lang.String name) {
this(name, ProjectLevelNotificationsArgs.Empty);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
*/
public ProjectLevelNotifications(java.lang.String name, ProjectLevelNotificationsArgs args) {
this(name, args, null);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
* @param options A bag of options that control this resource's behavior.
*/
public ProjectLevelNotifications(java.lang.String name, ProjectLevelNotificationsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("gitlab:index/projectLevelNotifications:ProjectLevelNotifications", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
}
private ProjectLevelNotifications(java.lang.String name, Output id, @Nullable ProjectLevelNotificationsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("gitlab:index/projectLevelNotifications:ProjectLevelNotifications", name, state, makeResourceOptions(options, id), false);
}
private static ProjectLevelNotificationsArgs makeArgs(ProjectLevelNotificationsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
if (options != null && options.getUrn().isPresent()) {
return null;
}
return args == null ? ProjectLevelNotificationsArgs.Empty : args;
}
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) {
var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
.version(Utilities.getVersion())
.build();
return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
}
/**
* Get an existing Host resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state
* @param options Optional settings to control the behavior of the CustomResource.
*/
public static ProjectLevelNotifications get(java.lang.String name, Output id, @Nullable ProjectLevelNotificationsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
return new ProjectLevelNotifications(name, id, state, options);
}
}