com.pulumi.digitalocean.outputs.GetAppSpecServiceLogDestinationOpenSearch Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of digitalocean Show documentation
Show all versions of digitalocean Show documentation
A Pulumi package for creating and managing DigitalOcean cloud resources.
// *** 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.digitalocean.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.digitalocean.outputs.GetAppSpecServiceLogDestinationOpenSearchBasicAuth;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class GetAppSpecServiceLogDestinationOpenSearch {
/**
* @return OpenSearch basic auth
*
*/
private GetAppSpecServiceLogDestinationOpenSearchBasicAuth basicAuth;
/**
* @return The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `cluster_name` is not set, a new cluster will be provisioned.
*
*/
private @Nullable String clusterName;
/**
* @return OpenSearch API Endpoint. Only HTTPS is supported. Format: https://<host>:<port>.
*
*/
private @Nullable String endpoint;
/**
* @return The index name to use for the logs. If not set, the default index name is \"logs\".
*
*/
private @Nullable String indexName;
private GetAppSpecServiceLogDestinationOpenSearch() {}
/**
* @return OpenSearch basic auth
*
*/
public GetAppSpecServiceLogDestinationOpenSearchBasicAuth basicAuth() {
return this.basicAuth;
}
/**
* @return The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `cluster_name` is not set, a new cluster will be provisioned.
*
*/
public Optional clusterName() {
return Optional.ofNullable(this.clusterName);
}
/**
* @return OpenSearch API Endpoint. Only HTTPS is supported. Format: https://<host>:<port>.
*
*/
public Optional endpoint() {
return Optional.ofNullable(this.endpoint);
}
/**
* @return The index name to use for the logs. If not set, the default index name is \"logs\".
*
*/
public Optional indexName() {
return Optional.ofNullable(this.indexName);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GetAppSpecServiceLogDestinationOpenSearch defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private GetAppSpecServiceLogDestinationOpenSearchBasicAuth basicAuth;
private @Nullable String clusterName;
private @Nullable String endpoint;
private @Nullable String indexName;
public Builder() {}
public Builder(GetAppSpecServiceLogDestinationOpenSearch defaults) {
Objects.requireNonNull(defaults);
this.basicAuth = defaults.basicAuth;
this.clusterName = defaults.clusterName;
this.endpoint = defaults.endpoint;
this.indexName = defaults.indexName;
}
@CustomType.Setter
public Builder basicAuth(GetAppSpecServiceLogDestinationOpenSearchBasicAuth basicAuth) {
if (basicAuth == null) {
throw new MissingRequiredPropertyException("GetAppSpecServiceLogDestinationOpenSearch", "basicAuth");
}
this.basicAuth = basicAuth;
return this;
}
@CustomType.Setter
public Builder clusterName(@Nullable String clusterName) {
this.clusterName = clusterName;
return this;
}
@CustomType.Setter
public Builder endpoint(@Nullable String endpoint) {
this.endpoint = endpoint;
return this;
}
@CustomType.Setter
public Builder indexName(@Nullable String indexName) {
this.indexName = indexName;
return this;
}
public GetAppSpecServiceLogDestinationOpenSearch build() {
final var _resultValue = new GetAppSpecServiceLogDestinationOpenSearch();
_resultValue.basicAuth = basicAuth;
_resultValue.clusterName = clusterName;
_resultValue.endpoint = endpoint;
_resultValue.indexName = indexName;
return _resultValue;
}
}
}