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

com.pulumi.gitlab.inputs.IntegrationEmailsOnPushState Maven / Gradle / Ivy

There is a newer version: 8.7.1
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.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class IntegrationEmailsOnPushState extends com.pulumi.resources.ResourceArgs {

    public static final IntegrationEmailsOnPushState Empty = new IntegrationEmailsOnPushState();

    /**
     * Whether the integration is active.
     * 
     */
    @Import(name="active")
    private @Nullable Output active;

    /**
     * @return Whether the integration is active.
     * 
     */
    public Optional> active() {
        return Optional.ofNullable(this.active);
    }

    /**
     * Branches to send notifications for. Valid options are `all`, `default`, `protected`, `default_and_protected`. Notifications are always fired for tag pushes.
     * 
     */
    @Import(name="branchesToBeNotified")
    private @Nullable Output branchesToBeNotified;

    /**
     * @return Branches to send notifications for. Valid options are `all`, `default`, `protected`, `default_and_protected`. Notifications are always fired for tag pushes.
     * 
     */
    public Optional> branchesToBeNotified() {
        return Optional.ofNullable(this.branchesToBeNotified);
    }

    /**
     * The ISO8601 date/time that this integration was activated at in UTC.
     * 
     */
    @Import(name="createdAt")
    private @Nullable Output createdAt;

    /**
     * @return The ISO8601 date/time that this integration was activated at in UTC.
     * 
     */
    public Optional> createdAt() {
        return Optional.ofNullable(this.createdAt);
    }

    /**
     * Disable code diffs.
     * 
     */
    @Import(name="disableDiffs")
    private @Nullable Output disableDiffs;

    /**
     * @return Disable code diffs.
     * 
     */
    public Optional> disableDiffs() {
        return Optional.ofNullable(this.disableDiffs);
    }

    /**
     * ID or full-path of the project you want to activate integration on.
     * 
     */
    @Import(name="project")
    private @Nullable Output project;

    /**
     * @return ID or full-path of the project you want to activate integration on.
     * 
     */
    public Optional> project() {
        return Optional.ofNullable(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);
    }

    /**
     * Emails separated by whitespace.
     * 
     */
    @Import(name="recipients")
    private @Nullable Output recipients;

    /**
     * @return Emails separated by whitespace.
     * 
     */
    public Optional> recipients() {
        return Optional.ofNullable(this.recipients);
    }

    /**
     * Send from committer.
     * 
     */
    @Import(name="sendFromCommitterEmail")
    private @Nullable Output sendFromCommitterEmail;

    /**
     * @return Send from committer.
     * 
     */
    public Optional> sendFromCommitterEmail() {
        return Optional.ofNullable(this.sendFromCommitterEmail);
    }

    /**
     * The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names.
     * 
     */
    @Import(name="slug")
    private @Nullable Output slug;

    /**
     * @return The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names.
     * 
     */
    public Optional> slug() {
        return Optional.ofNullable(this.slug);
    }

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

    /**
     * Title of the integration.
     * 
     */
    @Import(name="title")
    private @Nullable Output title;

    /**
     * @return Title of the integration.
     * 
     */
    public Optional> title() {
        return Optional.ofNullable(this.title);
    }

    /**
     * The ISO8601 date/time that this integration was last updated at in UTC.
     * 
     */
    @Import(name="updatedAt")
    private @Nullable Output updatedAt;

    /**
     * @return The ISO8601 date/time that this integration was last updated at in UTC.
     * 
     */
    public Optional> updatedAt() {
        return Optional.ofNullable(this.updatedAt);
    }

    private IntegrationEmailsOnPushState() {}

    private IntegrationEmailsOnPushState(IntegrationEmailsOnPushState $) {
        this.active = $.active;
        this.branchesToBeNotified = $.branchesToBeNotified;
        this.createdAt = $.createdAt;
        this.disableDiffs = $.disableDiffs;
        this.project = $.project;
        this.pushEvents = $.pushEvents;
        this.recipients = $.recipients;
        this.sendFromCommitterEmail = $.sendFromCommitterEmail;
        this.slug = $.slug;
        this.tagPushEvents = $.tagPushEvents;
        this.title = $.title;
        this.updatedAt = $.updatedAt;
    }

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

    public static final class Builder {
        private IntegrationEmailsOnPushState $;

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

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

        /**
         * @param active Whether the integration is active.
         * 
         * @return builder
         * 
         */
        public Builder active(@Nullable Output active) {
            $.active = active;
            return this;
        }

        /**
         * @param active Whether the integration is active.
         * 
         * @return builder
         * 
         */
        public Builder active(Boolean active) {
            return active(Output.of(active));
        }

        /**
         * @param branchesToBeNotified Branches to send notifications for. Valid options are `all`, `default`, `protected`, `default_and_protected`. Notifications are always fired for tag pushes.
         * 
         * @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`, `default_and_protected`. Notifications are always fired for tag pushes.
         * 
         * @return builder
         * 
         */
        public Builder branchesToBeNotified(String branchesToBeNotified) {
            return branchesToBeNotified(Output.of(branchesToBeNotified));
        }

        /**
         * @param createdAt The ISO8601 date/time that this integration was activated at in UTC.
         * 
         * @return builder
         * 
         */
        public Builder createdAt(@Nullable Output createdAt) {
            $.createdAt = createdAt;
            return this;
        }

        /**
         * @param createdAt The ISO8601 date/time that this integration was activated at in UTC.
         * 
         * @return builder
         * 
         */
        public Builder createdAt(String createdAt) {
            return createdAt(Output.of(createdAt));
        }

        /**
         * @param disableDiffs Disable code diffs.
         * 
         * @return builder
         * 
         */
        public Builder disableDiffs(@Nullable Output disableDiffs) {
            $.disableDiffs = disableDiffs;
            return this;
        }

        /**
         * @param disableDiffs Disable code diffs.
         * 
         * @return builder
         * 
         */
        public Builder disableDiffs(Boolean disableDiffs) {
            return disableDiffs(Output.of(disableDiffs));
        }

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

        /**
         * @param project ID or full-path 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 recipients Emails separated by whitespace.
         * 
         * @return builder
         * 
         */
        public Builder recipients(@Nullable Output recipients) {
            $.recipients = recipients;
            return this;
        }

        /**
         * @param recipients Emails separated by whitespace.
         * 
         * @return builder
         * 
         */
        public Builder recipients(String recipients) {
            return recipients(Output.of(recipients));
        }

        /**
         * @param sendFromCommitterEmail Send from committer.
         * 
         * @return builder
         * 
         */
        public Builder sendFromCommitterEmail(@Nullable Output sendFromCommitterEmail) {
            $.sendFromCommitterEmail = sendFromCommitterEmail;
            return this;
        }

        /**
         * @param sendFromCommitterEmail Send from committer.
         * 
         * @return builder
         * 
         */
        public Builder sendFromCommitterEmail(Boolean sendFromCommitterEmail) {
            return sendFromCommitterEmail(Output.of(sendFromCommitterEmail));
        }

        /**
         * @param slug The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names.
         * 
         * @return builder
         * 
         */
        public Builder slug(@Nullable Output slug) {
            $.slug = slug;
            return this;
        }

        /**
         * @param slug The name of the integration in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names.
         * 
         * @return builder
         * 
         */
        public Builder slug(String slug) {
            return slug(Output.of(slug));
        }

        /**
         * @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 title Title of the integration.
         * 
         * @return builder
         * 
         */
        public Builder title(@Nullable Output title) {
            $.title = title;
            return this;
        }

        /**
         * @param title Title of the integration.
         * 
         * @return builder
         * 
         */
        public Builder title(String title) {
            return title(Output.of(title));
        }

        /**
         * @param updatedAt The ISO8601 date/time that this integration was last updated at in UTC.
         * 
         * @return builder
         * 
         */
        public Builder updatedAt(@Nullable Output updatedAt) {
            $.updatedAt = updatedAt;
            return this;
        }

        /**
         * @param updatedAt The ISO8601 date/time that this integration was last updated at in UTC.
         * 
         * @return builder
         * 
         */
        public Builder updatedAt(String updatedAt) {
            return updatedAt(Output.of(updatedAt));
        }

        public IntegrationEmailsOnPushState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy