Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.gcp.container.kotlin.AzureClusterArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.container.kotlin
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.container.AzureClusterArgs.builder
import com.pulumi.gcp.container.kotlin.inputs.AzureClusterAuthorizationArgs
import com.pulumi.gcp.container.kotlin.inputs.AzureClusterAuthorizationArgsBuilder
import com.pulumi.gcp.container.kotlin.inputs.AzureClusterAzureServicesAuthenticationArgs
import com.pulumi.gcp.container.kotlin.inputs.AzureClusterAzureServicesAuthenticationArgsBuilder
import com.pulumi.gcp.container.kotlin.inputs.AzureClusterControlPlaneArgs
import com.pulumi.gcp.container.kotlin.inputs.AzureClusterControlPlaneArgsBuilder
import com.pulumi.gcp.container.kotlin.inputs.AzureClusterFleetArgs
import com.pulumi.gcp.container.kotlin.inputs.AzureClusterFleetArgsBuilder
import com.pulumi.gcp.container.kotlin.inputs.AzureClusterLoggingConfigArgs
import com.pulumi.gcp.container.kotlin.inputs.AzureClusterLoggingConfigArgsBuilder
import com.pulumi.gcp.container.kotlin.inputs.AzureClusterNetworkingArgs
import com.pulumi.gcp.container.kotlin.inputs.AzureClusterNetworkingArgsBuilder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* An Anthos cluster running on Azure.
* For more information, see:
* * [Multicloud overview](https://cloud.google.com/kubernetes-engine/multi-cloud/docs)
* ## Example Usage
* ### Basic_azure_cluster
* A basic example of a containerazure azure cluster
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
* const versions = gcp.container.getAzureVersions({
* project: "my-project-name",
* location: "us-west1",
* });
* const basic = new gcp.container.AzureClient("basic", {
* applicationId: "12345678-1234-1234-1234-123456789111",
* location: "us-west1",
* name: "client-name",
* tenantId: "12345678-1234-1234-1234-123456789111",
* project: "my-project-name",
* });
* const primary = new gcp.container.AzureCluster("primary", {
* authorization: {
* adminUsers: [{
* username: "[email protected] ",
* }],
* adminGroups: [{
* group: "[email protected] ",
* }],
* },
* azureRegion: "westus2",
* client: pulumi.interpolate`projects/my-project-number/locations/us-west1/azureClients/${basic.name}`,
* controlPlane: {
* sshConfig: {
* 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",
* },
* subnetId: "/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet/subnets/default",
* version: versions.then(versions => versions.validVersions?.[0]),
* },
* fleet: {
* project: "my-project-number",
* },
* location: "us-west1",
* name: "name",
* networking: {
* 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",
* },
* resourceGroupId: "/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-cluster",
* project: "my-project-name",
* });
* ```
* ```python
* import pulumi
* import pulumi_gcp as gcp
* versions = gcp.container.get_azure_versions(project="my-project-name",
* location="us-west1")
* basic = gcp.container.AzureClient("basic",
* application_id="12345678-1234-1234-1234-123456789111",
* location="us-west1",
* name="client-name",
* tenant_id="12345678-1234-1234-1234-123456789111",
* project="my-project-name")
* primary = gcp.container.AzureCluster("primary",
* authorization={
* "admin_users": [{
* "username": "[email protected] ",
* }],
* "admin_groups": [{
* "group": "[email protected] ",
* }],
* },
* azure_region="westus2",
* client=basic.name.apply(lambda name: f"projects/my-project-number/locations/us-west1/azureClients/{name}"),
* control_plane={
* "ssh_config": {
* "authorized_key": "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",
* },
* "subnet_id": "/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet/subnets/default",
* "version": versions.valid_versions[0],
* },
* fleet={
* "project": "my-project-number",
* },
* location="us-west1",
* name="name",
* networking={
* "pod_address_cidr_blocks": ["10.200.0.0/16"],
* "service_address_cidr_blocks": ["10.32.0.0/24"],
* "virtual_network_id": "/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet",
* },
* resource_group_id="/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-cluster",
* project="my-project-name")
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Gcp = Pulumi.Gcp;
* return await Deployment.RunAsync(() =>
* {
* var versions = Gcp.Container.GetAzureVersions.Invoke(new()
* {
* Project = "my-project-name",
* Location = "us-west1",
* });
* var basic = new Gcp.Container.AzureClient("basic", new()
* {
* ApplicationId = "12345678-1234-1234-1234-123456789111",
* Location = "us-west1",
* Name = "client-name",
* TenantId = "12345678-1234-1234-1234-123456789111",
* Project = "my-project-name",
* });
* var primary = new Gcp.Container.AzureCluster("primary", new()
* {
* Authorization = new Gcp.Container.Inputs.AzureClusterAuthorizationArgs
* {
* AdminUsers = new[]
* {
* new Gcp.Container.Inputs.AzureClusterAuthorizationAdminUserArgs
* {
* Username = "[email protected] ",
* },
* },
* AdminGroups = new[]
* {
* new Gcp.Container.Inputs.AzureClusterAuthorizationAdminGroupArgs
* {
* Group = "[email protected] ",
* },
* },
* },
* AzureRegion = "westus2",
* Client = basic.Name.Apply(name => $"projects/my-project-number/locations/us-west1/azureClients/{name}"),
* ControlPlane = new Gcp.Container.Inputs.AzureClusterControlPlaneArgs
* {
* SshConfig = new Gcp.Container.Inputs.AzureClusterControlPlaneSshConfigArgs
* {
* 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",
* },
* SubnetId = "/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet/subnets/default",
* Version = versions.Apply(getAzureVersionsResult => getAzureVersionsResult.ValidVersions[0]),
* },
* Fleet = new Gcp.Container.Inputs.AzureClusterFleetArgs
* {
* Project = "my-project-number",
* },
* Location = "us-west1",
* Name = "name",
* Networking = new Gcp.Container.Inputs.AzureClusterNetworkingArgs
* {
* PodAddressCidrBlocks = new[]
* {
* "10.200.0.0/16",
* },
* ServiceAddressCidrBlocks = new[]
* {
* "10.32.0.0/24",
* },
* VirtualNetworkId = "/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet",
* },
* ResourceGroupId = "/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-cluster",
* Project = "my-project-name",
* });
* });
* ```
* ```go
* package main
* import (
* "fmt"
* "github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* versions, err := container.GetAzureVersions(ctx, &container.GetAzureVersionsArgs{
* Project: pulumi.StringRef("my-project-name"),
* Location: pulumi.StringRef("us-west1"),
* }, nil)
* if err != nil {
* return err
* }
* basic, err := container.NewAzureClient(ctx, "basic", &container.AzureClientArgs{
* ApplicationId: pulumi.String("12345678-1234-1234-1234-123456789111"),
* Location: pulumi.String("us-west1"),
* Name: pulumi.String("client-name"),
* TenantId: pulumi.String("12345678-1234-1234-1234-123456789111"),
* Project: pulumi.String("my-project-name"),
* })
* if err != nil {
* return err
* }
* _, err = container.NewAzureCluster(ctx, "primary", &container.AzureClusterArgs{
* Authorization: &container.AzureClusterAuthorizationArgs{
* AdminUsers: container.AzureClusterAuthorizationAdminUserArray{
* &container.AzureClusterAuthorizationAdminUserArgs{
* Username: pulumi.String("[email protected] "),
* },
* },
* AdminGroups: container.AzureClusterAuthorizationAdminGroupArray{
* &container.AzureClusterAuthorizationAdminGroupArgs{
* Group: pulumi.String("[email protected] "),
* },
* },
* },
* AzureRegion: pulumi.String("westus2"),
* Client: basic.Name.ApplyT(func(name string) (string, error) {
* return fmt.Sprintf("projects/my-project-number/locations/us-west1/azureClients/%v", name), nil
* }).(pulumi.StringOutput),
* ControlPlane: &container.AzureClusterControlPlaneArgs{
* SshConfig: &container.AzureClusterControlPlaneSshConfigArgs{
* AuthorizedKey: pulumi.String("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"),
* },
* SubnetId: pulumi.String("/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet/subnets/default"),
* Version: pulumi.String(versions.ValidVersions[0]),
* },
* Fleet: &container.AzureClusterFleetArgs{
* Project: pulumi.String("my-project-number"),
* },
* Location: pulumi.String("us-west1"),
* Name: pulumi.String("name"),
* Networking: &container.AzureClusterNetworkingArgs{
* PodAddressCidrBlocks: pulumi.StringArray{
* pulumi.String("10.200.0.0/16"),
* },
* ServiceAddressCidrBlocks: pulumi.StringArray{
* pulumi.String("10.32.0.0/24"),
* },
* VirtualNetworkId: pulumi.String("/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet"),
* },
* ResourceGroupId: pulumi.String("/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-cluster"),
* Project: pulumi.String("my-project-name"),
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* 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()
* .project("my-project-name")
* .location("us-west1")
* .build());
* var basic = new AzureClient("basic", AzureClientArgs.builder()
* .applicationId("12345678-1234-1234-1234-123456789111")
* .location("us-west1")
* .name("client-name")
* .tenantId("12345678-1234-1234-1234-123456789111")
* .project("my-project-name")
* .build());
* var primary = new AzureCluster("primary", AzureClusterArgs.builder()
* .authorization(AzureClusterAuthorizationArgs.builder()
* .adminUsers(AzureClusterAuthorizationAdminUserArgs.builder()
* .username("[email protected] ")
* .build())
* .adminGroups(AzureClusterAuthorizationAdminGroupArgs.builder()
* .group("[email protected] ")
* .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")
* .name("name")
* .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")
* .build());
* }
* }
* ```
* ```yaml
* resources:
* primary:
* type: gcp:container:AzureCluster
* properties:
* authorization:
* adminUsers:
* - username: [email protected]
* adminGroups:
* - group: [email protected]
* azureRegion: westus2
* client: projects/my-project-number/locations/us-west1/azureClients/${basic.name}
* controlPlane:
* sshConfig:
* 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
* subnetId: /subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet/subnets/default
* version: ${versions.validVersions[0]}
* fleet:
* project: my-project-number
* location: us-west1
* name: name
* networking:
* 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
* resourceGroupId: /subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-cluster
* project: my-project-name
* basic:
* type: gcp:container:AzureClient
* properties:
* applicationId: 12345678-1234-1234-1234-123456789111
* location: us-west1
* name: client-name
* tenantId: 12345678-1234-1234-1234-123456789111
* project: my-project-name
* variables:
* versions:
* fn::invoke:
* Function: gcp:container:getAzureVersions
* Arguments:
* project: my-project-name
* location: us-west1
* ```
*
* ### Beta_basic_enum_azure_cluster
* A basic example of a containerazure azure cluster with lowercase enums (beta)
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
* const versions = gcp.container.getAzureVersions({
* project: "my-project-name",
* location: "us-west1",
* });
* const basic = new gcp.container.AzureClient("basic", {
* applicationId: "12345678-1234-1234-1234-123456789111",
* location: "us-west1",
* name: "client-name",
* tenantId: "12345678-1234-1234-1234-123456789111",
* project: "my-project-name",
* });
* const primary = new gcp.container.AzureCluster("primary", {
* authorization: {
* adminUsers: [{
* username: "[email protected] ",
* }],
* },
* azureRegion: "westus2",
* client: pulumi.interpolate`projects/my-project-number/locations/us-west1/azureClients/${basic.name}`,
* controlPlane: {
* sshConfig: {
* 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",
* },
* subnetId: "/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet/subnets/default",
* version: versions.then(versions => versions.validVersions?.[0]),
* },
* fleet: {
* project: "my-project-number",
* },
* location: "us-west1",
* name: "name",
* networking: {
* 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",
* },
* resourceGroupId: "/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-cluster",
* project: "my-project-name",
* loggingConfig: {
* componentConfig: {
* enableComponents: [
* "system_components",
* "workloads",
* ],
* },
* },
* });
* ```
* ```python
* import pulumi
* import pulumi_gcp as gcp
* versions = gcp.container.get_azure_versions(project="my-project-name",
* location="us-west1")
* basic = gcp.container.AzureClient("basic",
* application_id="12345678-1234-1234-1234-123456789111",
* location="us-west1",
* name="client-name",
* tenant_id="12345678-1234-1234-1234-123456789111",
* project="my-project-name")
* primary = gcp.container.AzureCluster("primary",
* authorization={
* "admin_users": [{
* "username": "[email protected] ",
* }],
* },
* azure_region="westus2",
* client=basic.name.apply(lambda name: f"projects/my-project-number/locations/us-west1/azureClients/{name}"),
* control_plane={
* "ssh_config": {
* "authorized_key": "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",
* },
* "subnet_id": "/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet/subnets/default",
* "version": versions.valid_versions[0],
* },
* fleet={
* "project": "my-project-number",
* },
* location="us-west1",
* name="name",
* networking={
* "pod_address_cidr_blocks": ["10.200.0.0/16"],
* "service_address_cidr_blocks": ["10.32.0.0/24"],
* "virtual_network_id": "/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet",
* },
* resource_group_id="/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-cluster",
* project="my-project-name",
* logging_config={
* "component_config": {
* "enable_components": [
* "system_components",
* "workloads",
* ],
* },
* })
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Gcp = Pulumi.Gcp;
* return await Deployment.RunAsync(() =>
* {
* var versions = Gcp.Container.GetAzureVersions.Invoke(new()
* {
* Project = "my-project-name",
* Location = "us-west1",
* });
* var basic = new Gcp.Container.AzureClient("basic", new()
* {
* ApplicationId = "12345678-1234-1234-1234-123456789111",
* Location = "us-west1",
* Name = "client-name",
* TenantId = "12345678-1234-1234-1234-123456789111",
* Project = "my-project-name",
* });
* var primary = new Gcp.Container.AzureCluster("primary", new()
* {
* Authorization = new Gcp.Container.Inputs.AzureClusterAuthorizationArgs
* {
* AdminUsers = new[]
* {
* new Gcp.Container.Inputs.AzureClusterAuthorizationAdminUserArgs
* {
* Username = "[email protected] ",
* },
* },
* },
* AzureRegion = "westus2",
* Client = basic.Name.Apply(name => $"projects/my-project-number/locations/us-west1/azureClients/{name}"),
* ControlPlane = new Gcp.Container.Inputs.AzureClusterControlPlaneArgs
* {
* SshConfig = new Gcp.Container.Inputs.AzureClusterControlPlaneSshConfigArgs
* {
* 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",
* },
* SubnetId = "/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet/subnets/default",
* Version = versions.Apply(getAzureVersionsResult => getAzureVersionsResult.ValidVersions[0]),
* },
* Fleet = new Gcp.Container.Inputs.AzureClusterFleetArgs
* {
* Project = "my-project-number",
* },
* Location = "us-west1",
* Name = "name",
* Networking = new Gcp.Container.Inputs.AzureClusterNetworkingArgs
* {
* PodAddressCidrBlocks = new[]
* {
* "10.200.0.0/16",
* },
* ServiceAddressCidrBlocks = new[]
* {
* "10.32.0.0/24",
* },
* VirtualNetworkId = "/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet",
* },
* ResourceGroupId = "/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-cluster",
* Project = "my-project-name",
* LoggingConfig = new Gcp.Container.Inputs.AzureClusterLoggingConfigArgs
* {
* ComponentConfig = new Gcp.Container.Inputs.AzureClusterLoggingConfigComponentConfigArgs
* {
* EnableComponents = new[]
* {
* "system_components",
* "workloads",
* },
* },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "fmt"
* "github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* versions, err := container.GetAzureVersions(ctx, &container.GetAzureVersionsArgs{
* Project: pulumi.StringRef("my-project-name"),
* Location: pulumi.StringRef("us-west1"),
* }, nil)
* if err != nil {
* return err
* }
* basic, err := container.NewAzureClient(ctx, "basic", &container.AzureClientArgs{
* ApplicationId: pulumi.String("12345678-1234-1234-1234-123456789111"),
* Location: pulumi.String("us-west1"),
* Name: pulumi.String("client-name"),
* TenantId: pulumi.String("12345678-1234-1234-1234-123456789111"),
* Project: pulumi.String("my-project-name"),
* })
* if err != nil {
* return err
* }
* _, err = container.NewAzureCluster(ctx, "primary", &container.AzureClusterArgs{
* Authorization: &container.AzureClusterAuthorizationArgs{
* AdminUsers: container.AzureClusterAuthorizationAdminUserArray{
* &container.AzureClusterAuthorizationAdminUserArgs{
* Username: pulumi.String("[email protected] "),
* },
* },
* },
* AzureRegion: pulumi.String("westus2"),
* Client: basic.Name.ApplyT(func(name string) (string, error) {
* return fmt.Sprintf("projects/my-project-number/locations/us-west1/azureClients/%v", name), nil
* }).(pulumi.StringOutput),
* ControlPlane: &container.AzureClusterControlPlaneArgs{
* SshConfig: &container.AzureClusterControlPlaneSshConfigArgs{
* AuthorizedKey: pulumi.String("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"),
* },
* SubnetId: pulumi.String("/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet/subnets/default"),
* Version: pulumi.String(versions.ValidVersions[0]),
* },
* Fleet: &container.AzureClusterFleetArgs{
* Project: pulumi.String("my-project-number"),
* },
* Location: pulumi.String("us-west1"),
* Name: pulumi.String("name"),
* Networking: &container.AzureClusterNetworkingArgs{
* PodAddressCidrBlocks: pulumi.StringArray{
* pulumi.String("10.200.0.0/16"),
* },
* ServiceAddressCidrBlocks: pulumi.StringArray{
* pulumi.String("10.32.0.0/24"),
* },
* VirtualNetworkId: pulumi.String("/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet"),
* },
* ResourceGroupId: pulumi.String("/subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-cluster"),
* Project: pulumi.String("my-project-name"),
* LoggingConfig: &container.AzureClusterLoggingConfigArgs{
* ComponentConfig: &container.AzureClusterLoggingConfigComponentConfigArgs{
* EnableComponents: pulumi.StringArray{
* pulumi.String("system_components"),
* pulumi.String("workloads"),
* },
* },
* },
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* 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 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")
* .name("client-name")
* .tenantId("12345678-1234-1234-1234-123456789111")
* .project("my-project-name")
* .build());
* var primary = new AzureCluster("primary", AzureClusterArgs.builder()
* .authorization(AzureClusterAuthorizationArgs.builder()
* .adminUsers(AzureClusterAuthorizationAdminUserArgs.builder()
* .username("[email protected] ")
* .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")
* .name("name")
* .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());
* }
* }
* ```
* ```yaml
* resources:
* primary:
* type: gcp:container:AzureCluster
* properties:
* authorization:
* adminUsers:
* - username: [email protected]
* azureRegion: westus2
* client: projects/my-project-number/locations/us-west1/azureClients/${basic.name}
* controlPlane:
* sshConfig:
* 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
* subnetId: /subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-byo/providers/Microsoft.Network/virtualNetworks/my--dev-vnet/subnets/default
* version: ${versions.validVersions[0]}
* fleet:
* project: my-project-number
* location: us-west1
* name: name
* networking:
* 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
* resourceGroupId: /subscriptions/12345678-1234-1234-1234-123456789111/resourceGroups/my--dev-cluster
* project: my-project-name
* loggingConfig:
* componentConfig:
* enableComponents:
* - system_components
* - workloads
* basic:
* type: gcp:container:AzureClient
* properties:
* applicationId: 12345678-1234-1234-1234-123456789111
* location: us-west1
* name: client-name
* tenantId: 12345678-1234-1234-1234-123456789111
* project: my-project-name
* variables:
* versions:
* fn::invoke:
* Function: gcp:container:getAzureVersions
* Arguments:
* project: my-project-name
* location: us-west1
* ```
*
* ## Import
* Cluster can be imported using any of these accepted formats:
* * `projects/{{project}}/locations/{{location}}/azureClusters/{{name}}`
* * `{{project}}/{{location}}/{{name}}`
* * `{{location}}/{{name}}`
* When using the `pulumi import` command, Cluster can be imported using one of the formats above. For example:
* ```sh
* $ pulumi import gcp:container/azureCluster:AzureCluster default projects/{{project}}/locations/{{location}}/azureClusters/{{name}}
* ```
* ```sh
* $ pulumi import gcp:container/azureCluster:AzureCluster default {{project}}/{{location}}/{{name}}
* ```
* ```sh
* $ pulumi import gcp:container/azureCluster:AzureCluster default {{location}}/{{name}}
* ```
* @property annotations 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. **Note**: This field is
* non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field
* `effective_annotations` for all of the annotations present on the resource.
* @property authorization Configuration related to the cluster RBAC settings.
* @property azureRegion The Azure region where the cluster runs. Each Google Cloud region supports a subset of nearby Azure regions. You can call to list all supported Azure regions within a given Google Cloud region.
* @property azureServicesAuthentication Azure authentication configuration for management of Azure resources
* @property client 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//locations//azureClients/`. See Resource Names
* (https:cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.
* @property controlPlane Configuration related to the cluster control plane.
* @property description Optional. A human readable description of this cluster. Cannot be longer than 255 UTF-8 encoded bytes.
* @property fleet Fleet configuration.
* @property location The location for the resource
* @property loggingConfig Logging configuration.
* @property name The name of this resource.
* @property networking Cluster-wide networking configuration.
* @property project The project for the resource
* @property resourceGroupId The ARM ID of the resource group where the cluster resources are deployed. For example: `/subscriptions/*/resourceGroups/*`
* */*/
*/
public data class AzureClusterArgs(
public val annotations: Output>? = null,
public val authorization: Output? = null,
public val azureRegion: Output? = null,
public val azureServicesAuthentication: Output? =
null,
public val client: Output? = null,
public val controlPlane: Output? = null,
public val description: Output? = null,
public val fleet: Output? = null,
public val location: Output? = null,
public val loggingConfig: Output? = null,
public val name: Output? = null,
public val networking: Output? = null,
public val project: Output? = null,
public val resourceGroupId: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.container.AzureClusterArgs =
com.pulumi.gcp.container.AzureClusterArgs.builder()
.annotations(
annotations?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.authorization(authorization?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.azureRegion(azureRegion?.applyValue({ args0 -> args0 }))
.azureServicesAuthentication(
azureServicesAuthentication?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.client(client?.applyValue({ args0 -> args0 }))
.controlPlane(controlPlane?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.description(description?.applyValue({ args0 -> args0 }))
.fleet(fleet?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.location(location?.applyValue({ args0 -> args0 }))
.loggingConfig(loggingConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.name(name?.applyValue({ args0 -> args0 }))
.networking(networking?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.project(project?.applyValue({ args0 -> args0 }))
.resourceGroupId(resourceGroupId?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [AzureClusterArgs].
*/
@PulumiTagMarker
public class AzureClusterArgsBuilder internal constructor() {
private var annotations: Output>? = null
private var authorization: Output? = null
private var azureRegion: Output? = null
private var azureServicesAuthentication: Output? =
null
private var client: Output? = null
private var controlPlane: Output? = null
private var description: Output? = null
private var fleet: Output? = null
private var location: Output? = null
private var loggingConfig: Output? = null
private var name: Output? = null
private var networking: Output? = null
private var project: Output? = null
private var resourceGroupId: Output? = null
/**
* @param value 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. **Note**: This field is
* non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field
* `effective_annotations` for all of the annotations present on the resource.
*/
@JvmName("xolteugnglxcjxny")
public suspend fun annotations(`value`: Output>) {
this.annotations = value
}
/**
* @param value Configuration related to the cluster RBAC settings.
*/
@JvmName("jcbxgynramqnvwak")
public suspend fun authorization(`value`: Output) {
this.authorization = value
}
/**
* @param value The Azure region where the cluster runs. Each Google Cloud region supports a subset of nearby Azure regions. You can call to list all supported Azure regions within a given Google Cloud region.
*/
@JvmName("dbvccbexmxwqsfeg")
public suspend fun azureRegion(`value`: Output) {
this.azureRegion = value
}
/**
* @param value Azure authentication configuration for management of Azure resources
*/
@JvmName("ldibrjjmbnypehrb")
public suspend fun azureServicesAuthentication(`value`: Output) {
this.azureServicesAuthentication = value
}
/**
* @param value 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//locations//azureClients/`. See Resource Names
* (https:cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.
*/
@JvmName("eeordyfechcaqcaq")
public suspend fun client(`value`: Output) {
this.client = value
}
/**
* @param value Configuration related to the cluster control plane.
*/
@JvmName("jiawtckdkpwjpcmb")
public suspend fun controlPlane(`value`: Output) {
this.controlPlane = value
}
/**
* @param value Optional. A human readable description of this cluster. Cannot be longer than 255 UTF-8 encoded bytes.
*/
@JvmName("ljmvbxoxlleyklto")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value Fleet configuration.
*/
@JvmName("xlhbrphvyvbdfwpr")
public suspend fun fleet(`value`: Output) {
this.fleet = value
}
/**
* @param value The location for the resource
*/
@JvmName("opqiegbidgaditar")
public suspend fun location(`value`: Output) {
this.location = value
}
/**
* @param value Logging configuration.
*/
@JvmName("dbylfnvtaqtxdxsu")
public suspend fun loggingConfig(`value`: Output) {
this.loggingConfig = value
}
/**
* @param value The name of this resource.
*/
@JvmName("aqbdoewcpvxakcsy")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value Cluster-wide networking configuration.
*/
@JvmName("mwmfduahxqjpubyg")
public suspend fun networking(`value`: Output) {
this.networking = value
}
/**
* @param value The project for the resource
*/
@JvmName("nwunjhaqsqntbrmt")
public suspend fun project(`value`: Output) {
this.project = value
}
/**
* @param value The ARM ID of the resource group where the cluster resources are deployed. For example: `/subscriptions/*/resourceGroups/*`
* */*/
*/
@JvmName("ekqqeragucgetatf")
public suspend fun resourceGroupId(`value`: Output) {
this.resourceGroupId = value
}
/**
* @param value 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. **Note**: This field is
* non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field
* `effective_annotations` for all of the annotations present on the resource.
*/
@JvmName("mdtrqagpkxplfqql")
public suspend fun annotations(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.annotations = mapped
}
/**
* @param values 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. **Note**: This field is
* non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field
* `effective_annotations` for all of the annotations present on the resource.
*/
@JvmName("ohgeaniahgnggbxi")
public fun annotations(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.annotations = mapped
}
/**
* @param value Configuration related to the cluster RBAC settings.
*/
@JvmName("abrbqmaxfgxmecrs")
public suspend fun authorization(`value`: AzureClusterAuthorizationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.authorization = mapped
}
/**
* @param argument Configuration related to the cluster RBAC settings.
*/
@JvmName("tiwmkgwcwpjarnhd")
public suspend fun authorization(argument: suspend AzureClusterAuthorizationArgsBuilder.() -> Unit) {
val toBeMapped = AzureClusterAuthorizationArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.authorization = mapped
}
/**
* @param value The Azure region where the cluster runs. Each Google Cloud region supports a subset of nearby Azure regions. You can call to list all supported Azure regions within a given Google Cloud region.
*/
@JvmName("gjgxwsmvpwkdjnal")
public suspend fun azureRegion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.azureRegion = mapped
}
/**
* @param value Azure authentication configuration for management of Azure resources
*/
@JvmName("wovpamnmhggfwjah")
public suspend fun azureServicesAuthentication(`value`: AzureClusterAzureServicesAuthenticationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.azureServicesAuthentication = mapped
}
/**
* @param argument Azure authentication configuration for management of Azure resources
*/
@JvmName("ymwglfysolmphrtf")
public suspend fun azureServicesAuthentication(argument: suspend AzureClusterAzureServicesAuthenticationArgsBuilder.() -> Unit) {
val toBeMapped = AzureClusterAzureServicesAuthenticationArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.azureServicesAuthentication = mapped
}
/**
* @param value 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//locations//azureClients/`. See Resource Names
* (https:cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.
*/
@JvmName("pocgpavqorvpagne")
public suspend fun client(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.client = mapped
}
/**
* @param value Configuration related to the cluster control plane.
*/
@JvmName("reaufrudupoiebll")
public suspend fun controlPlane(`value`: AzureClusterControlPlaneArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.controlPlane = mapped
}
/**
* @param argument Configuration related to the cluster control plane.
*/
@JvmName("ltmjthauanpkhstx")
public suspend fun controlPlane(argument: suspend AzureClusterControlPlaneArgsBuilder.() -> Unit) {
val toBeMapped = AzureClusterControlPlaneArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.controlPlane = mapped
}
/**
* @param value Optional. A human readable description of this cluster. Cannot be longer than 255 UTF-8 encoded bytes.
*/
@JvmName("tppnqdlrptmolwcc")
public suspend fun description(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.description = mapped
}
/**
* @param value Fleet configuration.
*/
@JvmName("bjstdofpadgvkibb")
public suspend fun fleet(`value`: AzureClusterFleetArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.fleet = mapped
}
/**
* @param argument Fleet configuration.
*/
@JvmName("ctlyxontskewtifp")
public suspend fun fleet(argument: suspend AzureClusterFleetArgsBuilder.() -> Unit) {
val toBeMapped = AzureClusterFleetArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.fleet = mapped
}
/**
* @param value The location for the resource
*/
@JvmName("vbgmmmhinijilxyv")
public suspend fun location(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.location = mapped
}
/**
* @param value Logging configuration.
*/
@JvmName("pmulynqfnkbrbsno")
public suspend fun loggingConfig(`value`: AzureClusterLoggingConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.loggingConfig = mapped
}
/**
* @param argument Logging configuration.
*/
@JvmName("kmmovbuoaysgxvdf")
public suspend fun loggingConfig(argument: suspend AzureClusterLoggingConfigArgsBuilder.() -> Unit) {
val toBeMapped = AzureClusterLoggingConfigArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.loggingConfig = mapped
}
/**
* @param value The name of this resource.
*/
@JvmName("pvcqshynmniorpqv")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value Cluster-wide networking configuration.
*/
@JvmName("megxsxvvjkvfwjke")
public suspend fun networking(`value`: AzureClusterNetworkingArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.networking = mapped
}
/**
* @param argument Cluster-wide networking configuration.
*/
@JvmName("xbcbcfbvgtlbtwdb")
public suspend fun networking(argument: suspend AzureClusterNetworkingArgsBuilder.() -> Unit) {
val toBeMapped = AzureClusterNetworkingArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.networking = mapped
}
/**
* @param value The project for the resource
*/
@JvmName("pjbudtjxbbksjqrd")
public suspend fun project(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.project = mapped
}
/**
* @param value The ARM ID of the resource group where the cluster resources are deployed. For example: `/subscriptions/*/resourceGroups/*`
* */*/
*/
@JvmName("vpurcsvhmiqueirm")
public suspend fun resourceGroupId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.resourceGroupId = mapped
}
internal fun build(): AzureClusterArgs = AzureClusterArgs(
annotations = annotations,
authorization = authorization,
azureRegion = azureRegion,
azureServicesAuthentication = azureServicesAuthentication,
client = client,
controlPlane = controlPlane,
description = description,
fleet = fleet,
location = location,
loggingConfig = loggingConfig,
name = name,
networking = networking,
project = project,
resourceGroupId = resourceGroupId,
)
}