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

com.pulumi.googlenative.appengine.v1.inputs.EndpointsApiServiceArgs Maven / Gradle / Ivy

// *** 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.googlenative.appengine.v1.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.googlenative.appengine.v1.enums.EndpointsApiServiceRolloutStrategy;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Google Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The Endpoints API Service provides tooling for serving Open API and gRPC endpoints via an NGINX proxy. Only valid for App Engine Flexible environment deployments.The fields here refer to the name and configuration ID of a "service" resource in the Service Management API (https://cloud.google.com/service-management/overview).
 * 
 */
public final class EndpointsApiServiceArgs extends com.pulumi.resources.ResourceArgs {

    public static final EndpointsApiServiceArgs Empty = new EndpointsApiServiceArgs();

    /**
     * Endpoints service configuration ID as specified by the Service Management API. For example "2016-09-19r1".By default, the rollout strategy for Endpoints is RolloutStrategy.FIXED. This means that Endpoints starts up with a particular configuration ID. When a new configuration is rolled out, Endpoints must be given the new configuration ID. The config_id field is used to give the configuration ID and is required in this case.Endpoints also has a rollout strategy called RolloutStrategy.MANAGED. When using this, Endpoints fetches the latest configuration and does not need the configuration ID. In this case, config_id must be omitted.
     * 
     */
    @Import(name="configId")
    private @Nullable Output configId;

    /**
     * @return Endpoints service configuration ID as specified by the Service Management API. For example "2016-09-19r1".By default, the rollout strategy for Endpoints is RolloutStrategy.FIXED. This means that Endpoints starts up with a particular configuration ID. When a new configuration is rolled out, Endpoints must be given the new configuration ID. The config_id field is used to give the configuration ID and is required in this case.Endpoints also has a rollout strategy called RolloutStrategy.MANAGED. When using this, Endpoints fetches the latest configuration and does not need the configuration ID. In this case, config_id must be omitted.
     * 
     */
    public Optional> configId() {
        return Optional.ofNullable(this.configId);
    }

    /**
     * Enable or disable trace sampling. By default, this is set to false for enabled.
     * 
     */
    @Import(name="disableTraceSampling")
    private @Nullable Output disableTraceSampling;

    /**
     * @return Enable or disable trace sampling. By default, this is set to false for enabled.
     * 
     */
    public Optional> disableTraceSampling() {
        return Optional.ofNullable(this.disableTraceSampling);
    }

    /**
     * Endpoints service name which is the name of the "service" resource in the Service Management API. For example "myapi.endpoints.myproject.cloud.goog"
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Endpoints service name which is the name of the "service" resource in the Service Management API. For example "myapi.endpoints.myproject.cloud.goog"
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Endpoints rollout strategy. If FIXED, config_id must be specified. If MANAGED, config_id must be omitted.
     * 
     */
    @Import(name="rolloutStrategy")
    private @Nullable Output rolloutStrategy;

    /**
     * @return Endpoints rollout strategy. If FIXED, config_id must be specified. If MANAGED, config_id must be omitted.
     * 
     */
    public Optional> rolloutStrategy() {
        return Optional.ofNullable(this.rolloutStrategy);
    }

    private EndpointsApiServiceArgs() {}

    private EndpointsApiServiceArgs(EndpointsApiServiceArgs $) {
        this.configId = $.configId;
        this.disableTraceSampling = $.disableTraceSampling;
        this.name = $.name;
        this.rolloutStrategy = $.rolloutStrategy;
    }

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

    public static final class Builder {
        private EndpointsApiServiceArgs $;

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

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

        /**
         * @param configId Endpoints service configuration ID as specified by the Service Management API. For example "2016-09-19r1".By default, the rollout strategy for Endpoints is RolloutStrategy.FIXED. This means that Endpoints starts up with a particular configuration ID. When a new configuration is rolled out, Endpoints must be given the new configuration ID. The config_id field is used to give the configuration ID and is required in this case.Endpoints also has a rollout strategy called RolloutStrategy.MANAGED. When using this, Endpoints fetches the latest configuration and does not need the configuration ID. In this case, config_id must be omitted.
         * 
         * @return builder
         * 
         */
        public Builder configId(@Nullable Output configId) {
            $.configId = configId;
            return this;
        }

        /**
         * @param configId Endpoints service configuration ID as specified by the Service Management API. For example "2016-09-19r1".By default, the rollout strategy for Endpoints is RolloutStrategy.FIXED. This means that Endpoints starts up with a particular configuration ID. When a new configuration is rolled out, Endpoints must be given the new configuration ID. The config_id field is used to give the configuration ID and is required in this case.Endpoints also has a rollout strategy called RolloutStrategy.MANAGED. When using this, Endpoints fetches the latest configuration and does not need the configuration ID. In this case, config_id must be omitted.
         * 
         * @return builder
         * 
         */
        public Builder configId(String configId) {
            return configId(Output.of(configId));
        }

        /**
         * @param disableTraceSampling Enable or disable trace sampling. By default, this is set to false for enabled.
         * 
         * @return builder
         * 
         */
        public Builder disableTraceSampling(@Nullable Output disableTraceSampling) {
            $.disableTraceSampling = disableTraceSampling;
            return this;
        }

        /**
         * @param disableTraceSampling Enable or disable trace sampling. By default, this is set to false for enabled.
         * 
         * @return builder
         * 
         */
        public Builder disableTraceSampling(Boolean disableTraceSampling) {
            return disableTraceSampling(Output.of(disableTraceSampling));
        }

        /**
         * @param name Endpoints service name which is the name of the "service" resource in the Service Management API. For example "myapi.endpoints.myproject.cloud.goog"
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Endpoints service name which is the name of the "service" resource in the Service Management API. For example "myapi.endpoints.myproject.cloud.goog"
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param rolloutStrategy Endpoints rollout strategy. If FIXED, config_id must be specified. If MANAGED, config_id must be omitted.
         * 
         * @return builder
         * 
         */
        public Builder rolloutStrategy(@Nullable Output rolloutStrategy) {
            $.rolloutStrategy = rolloutStrategy;
            return this;
        }

        /**
         * @param rolloutStrategy Endpoints rollout strategy. If FIXED, config_id must be specified. If MANAGED, config_id must be omitted.
         * 
         * @return builder
         * 
         */
        public Builder rolloutStrategy(EndpointsApiServiceRolloutStrategy rolloutStrategy) {
            return rolloutStrategy(Output.of(rolloutStrategy));
        }

        public EndpointsApiServiceArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy