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

com.pulumi.artifactory.LocalRepositoryMultiReplicationArgs Maven / Gradle / Ivy

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

import com.pulumi.artifactory.inputs.LocalRepositoryMultiReplicationReplicationArgs;
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.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final LocalRepositoryMultiReplicationArgs Empty = new LocalRepositoryMultiReplicationArgs();

    /**
     * A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).
     * 
     */
    @Import(name="cronExp", required=true)
    private Output cronExp;

    /**
     * @return A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).
     * 
     */
    public Output cronExp() {
        return this.cronExp;
    }

    /**
     * When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. add, deleted or property change. Default value is `false`.
     * 
     */
    @Import(name="enableEventReplication")
    private @Nullable Output enableEventReplication;

    /**
     * @return When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. add, deleted or property change. Default value is `false`.
     * 
     */
    public Optional> enableEventReplication() {
        return Optional.ofNullable(this.enableEventReplication);
    }

    /**
     * List of replications minimum 1 element.
     * 
     */
    @Import(name="replications")
    private @Nullable Output> replications;

    /**
     * @return List of replications minimum 1 element.
     * 
     */
    public Optional>> replications() {
        return Optional.ofNullable(this.replications);
    }

    /**
     * Repository name.
     * 
     */
    @Import(name="repoKey", required=true)
    private Output repoKey;

    /**
     * @return Repository name.
     * 
     */
    public Output repoKey() {
        return this.repoKey;
    }

    private LocalRepositoryMultiReplicationArgs() {}

    private LocalRepositoryMultiReplicationArgs(LocalRepositoryMultiReplicationArgs $) {
        this.cronExp = $.cronExp;
        this.enableEventReplication = $.enableEventReplication;
        this.replications = $.replications;
        this.repoKey = $.repoKey;
    }

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

    public static final class Builder {
        private LocalRepositoryMultiReplicationArgs $;

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

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

        /**
         * @param cronExp A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).
         * 
         * @return builder
         * 
         */
        public Builder cronExp(Output cronExp) {
            $.cronExp = cronExp;
            return this;
        }

        /**
         * @param cronExp A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).
         * 
         * @return builder
         * 
         */
        public Builder cronExp(String cronExp) {
            return cronExp(Output.of(cronExp));
        }

        /**
         * @param enableEventReplication When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. add, deleted or property change. Default value is `false`.
         * 
         * @return builder
         * 
         */
        public Builder enableEventReplication(@Nullable Output enableEventReplication) {
            $.enableEventReplication = enableEventReplication;
            return this;
        }

        /**
         * @param enableEventReplication When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. add, deleted or property change. Default value is `false`.
         * 
         * @return builder
         * 
         */
        public Builder enableEventReplication(Boolean enableEventReplication) {
            return enableEventReplication(Output.of(enableEventReplication));
        }

        /**
         * @param replications List of replications minimum 1 element.
         * 
         * @return builder
         * 
         */
        public Builder replications(@Nullable Output> replications) {
            $.replications = replications;
            return this;
        }

        /**
         * @param replications List of replications minimum 1 element.
         * 
         * @return builder
         * 
         */
        public Builder replications(List replications) {
            return replications(Output.of(replications));
        }

        /**
         * @param replications List of replications minimum 1 element.
         * 
         * @return builder
         * 
         */
        public Builder replications(LocalRepositoryMultiReplicationReplicationArgs... replications) {
            return replications(List.of(replications));
        }

        /**
         * @param repoKey Repository name.
         * 
         * @return builder
         * 
         */
        public Builder repoKey(Output repoKey) {
            $.repoKey = repoKey;
            return this;
        }

        /**
         * @param repoKey Repository name.
         * 
         * @return builder
         * 
         */
        public Builder repoKey(String repoKey) {
            return repoKey(Output.of(repoKey));
        }

        public LocalRepositoryMultiReplicationArgs build() {
            if ($.cronExp == null) {
                throw new MissingRequiredPropertyException("LocalRepositoryMultiReplicationArgs", "cronExp");
            }
            if ($.repoKey == null) {
                throw new MissingRequiredPropertyException("LocalRepositoryMultiReplicationArgs", "repoKey");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy