All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.gitlab.ProjectLevelNotifications Maven / Gradle / Ivy

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);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy