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

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

There is a newer version: 8.4.0
Show 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.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 ServiceMicrosoftTeamsArgs extends com.pulumi.resources.ResourceArgs {

    public static final ServiceMicrosoftTeamsArgs Empty = new ServiceMicrosoftTeamsArgs();

    /**
     * Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default*and*protected”. The default value is “default”
     * 
     */
    @Import(name="branchesToBeNotified")
    private @Nullable Output branchesToBeNotified;

    /**
     * @return Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default*and*protected”. The default value is “default”
     * 
     */
    public Optional> branchesToBeNotified() {
        return Optional.ofNullable(this.branchesToBeNotified);
    }

    /**
     * Enable notifications for confidential issue events
     * 
     */
    @Import(name="confidentialIssuesEvents")
    private @Nullable Output confidentialIssuesEvents;

    /**
     * @return Enable notifications for confidential issue events
     * 
     */
    public Optional> confidentialIssuesEvents() {
        return Optional.ofNullable(this.confidentialIssuesEvents);
    }

    /**
     * Enable notifications for confidential note events
     * 
     */
    @Import(name="confidentialNoteEvents")
    private @Nullable Output confidentialNoteEvents;

    /**
     * @return Enable notifications for confidential note events
     * 
     */
    public Optional> confidentialNoteEvents() {
        return Optional.ofNullable(this.confidentialNoteEvents);
    }

    /**
     * Enable notifications for issue events
     * 
     */
    @Import(name="issuesEvents")
    private @Nullable Output issuesEvents;

    /**
     * @return Enable notifications for issue events
     * 
     */
    public Optional> issuesEvents() {
        return Optional.ofNullable(this.issuesEvents);
    }

    /**
     * Enable notifications for merge request events
     * 
     */
    @Import(name="mergeRequestsEvents")
    private @Nullable Output mergeRequestsEvents;

    /**
     * @return Enable notifications for merge request events
     * 
     */
    public Optional> mergeRequestsEvents() {
        return Optional.ofNullable(this.mergeRequestsEvents);
    }

    /**
     * Enable notifications for note events
     * 
     */
    @Import(name="noteEvents")
    private @Nullable Output noteEvents;

    /**
     * @return Enable notifications for note events
     * 
     */
    public Optional> noteEvents() {
        return Optional.ofNullable(this.noteEvents);
    }

    /**
     * Send notifications for broken pipelines
     * 
     */
    @Import(name="notifyOnlyBrokenPipelines")
    private @Nullable Output notifyOnlyBrokenPipelines;

    /**
     * @return Send notifications for broken pipelines
     * 
     */
    public Optional> notifyOnlyBrokenPipelines() {
        return Optional.ofNullable(this.notifyOnlyBrokenPipelines);
    }

    /**
     * Enable notifications for pipeline events
     * 
     */
    @Import(name="pipelineEvents")
    private @Nullable Output pipelineEvents;

    /**
     * @return Enable notifications for pipeline events
     * 
     */
    public Optional> pipelineEvents() {
        return Optional.ofNullable(this.pipelineEvents);
    }

    /**
     * ID of the project you want to activate integration on.
     * 
     */
    @Import(name="project", required=true)
    private Output project;

    /**
     * @return ID of the project you want to activate integration on.
     * 
     */
    public Output project() {
        return this.project;
    }

    /**
     * Enable notifications for push events
     * 
     */
    @Import(name="pushEvents")
    private @Nullable Output pushEvents;

    /**
     * @return Enable notifications for push events
     * 
     */
    public Optional> pushEvents() {
        return Optional.ofNullable(this.pushEvents);
    }

    /**
     * Enable notifications for tag push events
     * 
     */
    @Import(name="tagPushEvents")
    private @Nullable Output tagPushEvents;

    /**
     * @return Enable notifications for tag push events
     * 
     */
    public Optional> tagPushEvents() {
        return Optional.ofNullable(this.tagPushEvents);
    }

    /**
     * The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported.
     * 
     */
    @Import(name="webhook", required=true)
    private Output webhook;

    /**
     * @return The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported.
     * 
     */
    public Output webhook() {
        return this.webhook;
    }

    /**
     * Enable notifications for wiki page events
     * 
     */
    @Import(name="wikiPageEvents")
    private @Nullable Output wikiPageEvents;

    /**
     * @return Enable notifications for wiki page events
     * 
     */
    public Optional> wikiPageEvents() {
        return Optional.ofNullable(this.wikiPageEvents);
    }

    private ServiceMicrosoftTeamsArgs() {}

    private ServiceMicrosoftTeamsArgs(ServiceMicrosoftTeamsArgs $) {
        this.branchesToBeNotified = $.branchesToBeNotified;
        this.confidentialIssuesEvents = $.confidentialIssuesEvents;
        this.confidentialNoteEvents = $.confidentialNoteEvents;
        this.issuesEvents = $.issuesEvents;
        this.mergeRequestsEvents = $.mergeRequestsEvents;
        this.noteEvents = $.noteEvents;
        this.notifyOnlyBrokenPipelines = $.notifyOnlyBrokenPipelines;
        this.pipelineEvents = $.pipelineEvents;
        this.project = $.project;
        this.pushEvents = $.pushEvents;
        this.tagPushEvents = $.tagPushEvents;
        this.webhook = $.webhook;
        this.wikiPageEvents = $.wikiPageEvents;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(ServiceMicrosoftTeamsArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private ServiceMicrosoftTeamsArgs $;

        public Builder() {
            $ = new ServiceMicrosoftTeamsArgs();
        }

        public Builder(ServiceMicrosoftTeamsArgs defaults) {
            $ = new ServiceMicrosoftTeamsArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param branchesToBeNotified Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default*and*protected”. The default value is “default”
         * 
         * @return builder
         * 
         */
        public Builder branchesToBeNotified(@Nullable Output branchesToBeNotified) {
            $.branchesToBeNotified = branchesToBeNotified;
            return this;
        }

        /**
         * @param branchesToBeNotified Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default*and*protected”. The default value is “default”
         * 
         * @return builder
         * 
         */
        public Builder branchesToBeNotified(String branchesToBeNotified) {
            return branchesToBeNotified(Output.of(branchesToBeNotified));
        }

        /**
         * @param confidentialIssuesEvents Enable notifications for confidential issue events
         * 
         * @return builder
         * 
         */
        public Builder confidentialIssuesEvents(@Nullable Output confidentialIssuesEvents) {
            $.confidentialIssuesEvents = confidentialIssuesEvents;
            return this;
        }

        /**
         * @param confidentialIssuesEvents Enable notifications for confidential issue events
         * 
         * @return builder
         * 
         */
        public Builder confidentialIssuesEvents(Boolean confidentialIssuesEvents) {
            return confidentialIssuesEvents(Output.of(confidentialIssuesEvents));
        }

        /**
         * @param confidentialNoteEvents Enable notifications for confidential note events
         * 
         * @return builder
         * 
         */
        public Builder confidentialNoteEvents(@Nullable Output confidentialNoteEvents) {
            $.confidentialNoteEvents = confidentialNoteEvents;
            return this;
        }

        /**
         * @param confidentialNoteEvents Enable notifications for confidential note events
         * 
         * @return builder
         * 
         */
        public Builder confidentialNoteEvents(Boolean confidentialNoteEvents) {
            return confidentialNoteEvents(Output.of(confidentialNoteEvents));
        }

        /**
         * @param issuesEvents Enable notifications for issue events
         * 
         * @return builder
         * 
         */
        public Builder issuesEvents(@Nullable Output issuesEvents) {
            $.issuesEvents = issuesEvents;
            return this;
        }

        /**
         * @param issuesEvents Enable notifications for issue events
         * 
         * @return builder
         * 
         */
        public Builder issuesEvents(Boolean issuesEvents) {
            return issuesEvents(Output.of(issuesEvents));
        }

        /**
         * @param mergeRequestsEvents Enable notifications for merge request events
         * 
         * @return builder
         * 
         */
        public Builder mergeRequestsEvents(@Nullable Output mergeRequestsEvents) {
            $.mergeRequestsEvents = mergeRequestsEvents;
            return this;
        }

        /**
         * @param mergeRequestsEvents Enable notifications for merge request events
         * 
         * @return builder
         * 
         */
        public Builder mergeRequestsEvents(Boolean mergeRequestsEvents) {
            return mergeRequestsEvents(Output.of(mergeRequestsEvents));
        }

        /**
         * @param noteEvents Enable notifications for note events
         * 
         * @return builder
         * 
         */
        public Builder noteEvents(@Nullable Output noteEvents) {
            $.noteEvents = noteEvents;
            return this;
        }

        /**
         * @param noteEvents Enable notifications for note events
         * 
         * @return builder
         * 
         */
        public Builder noteEvents(Boolean noteEvents) {
            return noteEvents(Output.of(noteEvents));
        }

        /**
         * @param notifyOnlyBrokenPipelines Send notifications for broken pipelines
         * 
         * @return builder
         * 
         */
        public Builder notifyOnlyBrokenPipelines(@Nullable Output notifyOnlyBrokenPipelines) {
            $.notifyOnlyBrokenPipelines = notifyOnlyBrokenPipelines;
            return this;
        }

        /**
         * @param notifyOnlyBrokenPipelines Send notifications for broken pipelines
         * 
         * @return builder
         * 
         */
        public Builder notifyOnlyBrokenPipelines(Boolean notifyOnlyBrokenPipelines) {
            return notifyOnlyBrokenPipelines(Output.of(notifyOnlyBrokenPipelines));
        }

        /**
         * @param pipelineEvents Enable notifications for pipeline events
         * 
         * @return builder
         * 
         */
        public Builder pipelineEvents(@Nullable Output pipelineEvents) {
            $.pipelineEvents = pipelineEvents;
            return this;
        }

        /**
         * @param pipelineEvents Enable notifications for pipeline events
         * 
         * @return builder
         * 
         */
        public Builder pipelineEvents(Boolean pipelineEvents) {
            return pipelineEvents(Output.of(pipelineEvents));
        }

        /**
         * @param project ID of the project you want to activate integration on.
         * 
         * @return builder
         * 
         */
        public Builder project(Output project) {
            $.project = project;
            return this;
        }

        /**
         * @param project ID of the project you want to activate integration on.
         * 
         * @return builder
         * 
         */
        public Builder project(String project) {
            return project(Output.of(project));
        }

        /**
         * @param pushEvents Enable notifications for push events
         * 
         * @return builder
         * 
         */
        public Builder pushEvents(@Nullable Output pushEvents) {
            $.pushEvents = pushEvents;
            return this;
        }

        /**
         * @param pushEvents Enable notifications for push events
         * 
         * @return builder
         * 
         */
        public Builder pushEvents(Boolean pushEvents) {
            return pushEvents(Output.of(pushEvents));
        }

        /**
         * @param tagPushEvents Enable notifications for tag push events
         * 
         * @return builder
         * 
         */
        public Builder tagPushEvents(@Nullable Output tagPushEvents) {
            $.tagPushEvents = tagPushEvents;
            return this;
        }

        /**
         * @param tagPushEvents Enable notifications for tag push events
         * 
         * @return builder
         * 
         */
        public Builder tagPushEvents(Boolean tagPushEvents) {
            return tagPushEvents(Output.of(tagPushEvents));
        }

        /**
         * @param webhook The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported.
         * 
         * @return builder
         * 
         */
        public Builder webhook(Output webhook) {
            $.webhook = webhook;
            return this;
        }

        /**
         * @param webhook The Microsoft Teams webhook (Example, https://outlook.office.com/webhook/...). This value cannot be imported.
         * 
         * @return builder
         * 
         */
        public Builder webhook(String webhook) {
            return webhook(Output.of(webhook));
        }

        /**
         * @param wikiPageEvents Enable notifications for wiki page events
         * 
         * @return builder
         * 
         */
        public Builder wikiPageEvents(@Nullable Output wikiPageEvents) {
            $.wikiPageEvents = wikiPageEvents;
            return this;
        }

        /**
         * @param wikiPageEvents Enable notifications for wiki page events
         * 
         * @return builder
         * 
         */
        public Builder wikiPageEvents(Boolean wikiPageEvents) {
            return wikiPageEvents(Output.of(wikiPageEvents));
        }

        public ServiceMicrosoftTeamsArgs build() {
            if ($.project == null) {
                throw new MissingRequiredPropertyException("ServiceMicrosoftTeamsArgs", "project");
            }
            if ($.webhook == null) {
                throw new MissingRequiredPropertyException("ServiceMicrosoftTeamsArgs", "webhook");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy