com.pulumi.resources.InputArgs Maven / Gradle / Ivy
package com.pulumi.resources;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.pulumi.Log;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.CompletableFutures;
import com.pulumi.core.internal.annotations.ImportMetadata;
import com.pulumi.core.internal.annotations.InternalUse;
import com.pulumi.serialization.internal.JsonFormatter;
import com.pulumi.serialization.internal.Serializer;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.function.BiFunction;
import java.util.function.Function;
import static com.google.common.collect.ImmutableList.toImmutableList;
import static java.util.Objects.requireNonNull;
import static java.util.stream.Collectors.toMap;
/**
* Base type for all input argument classes.
*/
@ParametersAreNonnullByDefault
public abstract class InputArgs {
private final ImmutableList> inputInfos;
protected InputArgs() {
this.inputInfos = extractInputInfos(this.getClass());
}
protected abstract void validateMember(Class> memberType, String fullName);
@InternalUse
@ParametersAreNonnullByDefault
public static final class InputArgsInternal {
private final InputArgs inputArgs;
private InputArgsInternal(InputArgs inputArgs) {
this.inputArgs = requireNonNull(inputArgs);
}
public static InputArgsInternal from(InputArgs inputArgs) {
return new InputArgsInternal(inputArgs);
}
// TODO: try to remove, this only casts the type
public CompletableFuture
© 2015 - 2024 Weber Informatics LLC | Privacy Policy