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

software.amazon.awscdk.services.codebuild.GitHubSourceProps Maven / Gradle / Ivy

There is a newer version: 1.204.0
Show newest version
package software.amazon.awscdk.services.codebuild;

/**
 * Construction properties for {@link GitHubSource} and {@link GitHubEnterpriseSource}.
 */
@javax.annotation.Generated(value = "jsii-pacmak/0.7.11 (build 44c3b9b)", date = "2018-12-04T12:25:05.440Z")
public interface GitHubSourceProps extends software.amazon.jsii.JsiiSerializable, software.amazon.awscdk.services.codebuild.BuildSourceProps {
    /**
     * The git url to clone for this code build project.
     */
    java.lang.String getCloneUrl();
    /**
     * The git url to clone for this code build project.
     */
    void setCloneUrl(final java.lang.String value);
    /**
     * The oAuthToken used to authenticate when cloning source git repo.
     */
    software.amazon.awscdk.Secret getOauthToken();
    /**
     * The oAuthToken used to authenticate when cloning source git repo.
     */
    void setOauthToken(final software.amazon.awscdk.Secret value);

    /**
     * @return a {@link Builder} of {@link GitHubSourceProps}
     */
    static Builder builder() {
        return new Builder();
    }

    /**
     * A builder for {@link GitHubSourceProps}
     */
    final class Builder {
        private java.lang.String _cloneUrl;
        private software.amazon.awscdk.Secret _oauthToken;
        @javax.annotation.Nullable
        private java.lang.String _identifier;

        /**
         * Sets the value of CloneUrl
         * @param value The git url to clone for this code build project.
         * @return {@code this}
         */
        public Builder withCloneUrl(final java.lang.String value) {
            this._cloneUrl = java.util.Objects.requireNonNull(value, "cloneUrl is required");
            return this;
        }
        /**
         * Sets the value of OauthToken
         * @param value The oAuthToken used to authenticate when cloning source git repo.
         * @return {@code this}
         */
        public Builder withOauthToken(final software.amazon.awscdk.Secret value) {
            this._oauthToken = java.util.Objects.requireNonNull(value, "oauthToken is required");
            return this;
        }
        /**
         * Sets the value of Identifier
         * @param value The source identifier.
This property is required on secondary sources.
         * @return {@code this}
         */
        public Builder withIdentifier(@javax.annotation.Nullable final java.lang.String value) {
            this._identifier = value;
            return this;
        }

        /**
         * Builds the configured instance.
         * @return a new instance of {@link GitHubSourceProps}
         * @throws NullPointerException if any required attribute was not provided
         */
        public GitHubSourceProps build() {
            return new GitHubSourceProps() {
                private java.lang.String $cloneUrl = java.util.Objects.requireNonNull(_cloneUrl, "cloneUrl is required");
                private software.amazon.awscdk.Secret $oauthToken = java.util.Objects.requireNonNull(_oauthToken, "oauthToken is required");
                @javax.annotation.Nullable
                private java.lang.String $identifier = _identifier;

                @Override
                public java.lang.String getCloneUrl() {
                    return this.$cloneUrl;
                }

                @Override
                public void setCloneUrl(final java.lang.String value) {
                    this.$cloneUrl = java.util.Objects.requireNonNull(value, "cloneUrl is required");
                }

                @Override
                public software.amazon.awscdk.Secret getOauthToken() {
                    return this.$oauthToken;
                }

                @Override
                public void setOauthToken(final software.amazon.awscdk.Secret value) {
                    this.$oauthToken = java.util.Objects.requireNonNull(value, "oauthToken is required");
                }

                @Override
                public java.lang.String getIdentifier() {
                    return this.$identifier;
                }

                @Override
                public void setIdentifier(@javax.annotation.Nullable final java.lang.String value) {
                    this.$identifier = value;
                }

            };
        }
    }

    /**
     * A proxy class which represents a concrete javascript instance of this type.
     */
    final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.awscdk.services.codebuild.GitHubSourceProps {
        protected Jsii$Proxy(final software.amazon.jsii.JsiiObject.InitializationMode mode) {
            super(mode);
        }

        /**
         * The git url to clone for this code build project.
         */
        @Override
        public java.lang.String getCloneUrl() {
            return this.jsiiGet("cloneUrl", java.lang.String.class);
        }

        /**
         * The git url to clone for this code build project.
         */
        @Override
        public void setCloneUrl(final java.lang.String value) {
            this.jsiiSet("cloneUrl", java.util.Objects.requireNonNull(value, "cloneUrl is required"));
        }

        /**
         * The oAuthToken used to authenticate when cloning source git repo.
         */
        @Override
        public software.amazon.awscdk.Secret getOauthToken() {
            return this.jsiiGet("oauthToken", software.amazon.awscdk.Secret.class);
        }

        /**
         * The oAuthToken used to authenticate when cloning source git repo.
         */
        @Override
        public void setOauthToken(final software.amazon.awscdk.Secret value) {
            this.jsiiSet("oauthToken", java.util.Objects.requireNonNull(value, "oauthToken is required"));
        }

        /**
         * The source identifier.
         * This property is required on secondary sources.
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.String getIdentifier() {
            return this.jsiiGet("identifier", java.lang.String.class);
        }

        /**
         * The source identifier.
         * This property is required on secondary sources.
         */
        @Override
        public void setIdentifier(@javax.annotation.Nullable final java.lang.String value) {
            this.jsiiSet("identifier", value);
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy