com.pulumi.alicloud.servicemesh.ExtensionProviderArgs Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of alicloud Show documentation
Show all versions of alicloud Show documentation
A Pulumi package for creating and managing AliCloud 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.alicloud.servicemesh;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
public final class ExtensionProviderArgs extends com.pulumi.resources.ResourceArgs {
public static final ExtensionProviderArgs Empty = new ExtensionProviderArgs();
/**
* The config of the Service Mesh Extension Provider. The `config` format is json.
*
*/
@Import(name="config", required=true)
private Output config;
/**
* @return The config of the Service Mesh Extension Provider. The `config` format is json.
*
*/
public Output config() {
return this.config;
}
/**
* The name of the Service Mesh Extension Provider. It must be prefixed with `$type-`, for example `httpextauth-xxx`, `grpcextauth-xxx`.
*
*/
@Import(name="extensionProviderName", required=true)
private Output extensionProviderName;
/**
* @return The name of the Service Mesh Extension Provider. It must be prefixed with `$type-`, for example `httpextauth-xxx`, `grpcextauth-xxx`.
*
*/
public Output extensionProviderName() {
return this.extensionProviderName;
}
/**
* The ID of the Service Mesh.
*
*/
@Import(name="serviceMeshId", required=true)
private Output serviceMeshId;
/**
* @return The ID of the Service Mesh.
*
*/
public Output serviceMeshId() {
return this.serviceMeshId;
}
/**
* The type of the Service Mesh Extension Provider. Valid values: `httpextauth`, `grpcextauth`.
*
*/
@Import(name="type", required=true)
private Output type;
/**
* @return The type of the Service Mesh Extension Provider. Valid values: `httpextauth`, `grpcextauth`.
*
*/
public Output type() {
return this.type;
}
private ExtensionProviderArgs() {}
private ExtensionProviderArgs(ExtensionProviderArgs $) {
this.config = $.config;
this.extensionProviderName = $.extensionProviderName;
this.serviceMeshId = $.serviceMeshId;
this.type = $.type;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ExtensionProviderArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ExtensionProviderArgs $;
public Builder() {
$ = new ExtensionProviderArgs();
}
public Builder(ExtensionProviderArgs defaults) {
$ = new ExtensionProviderArgs(Objects.requireNonNull(defaults));
}
/**
* @param config The config of the Service Mesh Extension Provider. The `config` format is json.
*
* @return builder
*
*/
public Builder config(Output config) {
$.config = config;
return this;
}
/**
* @param config The config of the Service Mesh Extension Provider. The `config` format is json.
*
* @return builder
*
*/
public Builder config(String config) {
return config(Output.of(config));
}
/**
* @param extensionProviderName The name of the Service Mesh Extension Provider. It must be prefixed with `$type-`, for example `httpextauth-xxx`, `grpcextauth-xxx`.
*
* @return builder
*
*/
public Builder extensionProviderName(Output extensionProviderName) {
$.extensionProviderName = extensionProviderName;
return this;
}
/**
* @param extensionProviderName The name of the Service Mesh Extension Provider. It must be prefixed with `$type-`, for example `httpextauth-xxx`, `grpcextauth-xxx`.
*
* @return builder
*
*/
public Builder extensionProviderName(String extensionProviderName) {
return extensionProviderName(Output.of(extensionProviderName));
}
/**
* @param serviceMeshId The ID of the Service Mesh.
*
* @return builder
*
*/
public Builder serviceMeshId(Output serviceMeshId) {
$.serviceMeshId = serviceMeshId;
return this;
}
/**
* @param serviceMeshId The ID of the Service Mesh.
*
* @return builder
*
*/
public Builder serviceMeshId(String serviceMeshId) {
return serviceMeshId(Output.of(serviceMeshId));
}
/**
* @param type The type of the Service Mesh Extension Provider. Valid values: `httpextauth`, `grpcextauth`.
*
* @return builder
*
*/
public Builder type(Output type) {
$.type = type;
return this;
}
/**
* @param type The type of the Service Mesh Extension Provider. Valid values: `httpextauth`, `grpcextauth`.
*
* @return builder
*
*/
public Builder type(String type) {
return type(Output.of(type));
}
public ExtensionProviderArgs build() {
if ($.config == null) {
throw new MissingRequiredPropertyException("ExtensionProviderArgs", "config");
}
if ($.extensionProviderName == null) {
throw new MissingRequiredPropertyException("ExtensionProviderArgs", "extensionProviderName");
}
if ($.serviceMeshId == null) {
throw new MissingRequiredPropertyException("ExtensionProviderArgs", "serviceMeshId");
}
if ($.type == null) {
throw new MissingRequiredPropertyException("ExtensionProviderArgs", "type");
}
return $;
}
}
}