All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azure.containerservice.inputs.KubernetesClusterServiceMeshProfileArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
Show newest version
// *** 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.inputs;

import com.pulumi.azure.containerservice.inputs.KubernetesClusterServiceMeshProfileCertificateAuthorityArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class KubernetesClusterServiceMeshProfileArgs extends com.pulumi.resources.ResourceArgs {

    public static final KubernetesClusterServiceMeshProfileArgs Empty = new KubernetesClusterServiceMeshProfileArgs();

    /**
     * A `certificate_authority` block as defined below. When this property is specified, `key_vault_secrets_provider` is also required to be set. This configuration allows you to bring your own root certificate and keys for Istio CA in the Istio-based service mesh add-on for Azure Kubernetes Service.
     * 
     */
    @Import(name="certificateAuthority")
    private @Nullable Output certificateAuthority;

    /**
     * @return A `certificate_authority` block as defined below. When this property is specified, `key_vault_secrets_provider` is also required to be set. This configuration allows you to bring your own root certificate and keys for Istio CA in the Istio-based service mesh add-on for Azure Kubernetes Service.
     * 
     */
    public Optional> certificateAuthority() {
        return Optional.ofNullable(this.certificateAuthority);
    }

    /**
     * Is Istio External Ingress Gateway enabled?
     * 
     * > **NOTE:** Currently only one Internal Ingress Gateway and one External Ingress Gateway are allowed per cluster
     * 
     */
    @Import(name="externalIngressGatewayEnabled")
    private @Nullable Output externalIngressGatewayEnabled;

    /**
     * @return Is Istio External Ingress Gateway enabled?
     * 
     * > **NOTE:** Currently only one Internal Ingress Gateway and one External Ingress Gateway are allowed per cluster
     * 
     */
    public Optional> externalIngressGatewayEnabled() {
        return Optional.ofNullable(this.externalIngressGatewayEnabled);
    }

    /**
     * Is Istio Internal Ingress Gateway enabled?
     * 
     */
    @Import(name="internalIngressGatewayEnabled")
    private @Nullable Output internalIngressGatewayEnabled;

    /**
     * @return Is Istio Internal Ingress Gateway enabled?
     * 
     */
    public Optional> internalIngressGatewayEnabled() {
        return Optional.ofNullable(this.internalIngressGatewayEnabled);
    }

    /**
     * The mode of the service mesh. Possible value is `Istio`.
     * 
     */
    @Import(name="mode", required=true)
    private Output mode;

    /**
     * @return The mode of the service mesh. Possible value is `Istio`.
     * 
     */
    public Output mode() {
        return this.mode;
    }

    /**
     * Specify 1 or 2 Istio control plane revisions for managing minor upgrades using the canary upgrade process. For example, create the resource with `revisions` set to `["asm-1-20"]`, or leave it empty (the `revisions` will only be known after apply). To start the canary upgrade, change `revisions` to `["asm-1-20", "asm-1-21"]`. To roll back the canary upgrade, revert to `["asm-1-20"]`. To confirm the upgrade, change to `["asm-1-21"]`.
     * 
     * > **NOTE:** Upgrading to a new (canary) revision does not affect existing sidecar proxies. You need to apply the canary revision label to selected namespaces and restart pods with kubectl to inject the new sidecar proxy. [Learn more](https://istio.io/latest/docs/setup/upgrade/canary/#data-plane).
     * 
     */
    @Import(name="revisions", required=true)
    private Output> revisions;

    /**
     * @return Specify 1 or 2 Istio control plane revisions for managing minor upgrades using the canary upgrade process. For example, create the resource with `revisions` set to `["asm-1-20"]`, or leave it empty (the `revisions` will only be known after apply). To start the canary upgrade, change `revisions` to `["asm-1-20", "asm-1-21"]`. To roll back the canary upgrade, revert to `["asm-1-20"]`. To confirm the upgrade, change to `["asm-1-21"]`.
     * 
     * > **NOTE:** Upgrading to a new (canary) revision does not affect existing sidecar proxies. You need to apply the canary revision label to selected namespaces and restart pods with kubectl to inject the new sidecar proxy. [Learn more](https://istio.io/latest/docs/setup/upgrade/canary/#data-plane).
     * 
     */
    public Output> revisions() {
        return this.revisions;
    }

    private KubernetesClusterServiceMeshProfileArgs() {}

    private KubernetesClusterServiceMeshProfileArgs(KubernetesClusterServiceMeshProfileArgs $) {
        this.certificateAuthority = $.certificateAuthority;
        this.externalIngressGatewayEnabled = $.externalIngressGatewayEnabled;
        this.internalIngressGatewayEnabled = $.internalIngressGatewayEnabled;
        this.mode = $.mode;
        this.revisions = $.revisions;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(KubernetesClusterServiceMeshProfileArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private KubernetesClusterServiceMeshProfileArgs $;

        public Builder() {
            $ = new KubernetesClusterServiceMeshProfileArgs();
        }

        public Builder(KubernetesClusterServiceMeshProfileArgs defaults) {
            $ = new KubernetesClusterServiceMeshProfileArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param certificateAuthority A `certificate_authority` block as defined below. When this property is specified, `key_vault_secrets_provider` is also required to be set. This configuration allows you to bring your own root certificate and keys for Istio CA in the Istio-based service mesh add-on for Azure Kubernetes Service.
         * 
         * @return builder
         * 
         */
        public Builder certificateAuthority(@Nullable Output certificateAuthority) {
            $.certificateAuthority = certificateAuthority;
            return this;
        }

        /**
         * @param certificateAuthority A `certificate_authority` block as defined below. When this property is specified, `key_vault_secrets_provider` is also required to be set. This configuration allows you to bring your own root certificate and keys for Istio CA in the Istio-based service mesh add-on for Azure Kubernetes Service.
         * 
         * @return builder
         * 
         */
        public Builder certificateAuthority(KubernetesClusterServiceMeshProfileCertificateAuthorityArgs certificateAuthority) {
            return certificateAuthority(Output.of(certificateAuthority));
        }

        /**
         * @param externalIngressGatewayEnabled Is Istio External Ingress Gateway enabled?
         * 
         * > **NOTE:** Currently only one Internal Ingress Gateway and one External Ingress Gateway are allowed per cluster
         * 
         * @return builder
         * 
         */
        public Builder externalIngressGatewayEnabled(@Nullable Output externalIngressGatewayEnabled) {
            $.externalIngressGatewayEnabled = externalIngressGatewayEnabled;
            return this;
        }

        /**
         * @param externalIngressGatewayEnabled Is Istio External Ingress Gateway enabled?
         * 
         * > **NOTE:** Currently only one Internal Ingress Gateway and one External Ingress Gateway are allowed per cluster
         * 
         * @return builder
         * 
         */
        public Builder externalIngressGatewayEnabled(Boolean externalIngressGatewayEnabled) {
            return externalIngressGatewayEnabled(Output.of(externalIngressGatewayEnabled));
        }

        /**
         * @param internalIngressGatewayEnabled Is Istio Internal Ingress Gateway enabled?
         * 
         * @return builder
         * 
         */
        public Builder internalIngressGatewayEnabled(@Nullable Output internalIngressGatewayEnabled) {
            $.internalIngressGatewayEnabled = internalIngressGatewayEnabled;
            return this;
        }

        /**
         * @param internalIngressGatewayEnabled Is Istio Internal Ingress Gateway enabled?
         * 
         * @return builder
         * 
         */
        public Builder internalIngressGatewayEnabled(Boolean internalIngressGatewayEnabled) {
            return internalIngressGatewayEnabled(Output.of(internalIngressGatewayEnabled));
        }

        /**
         * @param mode The mode of the service mesh. Possible value is `Istio`.
         * 
         * @return builder
         * 
         */
        public Builder mode(Output mode) {
            $.mode = mode;
            return this;
        }

        /**
         * @param mode The mode of the service mesh. Possible value is `Istio`.
         * 
         * @return builder
         * 
         */
        public Builder mode(String mode) {
            return mode(Output.of(mode));
        }

        /**
         * @param revisions Specify 1 or 2 Istio control plane revisions for managing minor upgrades using the canary upgrade process. For example, create the resource with `revisions` set to `["asm-1-20"]`, or leave it empty (the `revisions` will only be known after apply). To start the canary upgrade, change `revisions` to `["asm-1-20", "asm-1-21"]`. To roll back the canary upgrade, revert to `["asm-1-20"]`. To confirm the upgrade, change to `["asm-1-21"]`.
         * 
         * > **NOTE:** Upgrading to a new (canary) revision does not affect existing sidecar proxies. You need to apply the canary revision label to selected namespaces and restart pods with kubectl to inject the new sidecar proxy. [Learn more](https://istio.io/latest/docs/setup/upgrade/canary/#data-plane).
         * 
         * @return builder
         * 
         */
        public Builder revisions(Output> revisions) {
            $.revisions = revisions;
            return this;
        }

        /**
         * @param revisions Specify 1 or 2 Istio control plane revisions for managing minor upgrades using the canary upgrade process. For example, create the resource with `revisions` set to `["asm-1-20"]`, or leave it empty (the `revisions` will only be known after apply). To start the canary upgrade, change `revisions` to `["asm-1-20", "asm-1-21"]`. To roll back the canary upgrade, revert to `["asm-1-20"]`. To confirm the upgrade, change to `["asm-1-21"]`.
         * 
         * > **NOTE:** Upgrading to a new (canary) revision does not affect existing sidecar proxies. You need to apply the canary revision label to selected namespaces and restart pods with kubectl to inject the new sidecar proxy. [Learn more](https://istio.io/latest/docs/setup/upgrade/canary/#data-plane).
         * 
         * @return builder
         * 
         */
        public Builder revisions(List revisions) {
            return revisions(Output.of(revisions));
        }

        /**
         * @param revisions Specify 1 or 2 Istio control plane revisions for managing minor upgrades using the canary upgrade process. For example, create the resource with `revisions` set to `["asm-1-20"]`, or leave it empty (the `revisions` will only be known after apply). To start the canary upgrade, change `revisions` to `["asm-1-20", "asm-1-21"]`. To roll back the canary upgrade, revert to `["asm-1-20"]`. To confirm the upgrade, change to `["asm-1-21"]`.
         * 
         * > **NOTE:** Upgrading to a new (canary) revision does not affect existing sidecar proxies. You need to apply the canary revision label to selected namespaces and restart pods with kubectl to inject the new sidecar proxy. [Learn more](https://istio.io/latest/docs/setup/upgrade/canary/#data-plane).
         * 
         * @return builder
         * 
         */
        public Builder revisions(String... revisions) {
            return revisions(List.of(revisions));
        }

        public KubernetesClusterServiceMeshProfileArgs build() {
            if ($.mode == null) {
                throw new MissingRequiredPropertyException("KubernetesClusterServiceMeshProfileArgs", "mode");
            }
            if ($.revisions == null) {
                throw new MissingRequiredPropertyException("KubernetesClusterServiceMeshProfileArgs", "revisions");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy