com.pulumi.azure.containerservice.outputs.KubernetesClusterExtensionPlan 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.containerservice.outputs;
import com.pulumi.core.annotations.CustomType;
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 KubernetesClusterExtensionPlan {
/**
* @return Specifies the name of the plan from the marketplace. Changing this forces a new Kubernetes Cluster Extension to be created.
*
*/
private String name;
/**
* @return Specifies the product of the plan from the marketplace. Changing this forces a new Kubernetes Cluster Extension to be created.
*
*/
private String product;
/**
* @return Specifies the promotion code to use with the plan. Changing this forces a new Kubernetes Cluster Extension to be created.
*
*/
private @Nullable String promotionCode;
/**
* @return Specifies the publisher of the plan. Changing this forces a new Kubernetes Cluster Extension to be created.
*
*/
private String publisher;
/**
* @return Specifies the version of the plan from the marketplace. Changing this forces a new Kubernetes Cluster Extension to be created.
*
* > **NOTE:** When `plan` is specified, legal terms must be accepted for this item on this subscription before creating the Kubernetes Cluster Extension. The `azure.marketplace.Agreement` resource or AZ CLI tool can be used to do this.
*
*/
private @Nullable String version;
private KubernetesClusterExtensionPlan() {}
/**
* @return Specifies the name of the plan from the marketplace. Changing this forces a new Kubernetes Cluster Extension to be created.
*
*/
public String name() {
return this.name;
}
/**
* @return Specifies the product of the plan from the marketplace. Changing this forces a new Kubernetes Cluster Extension to be created.
*
*/
public String product() {
return this.product;
}
/**
* @return Specifies the promotion code to use with the plan. Changing this forces a new Kubernetes Cluster Extension to be created.
*
*/
public Optional promotionCode() {
return Optional.ofNullable(this.promotionCode);
}
/**
* @return Specifies the publisher of the plan. Changing this forces a new Kubernetes Cluster Extension to be created.
*
*/
public String publisher() {
return this.publisher;
}
/**
* @return Specifies the version of the plan from the marketplace. Changing this forces a new Kubernetes Cluster Extension to be created.
*
* > **NOTE:** When `plan` is specified, legal terms must be accepted for this item on this subscription before creating the Kubernetes Cluster Extension. The `azure.marketplace.Agreement` resource or AZ CLI tool can be used to do this.
*
*/
public Optional version() {
return Optional.ofNullable(this.version);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(KubernetesClusterExtensionPlan defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private String name;
private String product;
private @Nullable String promotionCode;
private String publisher;
private @Nullable String version;
public Builder() {}
public Builder(KubernetesClusterExtensionPlan defaults) {
Objects.requireNonNull(defaults);
this.name = defaults.name;
this.product = defaults.product;
this.promotionCode = defaults.promotionCode;
this.publisher = defaults.publisher;
this.version = defaults.version;
}
@CustomType.Setter
public Builder name(String name) {
if (name == null) {
throw new MissingRequiredPropertyException("KubernetesClusterExtensionPlan", "name");
}
this.name = name;
return this;
}
@CustomType.Setter
public Builder product(String product) {
if (product == null) {
throw new MissingRequiredPropertyException("KubernetesClusterExtensionPlan", "product");
}
this.product = product;
return this;
}
@CustomType.Setter
public Builder promotionCode(@Nullable String promotionCode) {
this.promotionCode = promotionCode;
return this;
}
@CustomType.Setter
public Builder publisher(String publisher) {
if (publisher == null) {
throw new MissingRequiredPropertyException("KubernetesClusterExtensionPlan", "publisher");
}
this.publisher = publisher;
return this;
}
@CustomType.Setter
public Builder version(@Nullable String version) {
this.version = version;
return this;
}
public KubernetesClusterExtensionPlan build() {
final var _resultValue = new KubernetesClusterExtensionPlan();
_resultValue.name = name;
_resultValue.product = product;
_resultValue.promotionCode = promotionCode;
_resultValue.publisher = publisher;
_resultValue.version = version;
return _resultValue;
}
}
}