Azure Cluster
An Anthos cluster running on Azure. For more information, see:
Example Usage
Basic_azure_cluster
A basic example of a containerazure azure cluster
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.container.ContainerFunctions;
import com.pulumi.gcp.container.inputs.GetAzureVersionsArgs;
import com.pulumi.gcp.container.AzureClient;
import com.pulumi.gcp.container.AzureClientArgs;
import com.pulumi.gcp.container.AzureCluster;
import com.pulumi.gcp.container.AzureClusterArgs;
import com.pulumi.gcp.container.inputs.AzureClusterAuthorizationArgs;
import com.pulumi.gcp.container.inputs.AzureClusterControlPlaneArgs;
import com.pulumi.gcp.container.inputs.AzureClusterControlPlaneSshConfigArgs;
import com.pulumi.gcp.container.inputs.AzureClusterFleetArgs;
import com.pulumi.gcp.container.inputs.AzureClusterNetworkingArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var versions = ContainerFunctions.getAzureVersions(GetAzureVersionsArgs.builder()
.location("us-west1")
.project("my-project-name")
.build());
var basic = new AzureClient("basic", AzureClientArgs.builder()
.applicationId("12345678-1234-1234-1234-123456789111")
.location("us-west1")
.project("my-project-name")
.tenantId("12345678-1234-1234-1234-123456789111")
.build());
var primary = new AzureCluster("primary", AzureClusterArgs.builder()
.authorization(AzureClusterAuthorizationArgs.builder()
.adminUsers(AzureClusterAuthorizationAdminUserArgs.builder()
.username("mmv2@google.com")
.build())
.build())
.azureRegion("westus2")
.client(basic.name().applyValue(name -> String.format("projects/my-project-number/locations/us-west1/azureClients/%s", name)))
.controlPlane(AzureClusterControlPlaneArgs.builder()
.sshConfig(AzureClusterControlPlaneSshConfigArgs.builder()
.authorizedKey("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC8yaayO6lnb2v+SedxUMa2c8vtIEzCzBjM3EJJsv8Vm9zUDWR7dXWKoNGARUb2mNGXASvI6mFIDXTIlkQ0poDEPpMaXR0g2cb5xT8jAAJq7fqXL3+0rcJhY/uigQ+MrT6s+ub0BFVbsmGHNrMQttXX9gtmwkeAEvj3mra9e5pkNf90qlKnZz6U0SVArxVsLx07vHPHDIYrl0OPG4zUREF52igbBPiNrHJFDQJT/4YlDMJmo/QT/A1D6n9ocemvZSzhRx15/Arjowhr+VVKSbaxzPtEfY0oIg2SrqJnnr/l3Du5qIefwh5VmCZe4xopPUaDDoOIEFriZ88sB+3zz8ib8sk8zJJQCgeP78tQvXCgS+4e5W3TUg9mxjB6KjXTyHIVhDZqhqde0OI3Fy1UuVzRUwnBaLjBnAwP5EoFQGRmDYk/rEYe7HTmovLeEBUDQocBQKT4Ripm/xJkkWY7B07K/tfo56dGUCkvyIVXKBInCh+dLK7gZapnd4UWkY0xBYcwo1geMLRq58iFTLA2j/JmpmHXp7m0l7jJii7d44uD3tTIFYThn7NlOnvhLim/YcBK07GMGIN7XwrrKZKmxXaspw6KBWVhzuw1UPxctxshYEaMLfFg/bwOw8HvMPr9VtrElpSB7oiOh91PDIPdPBgHCi7N2QgQ5l/ZDBHieSpNrQ== thomasrodgers")
.build())
.subnetId("/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet/subnets/default")
.version(versions.applyValue(getAzureVersionsResult -> getAzureVersionsResult.validVersions()[0]))
.build())
.fleet(AzureClusterFleetArgs.builder()
.project("my-project-number")
.build())
.location("us-west1")
.networking(AzureClusterNetworkingArgs.builder()
.podAddressCidrBlocks("10.200.0.0/16")
.serviceAddressCidrBlocks("10.32.0.0/24")
.virtualNetworkId("/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet")
.build())
.project("my-project-name")
.resourceGroupId("/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-cluster")
.build());
}
}
Beta_basic_enum_azure_cluster
A basic example of a containerazure azure cluster with lowercase enums (beta)
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.container.ContainerFunctions;
import com.pulumi.gcp.container.inputs.GetAzureVersionsArgs;
import com.pulumi.gcp.container.AzureClient;
import com.pulumi.gcp.container.AzureClientArgs;
import com.pulumi.gcp.container.AzureCluster;
import com.pulumi.gcp.container.AzureClusterArgs;
import com.pulumi.gcp.container.inputs.AzureClusterAuthorizationArgs;
import com.pulumi.gcp.container.inputs.AzureClusterControlPlaneArgs;
import com.pulumi.gcp.container.inputs.AzureClusterControlPlaneSshConfigArgs;
import com.pulumi.gcp.container.inputs.AzureClusterFleetArgs;
import com.pulumi.gcp.container.inputs.AzureClusterNetworkingArgs;
import com.pulumi.gcp.container.inputs.AzureClusterLoggingConfigArgs;
import com.pulumi.gcp.container.inputs.AzureClusterLoggingConfigComponentConfigArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var versions = ContainerFunctions.getAzureVersions(GetAzureVersionsArgs.builder()
.project("my-project-name")
.location("us-west1")
.build());
var basic = new AzureClient("basic", AzureClientArgs.builder()
.applicationId("12345678-1234-1234-1234-123456789111")
.location("us-west1")
.tenantId("12345678-1234-1234-1234-123456789111")
.project("my-project-name")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var primary = new AzureCluster("primary", AzureClusterArgs.builder()
.authorization(AzureClusterAuthorizationArgs.builder()
.adminUsers(AzureClusterAuthorizationAdminUserArgs.builder()
.username("mmv2@google.com")
.build())
.build())
.azureRegion("westus2")
.client(basic.name().applyValue(name -> String.format("projects/my-project-number/locations/us-west1/azureClients/%s", name)))
.controlPlane(AzureClusterControlPlaneArgs.builder()
.sshConfig(AzureClusterControlPlaneSshConfigArgs.builder()
.authorizedKey("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC8yaayO6lnb2v+SedxUMa2c8vtIEzCzBjM3EJJsv8Vm9zUDWR7dXWKoNGARUb2mNGXASvI6mFIDXTIlkQ0poDEPpMaXR0g2cb5xT8jAAJq7fqXL3+0rcJhY/uigQ+MrT6s+ub0BFVbsmGHNrMQttXX9gtmwkeAEvj3mra9e5pkNf90qlKnZz6U0SVArxVsLx07vHPHDIYrl0OPG4zUREF52igbBPiNrHJFDQJT/4YlDMJmo/QT/A1D6n9ocemvZSzhRx15/Arjowhr+VVKSbaxzPtEfY0oIg2SrqJnnr/l3Du5qIefwh5VmCZe4xopPUaDDoOIEFriZ88sB+3zz8ib8sk8zJJQCgeP78tQvXCgS+4e5W3TUg9mxjB6KjXTyHIVhDZqhqde0OI3Fy1UuVzRUwnBaLjBnAwP5EoFQGRmDYk/rEYe7HTmovLeEBUDQocBQKT4Ripm/xJkkWY7B07K/tfo56dGUCkvyIVXKBInCh+dLK7gZapnd4UWkY0xBYcwo1geMLRq58iFTLA2j/JmpmHXp7m0l7jJii7d44uD3tTIFYThn7NlOnvhLim/YcBK07GMGIN7XwrrKZKmxXaspw6KBWVhzuw1UPxctxshYEaMLfFg/bwOw8HvMPr9VtrElpSB7oiOh91PDIPdPBgHCi7N2QgQ5l/ZDBHieSpNrQ== thomasrodgers")
.build())
.subnetId("/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet/subnets/default")
.version(versions.applyValue(getAzureVersionsResult -> getAzureVersionsResult.validVersions()[0]))
.build())
.fleet(AzureClusterFleetArgs.builder()
.project("my-project-number")
.build())
.location("us-west1")
.networking(AzureClusterNetworkingArgs.builder()
.podAddressCidrBlocks("10.200.0.0/16")
.serviceAddressCidrBlocks("10.32.0.0/24")
.virtualNetworkId("/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet")
.build())
.resourceGroupId("/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-cluster")
.project("my-project-name")
.loggingConfig(AzureClusterLoggingConfigArgs.builder()
.componentConfig(AzureClusterLoggingConfigComponentConfigArgs.builder()
.enableComponents(
"system_components",
"workloads")
.build())
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}
Import
Cluster can be imported using any of these accepted formats
$ pulumi import gcp:container/azureCluster:AzureCluster default projects/{{project}}/locations/{{location}}/azureClusters/{{name}}
$ pulumi import gcp:container/azureCluster:AzureCluster default {{project}}/{{location}}/{{name}}
$ pulumi import gcp:container/azureCluster:AzureCluster default {{location}}/{{name}}
Properties
Optional. Annotations on the cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Keys can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.
Name of the AzureClient. The AzureClient
resource must reside on the same GCP project and region as the AzureCluster
. AzureClient
names are formatted as projects/<project-number>/locations/<region>/azureClients/<client-id>
. See Resource Names (https:cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.