com.pulumi.azure.batch.outputs.PoolContainerConfiguration 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.azure.batch.outputs;
import com.pulumi.azure.batch.outputs.PoolContainerConfigurationContainerRegistry;
import com.pulumi.core.annotations.CustomType;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class PoolContainerConfiguration {
/**
* @return A list of container image names to use, as would be specified by `docker pull`. Changing this forces a new resource to be created.
*
*/
private @Nullable List containerImageNames;
/**
* @return One or more `container_registries` blocks as defined below. Additional container registries from which container images can be pulled by the pool's VMs. Changing this forces a new resource to be created.
*
*/
private @Nullable List containerRegistries;
/**
* @return The type of container configuration. Possible value is `DockerCompatible`.
*
*/
private @Nullable String type;
private PoolContainerConfiguration() {}
/**
* @return A list of container image names to use, as would be specified by `docker pull`. Changing this forces a new resource to be created.
*
*/
public List containerImageNames() {
return this.containerImageNames == null ? List.of() : this.containerImageNames;
}
/**
* @return One or more `container_registries` blocks as defined below. Additional container registries from which container images can be pulled by the pool's VMs. Changing this forces a new resource to be created.
*
*/
public List containerRegistries() {
return this.containerRegistries == null ? List.of() : this.containerRegistries;
}
/**
* @return The type of container configuration. Possible value is `DockerCompatible`.
*
*/
public Optional type() {
return Optional.ofNullable(this.type);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(PoolContainerConfiguration defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable List containerImageNames;
private @Nullable List containerRegistries;
private @Nullable String type;
public Builder() {}
public Builder(PoolContainerConfiguration defaults) {
Objects.requireNonNull(defaults);
this.containerImageNames = defaults.containerImageNames;
this.containerRegistries = defaults.containerRegistries;
this.type = defaults.type;
}
@CustomType.Setter
public Builder containerImageNames(@Nullable List containerImageNames) {
this.containerImageNames = containerImageNames;
return this;
}
public Builder containerImageNames(String... containerImageNames) {
return containerImageNames(List.of(containerImageNames));
}
@CustomType.Setter
public Builder containerRegistries(@Nullable List containerRegistries) {
this.containerRegistries = containerRegistries;
return this;
}
public Builder containerRegistries(PoolContainerConfigurationContainerRegistry... containerRegistries) {
return containerRegistries(List.of(containerRegistries));
}
@CustomType.Setter
public Builder type(@Nullable String type) {
this.type = type;
return this;
}
public PoolContainerConfiguration build() {
final var _resultValue = new PoolContainerConfiguration();
_resultValue.containerImageNames = containerImageNames;
_resultValue.containerRegistries = containerRegistries;
_resultValue.type = type;
return _resultValue;
}
}
}