From c634571970a35b52b3c9fe77766f1c5ae6db9ac5 Mon Sep 17 00:00:00 2001 From: Florian Schwab Date: Fri, 23 Feb 2024 06:22:12 +0100 Subject: [PATCH] fix config conversion --- examples/nodejs/package.json | 2 +- go.work | 6 +- provider/cluster.go | 805 +- provider/cluster_test.go | 71 - provider/go.mod | 28 +- provider/go.sum | 49 +- provider/helpers.go | 52 +- provider/internal/k0sctl/apply.go | 66 - provider/internal/k0sctl/cluster.go | 71 - provider/internal/k0sctl/defaults.go | 52 - provider/internal/k0sctl/kubeconfig.go | 31 - provider/internal/k0sctl/reset.go | 37 - provider/internal/k0sctl/validate.go | 11 - provider/k0sctl.go | 160 + provider/k0sctlCluster.go | 338 + provider/metadata.go | 14 - provider/provider.go | 2 +- sdk/dotnet/Inputs/ClusterCalicoImageArgs.cs | 32 - sdk/dotnet/Inputs/ClusterK0sArgs.cs | 2 +- sdk/dotnet/Inputs/ClusterK0sConfigArgs.cs | 26 - sdk/dotnet/Inputs/ClusterK0sSpecArgs.cs | 66 - .../{ClusterAPIArgs.cs => K0sAPIArgs.cs} | 6 +- sdk/dotnet/Inputs/K0sArgs.cs | 32 + ...{ClusterCalicoArgs.cs => K0sCalicoArgs.cs} | 6 +- sdk/dotnet/Inputs/K0sCalicoImageArgs.cs | 32 + ...gerArgs.cs => K0sControllerManagerArgs.cs} | 6 +- ...erDualStackArgs.cs => K0sDualStackArgs.cs} | 6 +- ...EnvoyProxyArgs.cs => K0sEnvoyProxyArgs.cs} | 6 +- .../{ClusterEtcdArgs.cs => K0sEtcdArgs.cs} | 8 +- ...rArgs.cs => K0sEtcdExternalClusterArgs.cs} | 6 +- ...atureGateArgs.cs => K0sFeatureGateArgs.cs} | 6 +- .../{ClusterImageArgs.cs => K0sImageArgs.cs} | 6 +- ...{ClusterImagesArgs.cs => K0sImagesArgs.cs} | 20 +- ...lConfigArgs.cs => K0sInstallConfigArgs.cs} | 8 +- ...serArgs.cs => K0sInstallConfigUserArgs.cs} | 6 +- .../{ClusterKineArgs.cs => K0sKineArgs.cs} | 6 +- ...ectivityArgs.cs => K0sKonnectivityArgs.cs} | 6 +- ...erKubeProxyArgs.cs => K0sKubeProxyArgs.cs} | 10 +- ...lesArgs.cs => K0sKubeProxyIPTablesArgs.cs} | 6 +- ...oxyIPVSArgs.cs => K0sKubeProxyIPVSArgs.cs} | 6 +- ...KubeRouterArgs.cs => K0sKubeRouterArgs.cs} | 6 +- ...ImageArgs.cs => K0sKubeRouterImageArgs.cs} | 10 +- sdk/dotnet/Inputs/K0sMetadataArgs.cs | 23 + ...lusterNetworkArgs.cs => K0sNetworkArgs.cs} | 16 +- ...gs.cs => K0sNodeLocalLoadBalancingArgs.cs} | 8 +- ...icyArgs.cs => K0sPodSecurityPolicyArgs.cs} | 6 +- ...erSchedulerArgs.cs => K0sSchedulerArgs.cs} | 6 +- sdk/dotnet/Inputs/K0sSpecArgs.cs | 66 + ...lusterStorageArgs.cs => K0sStorageArgs.cs} | 10 +- ...erTelemetryArgs.cs => K0sTelemetryArgs.cs} | 6 +- ...ProfileArgs.cs => K0sWorkerProfileArgs.cs} | 6 +- sdk/dotnet/Outputs/ClusterK0s.cs | 4 +- sdk/dotnet/Outputs/ClusterK0sSpec.cs | 69 - .../Outputs/{ClusterK0sConfig.cs => K0s.cs} | 20 +- .../Outputs/{ClusterAPI.cs => K0sAPI.cs} | 4 +- .../{ClusterCalico.cs => K0sCalico.cs} | 4 +- ...lusterCalicoImage.cs => K0sCalicoImage.cs} | 20 +- ...llerManager.cs => K0sControllerManager.cs} | 4 +- .../{ClusterDualStack.cs => K0sDualStack.cs} | 4 +- ...{ClusterEnvoyProxy.cs => K0sEnvoyProxy.cs} | 4 +- .../Outputs/{ClusterEtcd.cs => K0sEtcd.cs} | 8 +- ...alCluster.cs => K0sEtcdExternalCluster.cs} | 4 +- ...lusterFeatureGate.cs => K0sFeatureGate.cs} | 4 +- .../Outputs/{ClusterImage.cs => K0sImage.cs} | 4 +- .../{ClusterImages.cs => K0sImages.cs} | 32 +- ...erInstallConfig.cs => K0sInstallConfig.cs} | 6 +- ...lConfigUser.cs => K0sInstallConfigUser.cs} | 4 +- .../Outputs/{ClusterKine.cs => K0sKine.cs} | 4 +- ...sterKonnectivity.cs => K0sKonnectivity.cs} | 4 +- .../{ClusterKubeProxy.cs => K0sKubeProxy.cs} | 12 +- ...oxyIPTables.cs => K0sKubeProxyIPTables.cs} | 4 +- ...erKubeProxyIPVS.cs => K0sKubeProxyIPVS.cs} | 4 +- ...{ClusterKubeRouter.cs => K0sKubeRouter.cs} | 4 +- ...beRouterImage.cs => K0sKubeRouterImage.cs} | 12 +- sdk/dotnet/Outputs/K0sMetadata.cs | 24 + .../{ClusterNetwork.cs => K0sNetwork.cs} | 24 +- ...ancing.cs => K0sNodeLocalLoadBalancing.cs} | 8 +- ...urityPolicy.cs => K0sPodSecurityPolicy.cs} | 4 +- .../{ClusterScheduler.cs => K0sScheduler.cs} | 4 +- sdk/dotnet/Outputs/K0sSpec.cs | 69 + .../{ClusterStorage.cs => K0sStorage.cs} | 12 +- .../{ClusterTelemetry.cs => K0sTelemetry.cs} | 4 +- ...erWorkerProfile.cs => K0sWorkerProfile.cs} | 4 +- sdk/go/k0s/pulumiTypes.go | 7831 +++++++++-------- sdk/nodejs/types/input.ts | 312 +- sdk/nodejs/types/output.ts | 312 +- sdk/python/pulumi_k0s/_inputs.py | 2489 +++--- sdk/python/pulumi_k0s/outputs.py | 2306 ++--- tests/go.mod | 21 +- tests/go.sum | 33 + 90 files changed, 8137 insertions(+), 7831 deletions(-) delete mode 100644 provider/cluster_test.go delete mode 100644 provider/internal/k0sctl/apply.go delete mode 100644 provider/internal/k0sctl/cluster.go delete mode 100644 provider/internal/k0sctl/defaults.go delete mode 100644 provider/internal/k0sctl/kubeconfig.go delete mode 100644 provider/internal/k0sctl/reset.go delete mode 100644 provider/internal/k0sctl/validate.go create mode 100644 provider/k0sctl.go create mode 100644 provider/k0sctlCluster.go delete mode 100644 provider/metadata.go delete mode 100644 sdk/dotnet/Inputs/ClusterCalicoImageArgs.cs delete mode 100644 sdk/dotnet/Inputs/ClusterK0sConfigArgs.cs delete mode 100644 sdk/dotnet/Inputs/ClusterK0sSpecArgs.cs rename sdk/dotnet/Inputs/{ClusterAPIArgs.cs => K0sAPIArgs.cs} (86%) create mode 100644 sdk/dotnet/Inputs/K0sArgs.cs rename sdk/dotnet/Inputs/{ClusterCalicoArgs.cs => K0sCalicoArgs.cs} (87%) create mode 100644 sdk/dotnet/Inputs/K0sCalicoImageArgs.cs rename sdk/dotnet/Inputs/{ClusterControllerManagerArgs.cs => K0sControllerManagerArgs.cs} (72%) rename sdk/dotnet/Inputs/{ClusterDualStackArgs.cs => K0sDualStackArgs.cs} (75%) rename sdk/dotnet/Inputs/{ClusterEnvoyProxyArgs.cs => K0sEnvoyProxyArgs.cs} (78%) rename sdk/dotnet/Inputs/{ClusterEtcdArgs.cs => K0sEtcdArgs.cs} (72%) rename sdk/dotnet/Inputs/{ClusterEtcdExternalClusterArgs.cs => K0sEtcdExternalClusterArgs.cs} (88%) rename sdk/dotnet/Inputs/{ClusterFeatureGateArgs.cs => K0sFeatureGateArgs.cs} (79%) rename sdk/dotnet/Inputs/{ClusterImageArgs.cs => K0sImageArgs.cs} (73%) rename sdk/dotnet/Inputs/{ClusterImagesArgs.cs => K0sImagesArgs.cs} (52%) rename sdk/dotnet/Inputs/{ClusterInstallConfigArgs.cs => K0sInstallConfigArgs.cs} (56%) rename sdk/dotnet/Inputs/{ClusterInstallConfigUserArgs.cs => K0sInstallConfigUserArgs.cs} (77%) rename sdk/dotnet/Inputs/{ClusterKineArgs.cs => K0sKineArgs.cs} (80%) rename sdk/dotnet/Inputs/{ClusterKonnectivityArgs.cs => K0sKonnectivityArgs.cs} (70%) rename sdk/dotnet/Inputs/{ClusterKubeProxyArgs.cs => K0sKubeProxyArgs.cs} (64%) rename sdk/dotnet/Inputs/{ClusterKubeProxyIPTablesArgs.cs => K0sKubeProxyIPTablesArgs.cs} (75%) rename sdk/dotnet/Inputs/{ClusterKubeProxyIPVSArgs.cs => K0sKubeProxyIPVSArgs.cs} (83%) rename sdk/dotnet/Inputs/{ClusterKubeRouterArgs.cs => K0sKubeRouterArgs.cs} (83%) rename sdk/dotnet/Inputs/{ClusterKubeRouterImageArgs.cs => K0sKubeRouterImageArgs.cs} (52%) create mode 100644 sdk/dotnet/Inputs/K0sMetadataArgs.cs rename sdk/dotnet/Inputs/{ClusterNetworkArgs.cs => K0sNetworkArgs.cs} (59%) rename sdk/dotnet/Inputs/{ClusterNodeLocalLoadBalancingArgs.cs => K0sNodeLocalLoadBalancingArgs.cs} (61%) rename sdk/dotnet/Inputs/{ClusterPodSecurityPolicyArgs.cs => K0sPodSecurityPolicyArgs.cs} (65%) rename sdk/dotnet/Inputs/{ClusterSchedulerArgs.cs => K0sSchedulerArgs.cs} (75%) create mode 100644 sdk/dotnet/Inputs/K0sSpecArgs.cs rename sdk/dotnet/Inputs/{ClusterStorageArgs.cs => K0sStorageArgs.cs} (59%) rename sdk/dotnet/Inputs/{ClusterTelemetryArgs.cs => K0sTelemetryArgs.cs} (68%) rename sdk/dotnet/Inputs/{ClusterWorkerProfileArgs.cs => K0sWorkerProfileArgs.cs} (76%) delete mode 100644 sdk/dotnet/Outputs/ClusterK0sSpec.cs rename sdk/dotnet/Outputs/{ClusterK0sConfig.cs => K0s.cs} (51%) rename sdk/dotnet/Outputs/{ClusterAPI.cs => K0sAPI.cs} (94%) rename sdk/dotnet/Outputs/{ClusterCalico.cs => K0sCalico.cs} (95%) rename sdk/dotnet/Outputs/{ClusterCalicoImage.cs => K0sCalicoImage.cs} (52%) rename sdk/dotnet/Outputs/{ClusterControllerManager.cs => K0sControllerManager.cs} (78%) rename sdk/dotnet/Outputs/{ClusterDualStack.cs => K0sDualStack.cs} (90%) rename sdk/dotnet/Outputs/{ClusterEnvoyProxy.cs => K0sEnvoyProxy.cs} (92%) rename sdk/dotnet/Outputs/{ClusterEtcd.cs => K0sEtcd.cs} (77%) rename sdk/dotnet/Outputs/{ClusterEtcdExternalCluster.cs => K0sEtcdExternalCluster.cs} (90%) rename sdk/dotnet/Outputs/{ClusterFeatureGate.cs => K0sFeatureGate.cs} (90%) rename sdk/dotnet/Outputs/{ClusterImage.cs => K0sImage.cs} (89%) rename sdk/dotnet/Outputs/{ClusterImages.cs => K0sImages.cs} (52%) rename sdk/dotnet/Outputs/{ClusterInstallConfig.cs => K0sInstallConfig.cs} (69%) rename sdk/dotnet/Outputs/{ClusterInstallConfigUser.cs => K0sInstallConfigUser.cs} (91%) rename sdk/dotnet/Outputs/{ClusterKine.cs => K0sKine.cs} (85%) rename sdk/dotnet/Outputs/{ClusterKonnectivity.cs => K0sKonnectivity.cs} (88%) rename sdk/dotnet/Outputs/{ClusterKubeProxy.cs => K0sKubeProxy.cs} (71%) rename sdk/dotnet/Outputs/{ClusterKubeProxyIPTables.cs => K0sKubeProxyIPTables.cs} (90%) rename sdk/dotnet/Outputs/{ClusterKubeProxyIPVS.cs => K0sKubeProxyIPVS.cs} (94%) rename sdk/dotnet/Outputs/{ClusterKubeRouter.cs => K0sKubeRouter.cs} (93%) rename sdk/dotnet/Outputs/{ClusterKubeRouterImage.cs => K0sKubeRouterImage.cs} (61%) create mode 100644 sdk/dotnet/Outputs/K0sMetadata.cs rename sdk/dotnet/Outputs/{ClusterNetwork.cs => K0sNetwork.cs} (61%) rename sdk/dotnet/Outputs/{ClusterNodeLocalLoadBalancing.cs => K0sNodeLocalLoadBalancing.cs} (74%) rename sdk/dotnet/Outputs/{ClusterPodSecurityPolicy.cs => K0sPodSecurityPolicy.cs} (81%) rename sdk/dotnet/Outputs/{ClusterScheduler.cs => K0sScheduler.cs} (80%) create mode 100644 sdk/dotnet/Outputs/K0sSpec.cs rename sdk/dotnet/Outputs/{ClusterStorage.cs => K0sStorage.cs} (68%) rename sdk/dotnet/Outputs/{ClusterTelemetry.cs => K0sTelemetry.cs} (83%) rename sdk/dotnet/Outputs/{ClusterWorkerProfile.cs => K0sWorkerProfile.cs} (88%) diff --git a/examples/nodejs/package.json b/examples/nodejs/package.json index e770988..50ccb43 100644 --- a/examples/nodejs/package.json +++ b/examples/nodejs/package.json @@ -6,6 +6,6 @@ "dependencies": { "typescript": "^4.0.0", "@pulumi/pulumi": "^3.0.0", - "@pulumi/k0s": "0.2.1" + "@ydkn/pulumi-k0s": "0.2.1" } } \ No newline at end of file diff --git a/go.work b/go.work index e77d24f..a902501 100644 --- a/go.work +++ b/go.work @@ -1,7 +1,9 @@ -go 1.21 +go 1.21.0 + +toolchain go1.21.7 use ( ./provider - ./tests ./sdk + ./tests ) diff --git a/provider/cluster.go b/provider/cluster.go index 32c7023..3549066 100644 --- a/provider/cluster.go +++ b/provider/cluster.go @@ -1,352 +1,363 @@ package provider import ( - "github.com/TwiN/deepmerge" - "github.com/k0sproject/dig" - "github.com/k0sproject/rig" p "github.com/pulumi/pulumi-go-provider" "github.com/pulumi/pulumi-go-provider/infer" "github.com/pulumi/pulumi/sdk/v3/go/common/resource" "github.com/ydkn/pulumi-k0s/provider/internal/introspect" - "github.com/ydkn/pulumi-k0s/provider/internal/k0sctl" - "gopkg.in/yaml.v3" ) -type ClusterArgs struct { - APIVersion *string `pulumi:"apiVersion,optional" yaml:"apiVersion,omitempty"` - Kind *string `pulumi:"kind,optional" yaml:"kind,omitempty"` - Metadata *ClusterMetadata `pulumi:"metadata,optional" yaml:"metadata,omitempty"` - Spec *ClusterSpec `pulumi:"spec,optional" yaml:"spec,omitempty"` +type ClusterInputs struct { + APIVersion *string `pulumi:"apiVersion,optional" json:"apiVersion,omitempty"` + Kind *string `pulumi:"kind,optional" json:"kind,omitempty"` + Metadata *ClusterMetadata `pulumi:"metadata,optional" json:"metadata,omitempty"` + Spec *ClusterSpec `pulumi:"spec,optional" json:"spec,omitempty"` + Kubeconfig *string `json:"-"` } type ClusterMetadata struct { - Name *string `pulumi:"name" yaml:"name"` + Name *string `pulumi:"name" json:"name"` } type ClusterSpec struct { - Hosts []ClusterHost `pulumi:"hosts" yaml:"hosts"` - K0s *ClusterK0s `pulumi:"k0s,optional" yaml:"k0s,omitempty"` + Hosts []ClusterHost `pulumi:"hosts" json:"hosts"` + K0s *ClusterK0s `pulumi:"k0s,optional" json:"k0s,omitempty"` } type ClusterHost struct { - Role *string `pulumi:"role" yaml:"role"` - PrivateInterface *string `pulumi:"privateInterface,optional" yaml:"privateInterface,omitempty"` - PrivateAddress *string `pulumi:"privateAddress,optional" yaml:"privateAddress,omitempty"` - Environment map[string]string `pulumi:"environment,optional" yaml:"environment,omitempty"` - UploadBinary *bool `pulumi:"uploadBinary,optional" yaml:"uploadBinary,omitempty"` - K0sBinaryPath *string `pulumi:"k0sBinaryPath,optional" yaml:"k0sBinaryPath,omitempty"` - InstallFlags []string `pulumi:"installFlags,optional" yaml:"installFlags,omitempty"` - Files []ClusterFile `pulumi:"files,optional" yaml:"files,omitempty"` - OS *string `pulumi:"os,optional" yaml:"os,omitempty"` - Hostname *string `pulumi:"hostname,optional" yaml:"hostname,omitempty"` - Hooks *ClusterHooks `pulumi:"hooks,optional" yaml:"hooks,omitempty"` - WinRM *ClusterWinRM `pulumi:"winRM,optional" yaml:"winRM,omitempty"` - SSH *ClusterSSH `pulumi:"ssh,optional" yaml:"ssh,omitempty"` - Localhost *ClusterLocalhost `pulumi:"localhost,optional" yaml:"localhost,omitempty"` - NoTaints *bool `pulumi:"noTaints,optional" yaml:"noTaints,omitempty"` + Role *string `pulumi:"role" json:"role"` + PrivateInterface *string `pulumi:"privateInterface,optional" json:"privateInterface,omitempty"` + PrivateAddress *string `pulumi:"privateAddress,optional" json:"privateAddress,omitempty"` + Environment map[string]string `pulumi:"environment,optional" json:"environment,omitempty"` + UploadBinary *bool `pulumi:"uploadBinary,optional" json:"uploadBinary,omitempty"` + K0sBinaryPath *string `pulumi:"k0sBinaryPath,optional" json:"k0sBinaryPath,omitempty"` + InstallFlags []string `pulumi:"installFlags,optional" json:"installFlags,omitempty"` + Files []ClusterFile `pulumi:"files,optional" json:"files,omitempty"` + OS *string `pulumi:"os,optional" json:"os,omitempty"` + Hostname *string `pulumi:"hostname,optional" json:"hostname,omitempty"` + Hooks *ClusterHooks `pulumi:"hooks,optional" json:"hooks,omitempty"` + WinRM *ClusterWinRM `pulumi:"winRM,optional" json:"winRM,omitempty"` + SSH *ClusterSSH `pulumi:"ssh,optional" json:"ssh,omitempty"` + Localhost *ClusterLocalhost `pulumi:"localhost,optional" json:"localhost,omitempty"` + NoTaints *bool `pulumi:"noTaints,optional" json:"noTaints,omitempty"` } type ClusterFile struct { - Name *string `pulumi:"name,optional" yaml:"name,omitempty"` - Source *string `pulumi:"src,optional" yaml:"src,omitempty"` - DestinationDirectory *string `pulumi:"dstDir,optional" yaml:"dstDir,omitempty"` - Destination *string `pulumi:"dst,optional" yaml:"dst,omitempty"` - Permissions *string `pulumi:"perm,optional" yaml:"perm,omitempty"` - DirectoryPermissions *string `pulumi:"dirPerm,optional" yaml:"dirPerm,omitempty"` - User *string `pulumi:"user,optional" yaml:"user,omitempty"` - Group *string `pulumi:"group,optional" yaml:"group,omitempty"` + Name *string `pulumi:"name,optional" json:"name,omitempty"` + Source *string `pulumi:"src,optional" json:"src,omitempty"` + DestinationDirectory *string `pulumi:"dstDir,optional" json:"dstDir,omitempty"` + Destination *string `pulumi:"dst,optional" json:"dst,omitempty"` + Permissions *string `pulumi:"perm,optional" json:"perm,omitempty"` + DirectoryPermissions *string `pulumi:"dirPerm,optional" json:"dirPerm,omitempty"` + User *string `pulumi:"user,optional" json:"user,omitempty"` + Group *string `pulumi:"group,optional" json:"group,omitempty"` } type ClusterHooks struct { - Apply *ClusterHook `pulumi:"apply,optional" yaml:"apply,omitempty"` - Backup *ClusterHook `pulumi:"backup,optional" yaml:"backup,omitempty"` - Reset *ClusterHook `pulumi:"reset,optional" yaml:"reset,omitempty"` + Apply *ClusterHook `pulumi:"apply,optional" json:"apply,omitempty"` + Backup *ClusterHook `pulumi:"backup,optional" json:"backup,omitempty"` + Reset *ClusterHook `pulumi:"reset,optional" json:"reset,omitempty"` } type ClusterHook struct { - Before []string `pulumi:"before,optional" yaml:"before,omitempty"` - After []string `pulumi:"after,optional" yaml:"after,omitempty"` + Before []string `pulumi:"before,optional" json:"before,omitempty"` + After []string `pulumi:"after,optional" json:"after,omitempty"` } type ClusterWinRM struct { - Address *string `pulumi:"address" yaml:"address"` - Port *int `pulumi:"port,optional" yaml:"port,omitempty"` - User *string `pulumi:"user,optional" yaml:"user,omitempty"` - Password *string `pulumi:"password,optional" yaml:"password,omitempty" provider:"secret"` - UseHTTPS *bool `pulumi:"useHTTPS,optional" yaml:"useHTTPS,omitempty"` - Insecure *bool `pulumi:"insecure,optional" yaml:"insecure,omitempty"` - UseNTLM *bool `pulumi:"useNTLM,optional" yaml:"useNTLM,omitempty"` - CaCert *string `pulumi:"caCert,optional" yaml:"caCert,omitempty" provider:"secret"` - Cert *string `pulumi:"cert,optional" yaml:"cert,omitempty" provider:"secret"` - Key *string `pulumi:"key,optional" yaml:"key,omitempty" provider:"secret"` - TLSServerName *string `pulumi:"tlsServerName,optional" yaml:"tlsServerName,omitempty"` - Bastion *ClusterSSH `pulumi:"bastion,optional" yaml:"bastion,omitempty"` + Address *string `pulumi:"address" json:"address"` + Port *int `pulumi:"port,optional" json:"port,omitempty"` + User *string `pulumi:"user,optional" json:"user,omitempty"` + Password *string `pulumi:"password,optional" provider:"secret" json:"password,omitempty"` + UseHTTPS *bool `pulumi:"useHTTPS,optional" json:"useHTTPS,omitempty"` + Insecure *bool `pulumi:"insecure,optional" json:"insecure,omitempty"` + UseNTLM *bool `pulumi:"useNTLM,optional" json:"useNTLM,omitempty"` + CaCert *string `pulumi:"caCert,optional" provider:"secret" json:"caCert,omitempty"` + Cert *string `pulumi:"cert,optional" provider:"secret" json:"cert,omitempty"` + Key *string `pulumi:"key,optional" provider:"secret" json:"key,omitempty"` + TLSServerName *string `pulumi:"tlsServerName,optional" json:"tlsServerName,omitempty"` + Bastion *ClusterSSH `pulumi:"bastion,optional" json:"bastion,omitempty"` } type ClusterSSH struct { - Address *string `pulumi:"address" yaml:"address,omitempty"` - Port *int `pulumi:"port,optional" yaml:"port,omitempty"` - User *string `pulumi:"user,optional" yaml:"user,omitempty"` - Key *string `pulumi:"key,optional" yaml:"key,omitempty" provider:"secret"` - HostKey *string `pulumi:"hostKey,optional" yaml:"hostKey,omitempty"` - Bastion *ClusterSSH `pulumi:"bastion,optional" yaml:"bastion,omitempty"` + Address *string `pulumi:"address" json:"address,omitempty"` + Port *int `pulumi:"port,optional" json:"port,omitempty"` + User *string `pulumi:"user,optional" json:"user,omitempty"` + Key *string `pulumi:"key,optional" provider:"secret" json:"-"` + HostKey *string `pulumi:"hostKey,optional" json:"hostKey,omitempty"` + Bastion *ClusterSSH `pulumi:"bastion,optional" json:"bastion,omitempty"` } type ClusterLocalhost struct { - Enabled *bool `pulumi:"enabled,optional" yaml:"enabled,omitempty"` + Enabled *bool `pulumi:"enabled,optional" json:"enabled,omitempty"` } type ClusterK0s struct { - Version *string `pulumi:"version,optional" yaml:"version,omitempty"` - VersionChannel *string `pulumi:"versionChannel,optional" yaml:"versionChannel,omitempty"` - DynamicConfig *bool `pulumi:"dynamicConfig,optional" yaml:"dynamicConfig,omitempty"` - Config *ClusterK0sConfig `pulumi:"config,optional" yaml:"config,omitempty"` + Version *string `pulumi:"version,optional" json:"version,omitempty"` + VersionChannel *string `pulumi:"versionChannel,optional" json:"versionChannel,omitempty"` + DynamicConfig *bool `pulumi:"dynamicConfig,optional" json:"dynamicConfig,omitempty"` + Config *K0s `pulumi:"config,optional" json:"config,omitempty"` } -type ClusterK0sConfig struct { - Metadata *ClusterMetadata `pulumi:"metadata,optional" yaml:"metadata,omitempty"` - Spec *ClusterK0sSpec `pulumi:"spec,optional" yaml:"spec,omitempty"` +type K0s struct { + APIVersion *string `pulumi:"apiVersion,optional" json:"apiVersion,omitempty"` + Kind *string `pulumi:"kind,optional" json:"kind,omitempty"` + Metadata *K0sMetadata `pulumi:"metadata,optional" json:"metadata,omitempty"` + Spec *K0sSpec `pulumi:"spec,optional" json:"spec,omitempty"` } -type ClusterK0sSpec struct { - API *ClusterAPI `pulumi:"api,optional" yaml:"api,omitempty"` - Images *ClusterImages `pulumi:"images,optional" yaml:"images,omitempty"` - InstallConfig *ClusterInstallConfig `pulumi:"installConfig,optional" yaml:"installConfig,omitempty"` - Konnectivity *ClusterKonnectivity `pulumi:"konnectivity,optional" yaml:"konnectivity,omitempty"` - Network *ClusterNetwork `pulumi:"network,optional" yaml:"network,omitempty"` - PodSecurityPolicy *ClusterPodSecurityPolicy `pulumi:"podSecurityPolicy,optional" yaml:"podSecurityPolicy,omitempty"` - ControllerManager *ClusterControllerManager `pulumi:"controllerManager,optional" yaml:"controllerManager,omitempty"` - Scheduler *ClusterScheduler `pulumi:"scheduler,optional" yaml:"scheduler,omitempty"` - Storage *ClusterStorage `pulumi:"storage,optional" yaml:"storage,omitempty"` - WorkerProfiles []ClusterWorkerProfile `pulumi:"workerProfiles,optional" yaml:"workerProfiles,omitempty"` - FeatureGates []ClusterFeatureGate `pulumi:"featureGates,optional" yaml:"featureGates,omitempty"` - Telemetry *ClusterTelemetry `pulumi:"telemetry,optional" yaml:"telemetry,omitempty"` -} - -type ClusterAPI struct { - Address *string `pulumi:"address,optional" yaml:"address,omitempty"` - Port *int `pulumi:"port,optional" yaml:"port,omitempty"` - K0sApiPort *int `pulumi:"k0sApiPort,optional" yaml:"k0sApiPort,omitempty"` - ExternalAddress *string `pulumi:"externalAddress,optional" yaml:"externalAddress,omitempty"` - SANs []string `pulumi:"sans,optional" yaml:"sans,omitempty"` - ExtraArgs map[string]string `pulumi:"extraArgs,optional" yaml:"extraArgs,omitempty"` +type K0sMetadata struct { + Name *string `pulumi:"name" json:"name"` } -type ClusterImages struct { - DefaultPullPolicy *string `pulumi:"default_pull_policy,optional" yaml:"default_pull_policy,omitempty"` - Repository *string `pulumi:"repository,optional" yaml:"repository,omitempty"` - Konnectivity *ClusterImage `pulumi:"konnectivity,optional" yaml:"konnectivity,omitempty"` - MetricsServer *ClusterImage `pulumi:"metricsserver,optional" yaml:"metricsserver,omitempty"` - Kubeproxy *ClusterImage `pulumi:"kubeproxy,optional" yaml:"kubeproxy,omitempty"` - CoreDNS *ClusterImage `pulumi:"coredns,optional" yaml:"coredns,omitempty"` - Pause *ClusterImage `pulumi:"pause,optional" yaml:"pause,omitempty"` - Calico *ClusterCalicoImage `pulumi:"calico,optional" yaml:"calico,omitempty"` - KubeRouter *ClusterKubeRouterImage `pulumi:"kuberouter,optional" yaml:"kuberouter,omitempty"` +type K0sSpec struct { + API *K0sAPI `pulumi:"api,optional" json:"api,omitempty"` + Images *K0sImages `pulumi:"images,optional" json:"images,omitempty"` + InstallConfig *K0sInstallConfig `pulumi:"installConfig,optional" json:"installConfig,omitempty"` + Konnectivity *K0sKonnectivity `pulumi:"konnectivity,optional" json:"konnectivity,omitempty"` + Network *K0sNetwork `pulumi:"network,optional" json:"network,omitempty"` + PodSecurityPolicy *K0sPodSecurityPolicy `pulumi:"podSecurityPolicy,optional" json:"podSecurityPolicy,omitempty"` + ControllerManager *K0sControllerManager `pulumi:"controllerManager,optional" json:"controllerManager,omitempty"` + Scheduler *K0sScheduler `pulumi:"scheduler,optional" json:"scheduler,omitempty"` + Storage *K0sStorage `pulumi:"storage,optional" json:"storage,omitempty"` + WorkerProfiles []K0sWorkerProfile `pulumi:"workerProfiles,optional" json:"workerProfiles,omitempty"` + FeatureGates []K0sFeatureGate `pulumi:"featureGates,optional" json:"featureGates,omitempty"` + Telemetry *K0sTelemetry `pulumi:"telemetry,optional" json:"telemetry,omitempty"` +} + +type K0sAPI struct { + Address *string `pulumi:"address,optional" json:"address,omitempty"` + Port *int `pulumi:"port,optional" json:"port,omitempty"` + K0sApiPort *int `pulumi:"k0sApiPort,optional" json:"k0sApiPort,omitempty"` + ExternalAddress *string `pulumi:"externalAddress,optional" json:"externalAddress,omitempty"` + SANs []string `pulumi:"sans,optional" json:"sans,omitempty"` + ExtraArgs map[string]string `pulumi:"extraArgs,optional" json:"extraArgs,omitempty"` +} + +type K0sImages struct { + DefaultPullPolicy *string `pulumi:"default_pull_policy,optional" json:"default_pull_policy,omitempty"` + Repository *string `pulumi:"repository,optional" json:"repository,omitempty"` + Konnectivity *K0sImage `pulumi:"konnectivity,optional" json:"konnectivity,omitempty"` + MetricsServer *K0sImage `pulumi:"metricsserver,optional" json:"metricsserver,omitempty"` + Kubeproxy *K0sImage `pulumi:"kubeproxy,optional" json:"kubeproxy,omitempty"` + CoreDNS *K0sImage `pulumi:"coredns,optional" json:"coredns,omitempty"` + Pause *K0sImage `pulumi:"pause,optional" json:"pause,omitempty"` + Calico *K0sCalicoImage `pulumi:"calico,optional" json:"calico,omitempty"` + KubeRouter *K0sKubeRouterImage `pulumi:"kuberouter,optional" json:"kuberouter,omitempty"` +} + +type K0sImage struct { + Image *string `pulumi:"image,optional" json:"image,omitempty"` + Version *string `pulumi:"version,optional" json:"version,omitempty"` } -type ClusterImage struct { - Image *string `pulumi:"image,optional" yaml:"image,omitempty"` - Version *string `pulumi:"version,optional" yaml:"version,omitempty"` +type K0sCalicoImage struct { + CNI *K0sImage `pulumi:"cni,optional" json:"cni,omitempty"` + FlexVolume *K0sImage `pulumi:"flexvolume,optional" json:"flexvolume,omitempty"` + Node *K0sImage `pulumi:"node,optional" json:"node,omitempty"` + KubeControllers *K0sImage `pulumi:"kubecontrollers,optional" json:"kubecontrollers,omitempty"` } -type ClusterCalicoImage struct { - CNI *ClusterImage `pulumi:"cni,optional" yaml:"cni,omitempty"` - FlexVolume *ClusterImage `pulumi:"flexvolume,optional" yaml:"flexvolume,omitempty"` - Node *ClusterImage `pulumi:"node,optional" yaml:"node,omitempty"` - KubeControllers *ClusterImage `pulumi:"kubecontrollers,optional" yaml:"kubecontrollers,omitempty"` +type K0sKubeRouterImage struct { + CNI *K0sImage `pulumi:"cni,optional" json:"cni,omitempty"` + CNIInstaller *K0sImage `pulumi:"cniInstaller,optional" json:"cniInstaller,omitempty"` } -type ClusterKubeRouterImage struct { - CNI *ClusterImage `pulumi:"cni,optional" yaml:"cni,omitempty"` - CNIInstaller *ClusterImage `pulumi:"cniInstaller,optional" yaml:"cniInstaller,omitempty"` +type K0sInstallConfig struct { + Users *K0sInstallConfigUser `pulumi:"users,optional" json:"users,omitempty"` } -type ClusterInstallConfig struct { - Users *ClusterInstallConfigUser `pulumi:"users,optional" yaml:"users,omitempty"` +type K0sInstallConfigUser struct { + EtcdUser *string `pulumi:"etcdUser,optional" json:"etcdUser,omitempty"` + KineUser *string `pulumi:"kineUser,optional" json:"kineUser,omitempty"` + KonnectivityUser *string `pulumi:"konnectivityUser,optional" json:"konnectivityUser,omitempty"` + KubeAPIServerUser *string `pulumi:"kubeAPIserverUser,optional" json:"kubeAPIserverUser,omitempty"` + KubeSchedulerUser *string `pulumi:"kubeSchedulerUser,optional" json:"kubeSchedulerUser,omitempty"` } -type ClusterInstallConfigUser struct { - EtcdUser *string `pulumi:"etcdUser,optional" yaml:"etcdUser,omitempty"` - KineUser *string `pulumi:"kineUser,optional" yaml:"kineUser,omitempty"` - KonnectivityUser *string `pulumi:"konnectivityUser,optional" yaml:"konnectivityUser,omitempty"` - KubeAPIServerUser *string `pulumi:"kubeAPIserverUser,optional" yaml:"kubeAPIserverUser,omitempty"` - KubeSchedulerUser *string `pulumi:"kubeSchedulerUser,optional" yaml:"kubeSchedulerUser,omitempty"` +type K0sKonnectivity struct { + AdminPort *int `pulumi:"adminPort,optional" json:"adminPort,omitempty"` + AgentPort *int `pulumi:"agentPort,optional" json:"agentPort,omitempty"` } -type ClusterKonnectivity struct { - AdminPort *int `pulumi:"adminPort,optional" yaml:"adminPort,omitempty"` - AgentPort *int `pulumi:"agentPort,optional" yaml:"agentPort,omitempty"` +type K0sNetwork struct { + Provider *string `pulumi:"provider,optional" json:"provider,omitempty"` + PodCIDR *string `pulumi:"podCIDR,optional" json:"podCIDR,omitempty"` + ServiceCIDR *string `pulumi:"serviceCIDR,optional" json:"serviceCIDR,omitempty"` + ClusterDomain *string `pulumi:"clusterDomain,optional" json:"clusterDomain,omitempty"` + DualStack *K0sDualStack `pulumi:"dualStack,optional" json:"dualStack,omitempty"` + Calico *K0sCalico `pulumi:"calico,optional" json:"calico,omitempty"` + KubeRouter *K0sKubeRouter `pulumi:"kuberouter,optional" json:"kuberouter,omitempty"` + KubeProxy *K0sKubeProxy `pulumi:"kubeProxy,optional" json:"kubeProxy,omitempty"` + NodeLocalLoadBalancing *K0sNodeLocalLoadBalancing `pulumi:"nodeLocalLoadBalancing,optional" json:"nodeLocalLoadBalancing,omitempty"` } -type ClusterNetwork struct { - Provider *string `pulumi:"provider,optional" yaml:"provider,omitempty"` - PodCIDR *string `pulumi:"podCIDR,optional" yaml:"podCIDR,omitempty"` - ServiceCIDR *string `pulumi:"serviceCIDR,optional" yaml:"serviceCIDR,omitempty"` - ClusterDomain *string `pulumi:"clusterDomain,optional" yaml:"clusterDomain,omitempty"` - DualStack *ClusterDualStack `pulumi:"dualStack,optional" yaml:"dualStack,omitempty"` - Calico *ClusterCalico `pulumi:"calico,optional" yaml:"calico,omitempty"` - KubeRouter *ClusterKubeRouter `pulumi:"kuberouter,optional" yaml:"kuberouter,omitempty"` - KubeProxy *ClusterKubeProxy `pulumi:"kubeProxy,optional" yaml:"kubeProxy,omitempty"` - NodeLocalLoadBalancing *ClusterNodeLocalLoadBalancing `pulumi:"nodeLocalLoadBalancing,optional" yaml:"nodeLocalLoadBalancing,omitempty"` +type K0sCalico struct { + Mode *string `pulumi:"mode,optional" json:"mode,omitempty"` + Overlay *string `pulumi:"overlay,optional" json:"overlay,omitempty"` + VXLANPort *int `pulumi:"vxlanPort,optional" json:"vxlanPort,omitempty"` + VXLANVNI *int `pulumi:"vxlanVNI,optional" json:"vxlanVNI,omitempty"` + MTU *int `pulumi:"mtu,optional" json:"mtu,omitempty"` + Wireguard *bool `pulumi:"wireguard,optional" json:"wireguard,omitempty"` + FlexVolumeDriverPath *string `pulumi:"flexVolumeDriverPath,optional" json:"flexVolumeDriverPath,omitempty"` + IPAutodetectionMethod *string `pulumi:"ipAutodetectionMethod,optional" json:"ipAutodetectionMethod,omitempty"` + EnvVars map[string]string `pulumi:"envVars,optional" json:"envVars,omitempty"` } -type ClusterCalico struct { - Mode *string `pulumi:"mode,optional" yaml:"mode,omitempty"` - Overlay *string `pulumi:"overlay,optional" yaml:"overlay,omitempty"` - VXLANPort *int `pulumi:"vxlanPort,optional" yaml:"vxlanPort,omitempty"` - VXLANVNI *int `pulumi:"vxlanVNI,optional" yaml:"vxlanVNI,omitempty"` - MTU *int `pulumi:"mtu,optional" yaml:"mtu,omitempty"` - Wireguard *bool `pulumi:"wireguard,optional" yaml:"wireguard,omitempty"` - FlexVolumeDriverPath *string `pulumi:"flexVolumeDriverPath,optional" yaml:"flexVolumeDriverPath,omitempty"` - IPAutodetectionMethod *string `pulumi:"ipAutodetectionMethod,optional" yaml:"ipAutodetectionMethod,omitempty"` - EnvVars map[string]string `pulumi:"envVars,optional" yaml:"envVars,omitempty"` +type K0sDualStack struct { + Enabled *bool `pulumi:"enabled,optional" json:"enabled,omitempty"` + IPv6PodCIDR *string `pulumi:"IPv6podCIDR,optional" json:"IPv6podCIDR,omitempty"` + IPv6ServiceCIDR *string `pulumi:"IPv6serviceCIDR,optional" json:"IPv6serviceCIDR,omitempty"` } -type ClusterDualStack struct { - Enabled *bool `pulumi:"enabled,optional" yaml:"enabled,omitempty"` - IPv6PodCIDR *string `pulumi:"IPv6podCIDR,optional" yaml:"IPv6podCIDR,omitempty"` - IPv6ServiceCIDR *string `pulumi:"IPv6serviceCIDR,optional" yaml:"IPv6serviceCIDR,omitempty"` +type K0sKubeRouter struct { + AutoMTU *bool `pulumi:"autoMTU,optional" json:"autoMTU,omitempty"` + MTU *int `pulumi:"mtu,optional" json:"mtu,omitempty"` + MetricsPort *int `pulumi:"metricsPort,optional" json:"metricsPort,omitempty"` + Hairpin *string `pulumi:"hairpin,optional" json:"hairpin,omitempty"` + IPMasq *bool `pulumi:"ipMasq,optional" json:"ipMasq,omitempty"` + ExtraArgs map[string]string `pulumi:"extraArgs,optional" json:"extraArgs,omitempty"` } -type ClusterKubeRouter struct { - AutoMTU *bool `pulumi:"autoMTU,optional" yaml:"autoMTU,omitempty"` - MTU *int `pulumi:"mtu,optional" yaml:"mtu,omitempty"` - MetricsPort *int `pulumi:"metricsPort,optional" yaml:"metricsPort,omitempty"` - Hairpin *string `pulumi:"hairpin,optional" yaml:"hairpin,omitempty"` - IPMasq *bool `pulumi:"ipMasq,optional" yaml:"ipMasq,omitempty"` - ExtraArgs map[string]string `pulumi:"extraArgs,optional" yaml:"extraArgs,omitempty"` +type K0sKubeProxy struct { + Disabled *bool `pulumi:"disabled,optional" json:"disabled,omitempty"` + Mode *string `pulumi:"mode,optional" json:"mode,omitempty"` + IPTables *K0sKubeProxyIPTables `pulumi:"iptables,optional" json:"iptables,omitempty"` + IPVS *K0sKubeProxyIPVS `pulumi:"ipvs,optional" json:"ipvs,omitempty"` + NodePortAddresses *string `pulumi:"nodePortAddresses,optional" json:"nodePortAddresses,omitempty"` } -type ClusterKubeProxy struct { - Disabled *bool `pulumi:"disabled,optional" yaml:"disabled,omitempty"` - Mode *string `pulumi:"mode,optional" yaml:"mode,omitempty"` - IPTables *ClusterKubeProxyIPTables `pulumi:"iptables,optional" yaml:"iptables,omitempty"` - IPVS *ClusterKubeProxyIPVS `pulumi:"ipvs,optional" yaml:"ipvs,omitempty"` - NodePortAddresses *string `pulumi:"nodePortAddresses,optional" yaml:"nodePortAddresses,omitempty"` +type K0sKubeProxyIPTables struct { + MasqueradeAll *bool `pulumi:"masqueradeAll,optional" json:"masqueradeAll,omitempty"` + MasqueradeBit *int `pulumi:"masqueradeBit,optional" json:"masqueradeBit,omitempty"` + MinSyncPeriod *string `pulumi:"minSyncPeriod,optional" json:"minSyncPeriod,omitempty"` + SyncPeriod *string `pulumi:"syncPeriod,optional" json:"syncPeriod,omitempty"` } -type ClusterKubeProxyIPTables struct { - MasqueradeAll *bool `pulumi:"masqueradeAll,optional" yaml:"masqueradeAll,omitempty"` - MasqueradeBit *int `pulumi:"masqueradeBit,optional" yaml:"masqueradeBit,omitempty"` - MinSyncPeriod *string `pulumi:"minSyncPeriod,optional" yaml:"minSyncPeriod,omitempty"` - SyncPeriod *string `pulumi:"syncPeriod,optional" yaml:"syncPeriod,omitempty"` +type K0sKubeProxyIPVS struct { + ExcludeCIDRs *string `pulumi:"excludeCIDRs,optional" json:"excludeCIDRs,omitempty"` + MinSyncPeriod *string `pulumi:"minSyncPeriod,optional" json:"minSyncPeriod,omitempty"` + Scheduler *string `pulumi:"scheduler,optional" json:"scheduler,omitempty"` + StrictARP *bool `pulumi:"strictARP,optional" json:"strictARP,omitempty"` + SyncPeriod *string `pulumi:"syncPeriod,optional" json:"syncPeriod,omitempty"` + TCPFinTimeout *string `pulumi:"tcpFinTimeout,optional" json:"tcpFinTimeout,omitempty"` + TCPTimeout *string `pulumi:"tcpTimeout,optional" json:"tcpTimeout,omitempty"` + UDPTimeout *string `pulumi:"udpTimeout,optional" json:"udpTimeout,omitempty"` } -type ClusterKubeProxyIPVS struct { - ExcludeCIDRs *string `pulumi:"excludeCIDRs,optional" yaml:"excludeCIDRs,omitempty"` - MinSyncPeriod *string `pulumi:"minSyncPeriod,optional" yaml:"minSyncPeriod,omitempty"` - Scheduler *string `pulumi:"scheduler,optional" yaml:"scheduler,omitempty"` - StrictARP *bool `pulumi:"strictARP,optional" yaml:"strictARP,omitempty"` - SyncPeriod *string `pulumi:"syncPeriod,optional" yaml:"syncPeriod,omitempty"` - TCPFinTimeout *string `pulumi:"tcpFinTimeout,optional" yaml:"tcpFinTimeout,omitempty"` - TCPTimeout *string `pulumi:"tcpTimeout,optional" yaml:"tcpTimeout,omitempty"` - UDPTimeout *string `pulumi:"udpTimeout,optional" yaml:"udpTimeout,omitempty"` +type K0sNodeLocalLoadBalancing struct { + Enabled *bool `pulumi:"enabled,optional" json:"enabled,omitempty"` + Type *string `pulumi:"type,optional" json:"type,omitempty"` + EnvoyProxy *K0sEnvoyProxy `pulumi:"envoyProxy,optional" json:"envoyProxy,omitempty"` } -type ClusterNodeLocalLoadBalancing struct { - Enabled *bool `pulumi:"enabled,optional" yaml:"enabled,omitempty"` - Type *string `pulumi:"type,optional" yaml:"type,omitempty"` - EnvoyProxy *ClusterEnvoyProxy `pulumi:"envoyProxy,optional" yaml:"envoyProxy,omitempty"` +type K0sEnvoyProxy struct { + Image *string `pulumi:"image,optional" json:"image,omitempty"` + ImagePullPolicy *string `pulumi:"imagePullPolicy,optional" json:"imagePullPolicy,omitempty"` + APIServerBindPort *int `pulumi:"apiServerBindPort,optional" json:"apiServerBindPort,omitempty"` + KonnectivityServerBindPort *int `pulumi:"konnectivityServerBindPort,optional" json:"konnectivityServerBindPort,omitempty"` } -type ClusterEnvoyProxy struct { - Image *string `pulumi:"image,optional" yaml:"image,omitempty"` - ImagePullPolicy *string `pulumi:"imagePullPolicy,optional" yaml:"imagePullPolicy,omitempty"` - APIServerBindPort *int `pulumi:"apiServerBindPort,optional" yaml:"apiServerBindPort,omitempty"` - KonnectivityServerBindPort *int `pulumi:"konnectivityServerBindPort,optional" yaml:"konnectivityServerBindPort,omitempty"` +type K0sPodSecurityPolicy struct { + DefaultPolicy *string `pulumi:"defaultPolicy,optional" json:"defaultPolicy,omitempty"` } -type ClusterPodSecurityPolicy struct { - DefaultPolicy *string `pulumi:"defaultPolicy,optional" yaml:"defaultPolicy,omitempty"` +type K0sControllerManager struct { + ExtraArgs map[string]string `pulumi:"extraArgs,optional" json:"extraArgs,omitempty"` } -type ClusterControllerManager struct { - ExtraArgs map[string]string `pulumi:"extraArgs,optional" yaml:"extraArgs,omitempty"` +type K0sScheduler struct { + ExtraArgs map[string]string `pulumi:"extraArgs,optional" json:"extraArgs,omitempty"` } -type ClusterScheduler struct { - ExtraArgs map[string]string `pulumi:"extraArgs,optional" yaml:"extraArgs,omitempty"` +type K0sStorage struct { + Type *string `pulumi:"type,optional" json:"type,omitempty"` + Etcd *K0sEtcd `pulumi:"etcd,optional" json:"etcd,omitempty"` + Kine *K0sKine `pulumi:"kine,optional" json:"kine,omitempty"` } -type ClusterStorage struct { - Type *string `pulumi:"type,optional" yaml:"type,omitempty"` - Etcd *ClusterEtcd `pulumi:"etcd,optional" yaml:"etcd,omitempty"` - Kine *ClusterKine `pulumi:"kine,optional" yaml:"kine,omitempty"` +type K0sEtcd struct { + PeerAddress *string `pulumi:"peerAddress,optional" json:"peerAddress,omitempty"` + ExtraArgs map[string]string `pulumi:"extraArgs,optional" json:"extraArgs,omitempty"` + ExternalCluster *K0sEtcdExternalCluster `pulumi:"externalCluster,optional" json:"externalCluster,omitempty"` } -type ClusterEtcd struct { - PeerAddress *string `pulumi:"peerAddress,optional" yaml:"peerAddress,omitempty"` - ExtraArgs map[string]string `pulumi:"extraArgs,optional" yaml:"extraArgs,omitempty"` - ExternalCluster *ClusterEtcdExternalCluster `pulumi:"externalCluster,optional" yaml:"externalCluster,omitempty"` +type K0sEtcdExternalCluster struct { + Endpoints []string `pulumi:"endpoints" json:"endpoints"` + EtcdPrefix *string `pulumi:"etcdPrefix,optional" json:"etcdPrefix,omitempty"` + CA *string `pulumi:"ca,optional" provider:"secret" json:"ca,omitempty"` + ClientCert *string `pulumi:"clientCert,optional" provider:"secret" json:"clientCert,omitempty"` + ClientKey *string `pulumi:"clientKey,optional" provider:"secret" json:"clientKey,omitempty"` } -type ClusterEtcdExternalCluster struct { - Endpoints []string `pulumi:"endpoints" yaml:"endpoints"` - EtcdPrefix *string `pulumi:"etcdPrefix,optional" yaml:"etcdPrefix,omitempty"` - CA *string `pulumi:"ca,optional" yaml:"ca,omitempty" provider:"secret"` - ClientCert *string `pulumi:"clientCert,optional" yaml:"clientCert,omitempty" provider:"secret"` - ClientKey *string `pulumi:"clientKey,optional" yaml:"clientKey,omitempty" provider:"secret"` +type K0sKine struct { + DataSource *string `pulumi:"dataSource" json:"dataSource,omitempty" provider:"secret"` } -type ClusterKine struct { - DataSource *string `pulumi:"dataSource" yaml:"dataSource,omitempty" provider:"secret"` +type K0sTelemetry struct { + Enabled *bool `pulumi:"enabled,optional" json:"enabled,omitempty"` } -type ClusterTelemetry struct { - Enabled *bool `pulumi:"enabled,optional" yaml:"enabled,omitempty"` +type K0sWorkerProfile struct { + Name *string `pulumi:"name" json:"name"` + Values map[string]any `pulumi:"values" json:"values"` } -type ClusterWorkerProfile struct { - Name *string `pulumi:"name" yaml:"name"` - Values map[string]any `pulumi:"values" yaml:"values"` +type K0sFeatureGate struct { + Enabled *bool `pulumi:"enabled,optional" json:"enabled,omitempty"` + Name *string `pulumi:"name" json:"name"` + Components []string `pulumi:"components,optional" json:"components,omitempty"` } -type ClusterFeatureGate struct { - Enabled *bool `pulumi:"enabled,optional" yaml:"enabled,omitempty"` - Name *string `pulumi:"name" yaml:"name"` - Components []string `pulumi:"components,optional" yaml:"components,omitempty"` +type ClusterOutputs struct { + ClusterInputs + Kubeconfig *string `pulumi:"kubeconfig" provider:"secret" json:"-"` } type Cluster struct{} -type ClusterState struct { - ClusterArgs +func (c Cluster) Check( + ctx p.Context, + name string, + olds ClusterOutputs, + news ClusterInputs, +) (ClusterInputs, []p.CheckFailure, error) { + failures := []p.CheckFailure{} - Kubeconfig string `pulumi:"kubeconfig" provider:"secret"` -} + manager, err := c.newManager(name, &news) + if err != nil { + return news, failures, err + } + + if err := manager.Validate(); err != nil { + failures = append(failures, p.CheckFailure{Reason: err.Error()}) + } -func (c Cluster) Diff(ctx p.Context, name string, state ClusterState, args ClusterArgs) (p.DiffResponse, error) { - defer func() { - _ = cleanupTempFiles(name) - }() + return news, failures, nil +} +func (c Cluster) Diff(ctx p.Context, name string, olds ClusterOutputs, news ClusterInputs) (p.DiffResponse, error) { diffResponse := p.DiffResponse{ DeleteBeforeReplace: true, HasChanges: false, DetailedDiff: map[string]p.PropertyDiff{}, } - _, cluster, err := clusterArgsToK0sCtlCluster(name, &args) - if err != nil { + if err := PrepareCluster(name, &news); err != nil { return diffResponse, err } - if args.Spec != nil && args.Spec.K0s != nil && args.Spec.K0s.Version == nil { - version := cluster.Spec.K0s.Version.String() - args.Spec.K0s.Version = &version - } - - stateProps, err := introspect.NewPropertiesMap(state) + oldsProps, err := introspect.NewPropertiesMap(olds) if err != nil { return p.DiffResponse{}, err } - argsProps, err := introspect.NewPropertiesMap(args) + newsProps, err := introspect.NewPropertiesMap(news) if err != nil { return p.DiffResponse{}, err } - for key := range propertyMapDiff(stateProps, argsProps, []resource.PropertyKey{"kubeconfig"}) { + for key := range propertyMapDiff(oldsProps, newsProps, []resource.PropertyKey{"kubeconfig"}) { diffResponse.DetailedDiff[string(key)] = p.PropertyDiff{ Kind: p.Update, InputDiff: true, @@ -360,339 +371,113 @@ func (c Cluster) Diff(ctx p.Context, name string, state ClusterState, args Clust return diffResponse, nil } -func (c Cluster) Check( +func (c *Cluster) Read( ctx p.Context, name string, - state ClusterState, - args ClusterArgs, -) (ClusterArgs, []p.CheckFailure, error) { - failures := []p.CheckFailure{} - - _, cluster, err := clusterArgsToK0sCtlCluster(name, &args) + news ClusterInputs, + olds ClusterOutputs, +) (string, ClusterInputs, ClusterOutputs, error) { + manager, err := c.newManager(name, &news) if err != nil { - return args, failures, err + return name, news, olds, err } - if err := k0sctl.Validate(cluster); err != nil { - failures = append(failures, p.CheckFailure{Reason: err.Error()}) + if err := manager.Kubeconfig(); err != nil { + return name, news, olds, err } - return args, failures, nil -} + olds.ClusterInputs = news -func (c Cluster) Create(ctx p.Context, name string, args ClusterArgs, preview bool) (string, ClusterState, error) { - newState, err := clusterApply(ctx, name, nil, &args, preview) - if err != nil { - return name, *newState, err - } - - return name, *newState, nil -} - -func (c *Cluster) Read( - ctx p.Context, - name string, - args ClusterArgs, - state ClusterState, -) (string, ClusterArgs, ClusterState, error) { - newArgs, cluster, err := clusterArgsToK0sCtlCluster(name, &args) - if err != nil { - return name, *newArgs, state, err + if news.Kubeconfig != nil { + olds.Kubeconfig = news.Kubeconfig } - state.ClusterArgs = *newArgs - state.Kubeconfig = cluster.Metadata.Kubeconfig - - return name, *newArgs, state, nil + return name, news, olds, nil } -func (c Cluster) Update( +func (c Cluster) Create( ctx p.Context, name string, - state ClusterState, - args ClusterArgs, + news ClusterInputs, preview bool, -) (ClusterState, error) { - newState, err := clusterApply(ctx, name, &state, &args, preview) +) (string, ClusterOutputs, error) { + config := infer.GetConfig[Config](ctx) + olds := ClusterOutputs{ClusterInputs: news} + + manager, err := c.newManager(name, &news) if err != nil { - return *newState, err + return name, olds, err } - return *newState, nil -} - -func (c Cluster) Delete(ctx p.Context, name string, state ClusterState) error { - defer func() { - _ = cleanupTempFiles(name) - }() + if preview { + olds.ClusterInputs = news - _, cluster, err := clusterArgsToK0sCtlCluster(name, &ClusterArgs{Metadata: state.Metadata, Spec: state.Spec}) - if err != nil { - return err + return name, olds, err } - if _, err = k0sctl.Reset(cluster); err != nil { - return err + if err := manager.Apply(&config); err != nil { + return name, olds, err } - state.Kubeconfig = "" + if news.Kubeconfig != nil { + olds.Kubeconfig = news.Kubeconfig + } - return nil + return name, olds, nil } -func clusterApply( +func (c Cluster) Update( ctx p.Context, name string, - state *ClusterState, - clusterArgs *ClusterArgs, + olds ClusterOutputs, + news ClusterInputs, preview bool, -) (*ClusterState, error) { - defer func() { - _ = cleanupTempFiles(name) - }() - +) (ClusterOutputs, error) { config := infer.GetConfig[Config](ctx) - applyConfig, err := k0sctlApplyConfigFromConfig(&config) - if err != nil { - return state, err - } - - if state == nil { - state = &ClusterState{} - } - - newClusterArgs, cluster, err := clusterArgsToK0sCtlCluster(name, clusterArgs) + manager, err := c.newManager(name, &news) if err != nil { - return state, err + return olds, err } - state.ClusterArgs = *newClusterArgs - if preview { - return state, nil - } + olds.ClusterInputs = news - cluster, err = k0sctl.Apply(cluster, applyConfig) - if err != nil { - return state, err + return olds, nil } - state.Kubeconfig = cluster.Metadata.Kubeconfig - - return state, nil -} - -func clusterArgsToK0sCtlCluster(name string, clusterArgs *ClusterArgs) (*ClusterArgs, *k0sctl.Cluster, error) { - defaultCluster, err := k0sctl.DefaultClusterConfig() - if err != nil { - return clusterArgs, nil, err + if err := manager.Apply(&config); err != nil { + return olds, err } - defaultClusterBytes, err := yaml.Marshal(defaultCluster) - if err != nil { - return clusterArgs, nil, err - } - - argsBytes, err := yaml.Marshal(clusterArgs) - if err != nil { - return clusterArgs, nil, err - } + olds.ClusterInputs = news - clusterBytes, err := deepmerge.YAML(defaultClusterBytes, argsBytes, deepmerge.Config{ - PreventMultipleDefinitionsOfKeysWithPrimitiveValue: false, - }) - if err != nil { - return clusterArgs, nil, err + if news.Kubeconfig != nil { + olds.Kubeconfig = news.Kubeconfig } - var cluster *k0sctl.Cluster - - if err := yaml.Unmarshal(clusterBytes, &cluster); err != nil { - return clusterArgs, nil, err - } - - if clusterArgs.APIVersion == nil || *clusterArgs.APIVersion == "" { - clusterArgs.APIVersion = &cluster.APIVersion - } - - if clusterArgs.Kind == nil || *clusterArgs.Kind == "" { - clusterArgs.Kind = &cluster.Kind - } - - if clusterArgs.Metadata == nil { - clusterArgs.Metadata = &ClusterMetadata{} - } - - if clusterArgs.Metadata.Name == nil { - clusterArgs.Metadata.Name = &name - } - - if clusterArgs.Spec == nil { - clusterArgs.Spec = &ClusterSpec{} - } - - if clusterArgs.Spec.K0s == nil { - clusterArgs.Spec.K0s = &ClusterK0s{} - } - - if clusterArgs.Spec.K0s.Version == nil { - version := cluster.Spec.K0s.Version.String() - clusterArgs.Spec.K0s.Version = &version - } - - if clusterArgs.Spec.K0s.Config == nil { - clusterArgs.Spec.K0s.Config = &ClusterK0sConfig{} - } - - if clusterArgs.Spec.K0s.Config.Metadata == nil { - clusterArgs.Spec.K0s.Config.Metadata = &ClusterMetadata{} - } - - if clusterArgs.Spec.K0s.Config.Metadata.Name == nil { - clusterArgs.Spec.K0s.Config.Metadata.Name = clusterArgs.Metadata.Name - } - - if _, ok := cluster.Spec.K0s.Config["metadata"]; !ok { - cluster.Spec.K0s.Config["metadata"] = dig.Mapping{} - } - - if metadata, ok := cluster.Spec.K0s.Config["metadata"]; ok { - if metadataMap, ok := metadata.(dig.Mapping); ok { - metadataMap["name"] = cluster.Metadata.Name - } - } - - if err := clusterReplaceHosts(name, clusterArgs.Spec.Hosts, cluster); err != nil { - return clusterArgs, nil, err - } - - if err := clusterExternalEtcdReplace(name, clusterArgs, cluster); err != nil { - return clusterArgs, nil, err - } - - return clusterArgs, cluster, err + return olds, nil } -func clusterReplaceHosts(name string, hosts []ClusterHost, cluster *k0sctl.Cluster) error { - for i, host := range hosts { - if host.SSH != nil { - if err := clusterHostsReplaceSSHKey(name, host.SSH, cluster.Spec.Hosts[i].SSH); err != nil { - return err - } - } - - if host.WinRM != nil { - if host.WinRM.CaCert != nil { - filename, err := contentToTempFile(name, *host.WinRM.CaCert, true) - if err != nil { - return err - } - - cluster.Spec.Hosts[i].WinRM.CACertPath = filename - } - - if host.WinRM.Cert != nil { - filename, err := contentToTempFile(name, *host.WinRM.Cert, true) - if err != nil { - return err - } - - cluster.Spec.Hosts[i].WinRM.CertPath = filename - } - - if host.WinRM.Key != nil { - filename, err := contentToTempFile(name, *host.WinRM.Key, true) - if err != nil { - return err - } - - cluster.Spec.Hosts[i].WinRM.KeyPath = filename - } - - if err := clusterHostsReplaceSSHKey(name, host.WinRM.Bastion, cluster.Spec.Hosts[i].WinRM.Bastion); err != nil { - return err - } - } +func (c Cluster) Delete(ctx p.Context, name string, olds ClusterOutputs) error { + manager, err := c.newManager(name, &olds.ClusterInputs) + if err != nil { + return err } - return nil -} - -func clusterHostsReplaceSSHKey(name string, sshArgs *ClusterSSH, k0sctlSSHArgs *rig.SSH) error { - if sshArgs.Key != nil { - filename, err := contentToTempFile(name, *sshArgs.Key, true) - if err != nil { - return err - } - - k0sctlSSHArgs.KeyPath = &filename + if err := manager.Reset(); err != nil { + return err } - if sshArgs.Bastion != nil { - return clusterHostsReplaceSSHKey(name, sshArgs.Bastion, k0sctlSSHArgs.Bastion) - } + olds.Kubeconfig = nil return nil } -func clusterExternalEtcdReplace(name string, clusterArgs *ClusterArgs, cluster *k0sctl.Cluster) error { - if clusterArgs.Spec == nil || clusterArgs.Spec.K0s == nil || clusterArgs.Spec.K0s.Config == nil { - return nil - } - - if clusterArgs.Spec.K0s.Config.Spec == nil || clusterArgs.Spec.K0s.Config.Spec.Storage == nil { - return nil - } - - if clusterArgs.Spec.K0s.Config.Spec.Storage == nil && clusterArgs.Spec.K0s.Config.Spec.Storage.Etcd == nil { - return nil - } - - externalCluster := clusterArgs.Spec.K0s.Config.Spec.Storage.Etcd.ExternalCluster - k0sctlExternalCluster := cluster.Spec.K0s.Config.Dig("spec", "storage", "etcd", "externalCluster") - - if externalCluster == nil || k0sctlExternalCluster == nil { - return nil - } - - k0sctlExternalClusterMap, ok := k0sctlExternalCluster.(dig.Mapping) - if !ok { - return nil +func (c Cluster) newManager(name string, news *ClusterInputs) (*K0sctl, error) { + if err := PrepareCluster(name, news); err != nil { + return nil, err } - if externalCluster.CA != nil { - filename, err := contentToTempFile(name, *externalCluster.CA, true) - if err != nil { - return err - } - - k0sctlExternalClusterMap["caFile"] = &filename - - delete(k0sctlExternalClusterMap, "ca") - } - - if externalCluster.ClientCert != nil { - filename, err := contentToTempFile(name, *externalCluster.ClientCert, true) - if err != nil { - return err - } - - k0sctlExternalClusterMap["clientCertFile"] = &filename - - delete(k0sctlExternalClusterMap, "clientCert") - } - - if externalCluster.ClientKey != nil { - filename, err := contentToTempFile(name, *externalCluster.ClientKey, true) - if err != nil { - return err - } - - k0sctlExternalClusterMap["clientKeyFile"] = &filename - - delete(k0sctlExternalClusterMap, "clientKey") - } - - return nil + return NewK0sctl(news), nil } diff --git a/provider/cluster_test.go b/provider/cluster_test.go deleted file mode 100644 index b0fd5f4..0000000 --- a/provider/cluster_test.go +++ /dev/null @@ -1,71 +0,0 @@ -package provider - -import ( - "testing" -) - -func TestMergeConfigs(t *testing.T) { - name := "my-cluster" - role := "controller+worker" - address := "1.2.3.4" - user := "foo" - falseValue := false - - args := &ClusterArgs{ - Metadata: &ClusterMetadata{Name: &name}, - Spec: &ClusterSpec{ - Hosts: []ClusterHost{ - {Role: &role, SSH: &ClusterSSH{Address: &address, User: &user}}, - }, - K0s: &ClusterK0s{ - Config: &ClusterK0sConfig{ - Spec: &ClusterK0sSpec{ - Telemetry: &ClusterTelemetry{Enabled: &falseValue}, - }, - }, - }, - }, - } - - _, cluster, err := clusterArgsToK0sCtlCluster(name, args) - if err != nil { - t.Errorf("clusterArgsToK0sCtlCluster error: %s", err.Error()) - - return - } - - if cluster.Metadata.Name != name { - t.Errorf("cluster.Metadata.Name: want: %s; got: %s", name, *args.Metadata.Name) - } - - if len(cluster.Spec.Hosts) != 1 { - t.Errorf("len(cluster.Spec.Hosts): want: %d; got: %d", len(args.Spec.Hosts), len(cluster.Spec.Hosts)) - - return - } - - if cluster.Spec.Hosts[0].Role != role { - t.Errorf("cluster.Spec.Hosts[0].Role: want: %s; got: %s", *args.Spec.Hosts[0].Role, cluster.Spec.Hosts[0].Role) - } - - if cluster.Spec.Hosts[0].SSH == nil { - t.Errorf("cluster.Spec.Hosts[0].SSH is nil") - } - - if cluster.Spec.Hosts[0].SSH.Address != address { - t.Errorf("cluster.Spec.Hosts[0].SSH.Address: want: %s; got: %s", *args.Spec.Hosts[0].SSH.Address, cluster.Spec.Hosts[0].SSH.Address) - } - - if cluster.Spec.Hosts[0].SSH.User != user { - t.Errorf("cluster.Spec.Hosts[0].SSH.Address: want: %s; got: %s", *args.Spec.Hosts[0].SSH.User, cluster.Spec.Hosts[0].SSH.User) - } - - if cluster.Spec.K0s.Config == nil { - t.Errorf("cluster.Spec.K0s.Config is nil") - } - - telemetryEnabled, ok := cluster.Spec.K0s.Config.Dig("spec", "telemetry", "enabled").(bool) - if !ok || telemetryEnabled != falseValue { - t.Errorf("cluster.Spec.K0s.Config.Spec.Telemetry.Enabled: want: %t; got: %t", *args.Spec.K0s.Config.Spec.Telemetry.Enabled, telemetryEnabled) - } -} diff --git a/provider/go.mod b/provider/go.mod index 5dfbc89..4fae038 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -1,13 +1,15 @@ module github.com/ydkn/pulumi-k0s/provider -go 1.21 +go 1.21.0 + +toolchain go1.21.7 replace github.com/imdario/mergo => github.com/imdario/mergo v0.3.16 require ( - github.com/TwiN/deepmerge v0.2.1 - github.com/creasty/defaults v1.7.0 + github.com/imdario/mergo v1.0.0 github.com/k0sproject/dig v0.2.0 + github.com/k0sproject/k0s v1.29.2-0.20240222143930-8a0d67645b91 github.com/k0sproject/k0sctl v0.17.4 github.com/k0sproject/rig v0.18.0 github.com/k0sproject/version v0.6.0 @@ -15,7 +17,7 @@ require ( github.com/pulumi/pulumi/sdk/v3 v3.107.0 github.com/sirupsen/logrus v1.9.3 gopkg.in/yaml.v2 v2.4.0 - gopkg.in/yaml.v3 v3.0.1 + sigs.k8s.io/yaml v1.4.0 ) require ( @@ -23,6 +25,7 @@ require ( github.com/AlecAivazis/survey/v2 v2.3.7 // indirect github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 // indirect github.com/ChrisTrenkamp/goxpath v0.0.0-20210404020558-97928f7e12b6 // indirect + github.com/Masterminds/semver/v3 v3.2.1 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/ProtonMail/go-crypto v1.0.0 // indirect github.com/a8m/envsubst v1.4.2 // indirect @@ -46,7 +49,9 @@ require ( github.com/cheggaaa/pb v1.0.29 // indirect github.com/cloudflare/circl v1.3.7 // indirect github.com/containerd/console v1.0.4 // indirect + github.com/containerd/containerd v1.7.13 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect + github.com/creasty/defaults v1.7.0 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/davidmz/go-pageant v1.0.2 // indirect @@ -75,7 +80,6 @@ require ( github.com/hashicorp/go-uuid v1.0.3 // indirect github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/hcl/v2 v2.19.1 // indirect - github.com/imdario/mergo v1.0.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/jcmturner/aescts/v2 v2.0.0 // indirect @@ -99,9 +103,11 @@ require ( github.com/mattn/go-runewidth v0.0.15 // indirect github.com/mattn/go-shellwords v1.0.12 // indirect github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect + github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-ps v1.0.0 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect @@ -109,6 +115,7 @@ require ( github.com/muesli/reflow v0.3.0 // indirect github.com/muesli/termenv v0.15.2 // indirect github.com/natefinch/atomic v1.0.1 // indirect + github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opentracing/basictracer-go v1.1.0 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/pgavlin/fx v0.1.6 // indirect @@ -140,12 +147,15 @@ require ( github.com/uber/jaeger-lib v2.4.1+incompatible // indirect github.com/urfave/cli/v2 v2.27.1 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect + github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect + github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect + github.com/xeipuuv/gojsonschema v1.2.0 // indirect github.com/xrash/smetrics v0.0.0-20231213231151-1d8dd44e695e // indirect github.com/xtgo/uuid v0.0.0-20140804021211-a0b114877d4c // indirect github.com/zclconf/go-cty v1.14.2 // indirect go.uber.org/atomic v1.11.0 // indirect golang.org/x/crypto v0.19.0 // indirect - golang.org/x/exp v0.0.0-20240213143201-ec583247a57a // indirect + golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect golang.org/x/mod v0.15.0 // indirect golang.org/x/net v0.21.0 // indirect golang.org/x/oauth2 v0.17.0 // indirect @@ -161,12 +171,16 @@ require ( google.golang.org/protobuf v1.32.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect + helm.sh/helm/v3 v3.14.2 // indirect + k8s.io/api v0.29.2 // indirect + k8s.io/apiextensions-apiserver v0.29.2 // indirect k8s.io/apimachinery v0.29.2 // indirect k8s.io/client-go v0.29.2 // indirect k8s.io/klog/v2 v2.120.1 // indirect k8s.io/utils v0.0.0-20240102154912-e7106e64919e // indirect lukechampine.com/frand v1.4.2 // indirect + sigs.k8s.io/controller-runtime v0.17.2 // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect - sigs.k8s.io/yaml v1.4.0 // indirect ) diff --git a/provider/go.sum b/provider/go.sum index abdf69e..e91fbdf 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -8,6 +8,8 @@ github.com/ChrisTrenkamp/goxpath v0.0.0-20210404020558-97928f7e12b6 h1:w0E0fgc1Y github.com/ChrisTrenkamp/goxpath v0.0.0-20210404020558-97928f7e12b6/go.mod h1:nuWgzSkT5PnyOd+272uUmV0dnAnAn42Mk7PiQC5VzN4= github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0= +github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= @@ -15,8 +17,6 @@ github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63n github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78= github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= -github.com/TwiN/deepmerge v0.2.1 h1:GowJr9O4THTVW4awX63x1BVg1hgr4q+35XKKCYbwsSs= -github.com/TwiN/deepmerge v0.2.1/go.mod h1:LVBmCEBQvibYSF8Gyl/NqhHXH7yIiT7Ozqf9dHxGPW0= github.com/a8m/envsubst v1.4.2 h1:4yWIHXOLEJHQEFd4UjrWDrYeYlV7ncFWJOCBRLOZHQg= github.com/a8m/envsubst v1.4.2/go.mod h1:MVUTQNGQ3tsjOOtKCNd+fl8RzhsXcDvvAEzkhGtlsbY= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8= @@ -68,6 +68,8 @@ github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vc github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/containerd/console v1.0.4 h1:F2g4+oChYvBTsASRTz8NP6iIAi97J3TtSAsLbIFn4ro= github.com/containerd/console v1.0.4/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= +github.com/containerd/containerd v1.7.13 h1:wPYKIeGMN8vaggSKuV1X0wZulpMz4CrgEsZdaCyB6Is= +github.com/containerd/containerd v1.7.13/go.mod h1:zT3up6yTRfEUa6+GsITYIJNgSVL9NQ4x4h1RPzk0Wu4= github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.17 h1:QeVUsEDNrLBW4tMgZHvxy18sKtr6VI492kBhUfhDJNI= @@ -110,12 +112,12 @@ github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3c github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= +github.com/go-openapi/jsonpointer v0.20.2 h1:mQc3nmndL8ZBzStEo3JYF8wzmeWffDH4VbXz58sAx6Q= +github.com/go-openapi/jsonpointer v0.20.2/go.mod h1:bHen+N0u1KEO3YlmqOjTT9Adn1RfD91Ar825/PuiRVs= github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-openapi/swag v0.22.5 h1:fVS63IE3M0lsuWRzuom3RLwUMVI2peDH01s6M70ugys= +github.com/go-openapi/swag v0.22.5/go.mod h1:Gl91UqO+btAM0plGGxHqJcQZ1ZTy6jbmridBTsDy8A0= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= @@ -124,6 +126,8 @@ github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJn github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.18.0 h1:BvolUXjp4zuvkZ5YN5t7ebzbhlUtPsPm2S9NAZ5nl9U= github.com/go-playground/validator/v10 v10.18.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA= github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= @@ -146,6 +150,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/pprof v0.0.0-20230406165453-00490a63f317 h1:hFhpt7CTmR3DX+b4R19ydQFtofxT0Sv3QsKNMVQYTMQ= +github.com/google/pprof v0.0.0-20230406165453-00490a63f317/go.mod h1:79YE0hCXdHag9sBkw2o+N/YnZtTkXi0UT9Nnixa5eYk= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= @@ -197,6 +203,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/k0sproject/dig v0.2.0 h1:cNxEIl96g9kqSMfPSZLhpnZ0P8bWXKv08nxvsMHop5w= github.com/k0sproject/dig v0.2.0/go.mod h1:rBcqaQlJpcKdt2x/OE/lPvhGU50u/e95CSm5g/r4s78= +github.com/k0sproject/k0s v1.29.2-0.20240222143930-8a0d67645b91 h1:NAn69zVlJg9ygJCwwtBAFEeXP7q2ZHsz9zdRw+xD90I= +github.com/k0sproject/k0s v1.29.2-0.20240222143930-8a0d67645b91/go.mod h1:6T0371vICFKFqBeG6rIiNAp5Q97sHi6qln+MryOSZyI= github.com/k0sproject/k0sctl v0.17.4 h1:CNfCriE6GPwCDTaXLO41113x1e3YQCXxdrsNLEYkTCc= github.com/k0sproject/k0sctl v0.17.4/go.mod h1:ovmA+UEzXwg20bP2NdIx26ZbGc2PIK8Q/14zWreeXBg= github.com/k0sproject/rig v0.18.0 h1:posiCkevxtCmRzabweITLvR4nNBK7LRPI/OHVtXrMBs= @@ -249,12 +257,16 @@ github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lL github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI= github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -272,8 +284,12 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/natefinch/atomic v1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0A= github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM= -github.com/onsi/gomega v1.29.0 h1:KIA/t2t5UBzoirT4H9tsML45GEbo3ouUnBHsCfD2tVg= -github.com/onsi/gomega v1.29.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= +github.com/onsi/ginkgo/v2 v2.14.0 h1:vSmGj2Z5YPb9JwCWT6z6ihcUvDhuXLc3sJiqd3jMKAY= +github.com/onsi/ginkgo/v2 v2.14.0/go.mod h1:JkUdW7JkN0V6rFvsHcJ478egV3XH9NxpD27Hal/PhZw= +github.com/onsi/gomega v1.30.0 h1:hvMK7xYz4D3HapigLTeGdId/NcfQx1VHMJc60ew99+8= +github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= +github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0= github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= @@ -363,6 +379,13 @@ github.com/urfave/cli/v2 v2.27.1 h1:8xSQ6szndafKVRmfyeUMxkNUJQMjL1F2zmsZ+qHpfho= github.com/urfave/cli/v2 v2.27.1/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= +github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xrash/smetrics v0.0.0-20231213231151-1d8dd44e695e h1:+SOyEddqYF09QP7vr7CgJ1eti3pY9Fn3LHO1M1r/0sI= github.com/xrash/smetrics v0.0.0-20231213231151-1d8dd44e695e/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= github.com/xtgo/uuid v0.0.0-20140804021211-a0b114877d4c h1:3lbZUMbMiGUW/LMkfsEABsc5zNT9+b1CvsJx47JzJ8g= @@ -385,8 +408,8 @@ golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58 golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/exp v0.0.0-20240213143201-ec583247a57a h1:HinSgX1tJRX3KsL//Gxynpw5CTOAIPhgL4W8PNiIpVE= -golang.org/x/exp v0.0.0-20240213143201-ec583247a57a/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= +golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ= +golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -502,8 +525,12 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +helm.sh/helm/v3 v3.14.2 h1:V71fv+NGZv0icBlr+in1MJXuUIHCiPG1hW9gEBISTIA= +helm.sh/helm/v3 v3.14.2/go.mod h1:2itvvDv2WSZXTllknfQo6j7u3VVgMAvm8POCDgYH424= k8s.io/api v0.29.2 h1:hBC7B9+MU+ptchxEqTNW2DkUosJpp1P+Wn6YncZ474A= k8s.io/api v0.29.2/go.mod h1:sdIaaKuU7P44aoyyLlikSLayT6Vb7bvJNCX105xZXY0= +k8s.io/apiextensions-apiserver v0.29.2 h1:UK3xB5lOWSnhaCk0RFZ0LUacPZz9RY4wi/yt2Iu+btg= +k8s.io/apiextensions-apiserver v0.29.2/go.mod h1:aLfYjpA5p3OwtqNXQFkhJ56TB+spV8Gc4wfMhUA3/b8= k8s.io/apimachinery v0.29.2 h1:EWGpfJ856oj11C52NRCHuU7rFDwxev48z+6DSlGNsV8= k8s.io/apimachinery v0.29.2/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTKU= k8s.io/client-go v0.29.2 h1:FEg85el1TeZp+/vYJM7hkDlSTFZ+c5nnK44DJ4FyoRg= @@ -518,6 +545,8 @@ lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +sigs.k8s.io/controller-runtime v0.17.2 h1:FwHwD1CTUemg0pW2otk7/U5/i5m2ymzvOXdbeGOUvw0= +sigs.k8s.io/controller-runtime v0.17.2/go.mod h1:+MngTvIQQQhfXtwfdGw/UOQ/aIaqsYywfCINOtwMO/s= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= diff --git a/provider/helpers.go b/provider/helpers.go index 1363e3b..c96b3e4 100644 --- a/provider/helpers.go +++ b/provider/helpers.go @@ -6,14 +6,12 @@ import ( "io/fs" "os" "path/filepath" - "strconv" "strings" "github.com/pulumi/pulumi/sdk/v3/go/common/resource" - "github.com/ydkn/pulumi-k0s/provider/internal/k0sctl" ) -func contentToTempFile(name, content string, ensureNewline bool) (string, error) { +func contentToTempFile(prefix, content string, ensureNewline bool) (string, error) { hash := sha512.New() _, err := hash.Write([]byte(content)) @@ -23,7 +21,7 @@ func contentToTempFile(name, content string, ensureNewline bool) (string, error) hashString := fmt.Sprintf("%x", hash.Sum(nil)) - filename := filepath.Join(os.TempDir(), fmt.Sprintf("pulumi-%s-%s-%s", Name, name, hashString)) + filename := filepath.Join(os.TempDir(), fmt.Sprintf("pulumi-%s-%s-%s", Name, prefix, hashString)) fileContent := content if ensureNewline && !strings.HasSuffix(content, "\n") { @@ -41,13 +39,13 @@ func contentToTempFile(name, content string, ensureNewline bool) (string, error) return filename, nil } -func cleanupTempFiles(name string) error { +func cleanupTempFiles(prefix string) error { return filepath.WalkDir(os.TempDir(), func(path string, d fs.DirEntry, err error) error { if d.IsDir() { return nil } - if strings.HasPrefix(d.Name(), fmt.Sprintf("pulumi-%s-%s-", Name, name)) { + if strings.HasPrefix(d.Name(), fmt.Sprintf("pulumi-%s-%s-", Name, prefix)) { if err := os.Remove(path); err != nil { return err } @@ -77,45 +75,3 @@ func propertyMapDiff(a, b resource.PropertyMap, ignoreKeys []resource.PropertyKe return changedProperties } - -func k0sctlApplyConfigFromConfig(config *Config) (k0sctl.ApplyConfig, error) { - applyConfig := k0sctl.ApplyConfig{ - SkipDowngradeCheck: false, - NoDrain: false, - NoWait: false, - Concurrency: 30, - ConcurrentUploads: 5, - } - - if config.SkipDowngradeCheck != nil { - applyConfig.SkipDowngradeCheck = strings.ToLower(*config.SkipDowngradeCheck) == "true" - } - - if config.NoDrain != nil { - applyConfig.NoDrain = strings.ToLower(*config.NoDrain) == "true" - } - - if config.NoWait != nil { - applyConfig.NoWait = strings.ToLower(*config.NoWait) == "true" - } - - if config.Concurrency != nil { - concurrency, err := strconv.ParseUint(*config.Concurrency, 10, 64) - if err != nil { - return applyConfig, err - } - - applyConfig.Concurrency = concurrency - } - - if config.ConcurrentUploads != nil { - concurrentUploads, err := strconv.ParseUint(*config.ConcurrentUploads, 10, 64) - if err != nil { - return applyConfig, err - } - - applyConfig.ConcurrentUploads = concurrentUploads - } - - return applyConfig, nil -} diff --git a/provider/internal/k0sctl/apply.go b/provider/internal/k0sctl/apply.go deleted file mode 100644 index cb826bc..0000000 --- a/provider/internal/k0sctl/apply.go +++ /dev/null @@ -1,66 +0,0 @@ -package k0sctl - -import ( - "github.com/k0sproject/k0sctl/phase" - "github.com/k0sproject/k0sctl/pkg/apis/k0sctl.k0sproject.io/v1beta1" -) - -type ApplyConfig struct { - SkipDowngradeCheck bool - NoDrain bool - NoWait bool - Concurrency uint64 - ConcurrentUploads uint64 -} - -func Apply(cluster *Cluster, config ApplyConfig) (*Cluster, error) { - clt := v1beta1.Cluster(*cluster) - - manager := phase.Manager{Config: &clt} - manager.Concurrency = int(config.Concurrency) - manager.ConcurrentUploads = int(config.ConcurrentUploads) - - phase.NoWait = config.NoWait - - lockPhase := &phase.Lock{} - - manager.AddPhase( - &phase.DefaultK0sVersion{}, - &phase.Connect{}, - &phase.DetectOS{}, - lockPhase, - &phase.PrepareHosts{}, - &phase.GatherFacts{}, - &phase.ValidateHosts{}, - &phase.GatherK0sFacts{}, - &phase.ValidateFacts{SkipDowngradeCheck: config.SkipDowngradeCheck}, - &phase.DownloadBinaries{}, - &phase.UploadK0s{}, - &phase.DownloadK0s{}, - &phase.UploadFiles{}, - &phase.InstallBinaries{}, - &phase.PrepareArm{}, - &phase.ConfigureK0s{}, - &phase.Restore{RestoreFrom: ""}, - &phase.RunHooks{Stage: "before", Action: "apply"}, - &phase.InitializeK0s{}, - &phase.InstallControllers{}, - &phase.InstallWorkers{}, - &phase.UpgradeControllers{}, - &phase.UpgradeWorkers{NoDrain: config.NoDrain}, - &phase.ResetWorkers{NoDrain: config.NoDrain}, - &phase.ResetControllers{NoDrain: config.NoDrain}, - &phase.RunHooks{Stage: "after", Action: "apply"}, - &phase.GetKubeconfig{APIAddress: cluster.APIAddress()}, - &phase.Unlock{Cancel: lockPhase.Cancel}, - &phase.Disconnect{}, - ) - - if err := manager.Run(); err != nil { - return nil, err - } - - newCluster := Cluster(*manager.Config) - - return &newCluster, nil -} diff --git a/provider/internal/k0sctl/cluster.go b/provider/internal/k0sctl/cluster.go deleted file mode 100644 index b036c89..0000000 --- a/provider/internal/k0sctl/cluster.go +++ /dev/null @@ -1,71 +0,0 @@ -package k0sctl - -import ( - "encoding/json" - "fmt" - - "github.com/k0sproject/k0sctl/pkg/apis/k0sctl.k0sproject.io/v1beta1" - "gopkg.in/yaml.v3" -) - -type Cluster v1beta1.Cluster - -func (c *Cluster) APIAddress() string { - address := "localhost" - port := 6443 - - clt := v1beta1.Cluster(*c) - - leader := clt.Spec.K0sLeader() - if leader != nil { - if leader.SSH != nil { - address = leader.SSH.Address - } - - if leader.WinRM != nil { - address = leader.WinRM.Address - } - } - - if clt.Spec != nil && clt.Spec.K0s != nil && clt.Spec.K0s.Config != nil { - config := clt.Spec.K0s.Config - - externalAddress := config.Dig("spec", "api", "externalAddress") - if externalAddress != nil { - externalAddressString, ok := externalAddress.(string) - if ok { - address = externalAddressString - } - } - - apiPort := config.Dig("spec", "api", "port") - if apiPort != nil { - apiPortInt, ok := apiPort.(int) - if ok { - port = apiPortInt - } - } - } - - return fmt.Sprintf("https://%s:%d", address, port) -} - -// Fix problematic YAML handling with dig -func (c *Cluster) MarshalYAML() ([]byte, error) { - j, err := json.Marshal(c) //nolint:staticcheck - if err != nil { - return nil, err - } - - var iface interface{} - - if err := json.Unmarshal(j, &iface); err != nil { - return nil, err - } - - return yaml.Marshal(iface) -} - -func (c *Cluster) UnmarshalYAML(b []byte) error { - return yaml.Unmarshal(b, c) -} diff --git a/provider/internal/k0sctl/defaults.go b/provider/internal/k0sctl/defaults.go deleted file mode 100644 index ca575ab..0000000 --- a/provider/internal/k0sctl/defaults.go +++ /dev/null @@ -1,52 +0,0 @@ -package k0sctl - -import ( - "github.com/creasty/defaults" - "github.com/k0sproject/dig" - "github.com/k0sproject/k0sctl/cmd" - "github.com/k0sproject/k0sctl/pkg/apis/k0sctl.k0sproject.io/v1beta1" - "github.com/k0sproject/k0sctl/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster" - "github.com/k0sproject/version" - "gopkg.in/yaml.v2" -) - -// DefaultCluster returns a default cluster configuration. -// see https://github.com/k0sproject/k0sctl/blob/main/cmd/init.go -func DefaultClusterConfig() (*Cluster, error) { - k0sVersion, err := version.LatestStable() - if err != nil { - return nil, err - } - - cfg := v1beta1.Cluster{ - APIVersion: v1beta1.APIVersion, - Kind: "Cluster", - Metadata: &v1beta1.ClusterMetadata{Name: "k0s-cluster"}, - Spec: &cluster.Spec{ - Hosts: make(cluster.Hosts, 0), - K0s: &cluster.K0s{Version: k0sVersion}, - }, - } - - if err := defaults.Set(&cfg); err != nil { - return nil, err - } - - cfg.Spec.K0s.Config = dig.Mapping{} - if err := yaml.Unmarshal(cmd.DefaultK0sYaml, &cfg.Spec.K0s.Config); err != nil { - return nil, err - } - - data, err := yaml.Marshal(cfg) - if err != nil { - return nil, err - } - - var cluster Cluster - - if err := yaml.Unmarshal(data, &cluster); err != nil { - return nil, err - } - - return &cluster, nil -} diff --git a/provider/internal/k0sctl/kubeconfig.go b/provider/internal/k0sctl/kubeconfig.go deleted file mode 100644 index 651e310..0000000 --- a/provider/internal/k0sctl/kubeconfig.go +++ /dev/null @@ -1,31 +0,0 @@ -package k0sctl - -import ( - "github.com/k0sproject/k0sctl/phase" - "github.com/k0sproject/k0sctl/pkg/apis/k0sctl.k0sproject.io/v1beta1" - k0sctlCluster "github.com/k0sproject/k0sctl/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster" -) - -func Kubeconfig(cluster *Cluster) (*Cluster, error) { - clt := v1beta1.Cluster(*cluster) - - // Change so that the internal config has only single controller host as we do not need to connect to all nodes - clt.Spec.Hosts = k0sctlCluster.Hosts{clt.Spec.K0sLeader()} - - manager := phase.Manager{Config: &clt} - - manager.AddPhase( - &phase.Connect{}, - &phase.DetectOS{}, - &phase.GetKubeconfig{APIAddress: cluster.APIAddress()}, - &phase.Disconnect{}, - ) - - if err := manager.Run(); err != nil { - return nil, err - } - - newCluster := Cluster(*manager.Config) - - return &newCluster, nil -} diff --git a/provider/internal/k0sctl/reset.go b/provider/internal/k0sctl/reset.go deleted file mode 100644 index af94b74..0000000 --- a/provider/internal/k0sctl/reset.go +++ /dev/null @@ -1,37 +0,0 @@ -package k0sctl - -import ( - "github.com/k0sproject/k0sctl/phase" - "github.com/k0sproject/k0sctl/pkg/apis/k0sctl.k0sproject.io/v1beta1" -) - -func Reset(cluster *Cluster) (*Cluster, error) { - clt := v1beta1.Cluster(*cluster) - - manager := phase.Manager{Config: &clt} - - lockPhase := &phase.Lock{} - - manager.AddPhase( - &phase.Connect{}, - &phase.DetectOS{}, - lockPhase, - &phase.PrepareHosts{}, - &phase.GatherK0sFacts{}, - &phase.RunHooks{Stage: "before", Action: "reset"}, - &phase.ResetWorkers{NoDrain: true, NoDelete: true}, - &phase.ResetControllers{NoDrain: true, NoDelete: true, NoLeave: true}, - &phase.ResetLeader{}, - &phase.RunHooks{Stage: "after", Action: "reset"}, - &phase.Unlock{Cancel: lockPhase.Cancel}, - &phase.Disconnect{}, - ) - - if err := manager.Run(); err != nil { - return nil, err - } - - newCluster := Cluster(*manager.Config) - - return &newCluster, nil -} diff --git a/provider/internal/k0sctl/validate.go b/provider/internal/k0sctl/validate.go deleted file mode 100644 index 95e224b..0000000 --- a/provider/internal/k0sctl/validate.go +++ /dev/null @@ -1,11 +0,0 @@ -package k0sctl - -import ( - "github.com/k0sproject/k0sctl/pkg/apis/k0sctl.k0sproject.io/v1beta1" -) - -func Validate(cluster *Cluster) error { - clt := v1beta1.Cluster(*cluster) - - return clt.Validate() -} diff --git a/provider/k0sctl.go b/provider/k0sctl.go new file mode 100644 index 0000000..2dd520b --- /dev/null +++ b/provider/k0sctl.go @@ -0,0 +1,160 @@ +package provider + +import ( + "bufio" + "bytes" + "strconv" + "strings" + + "github.com/k0sproject/k0sctl/action" + "github.com/k0sproject/k0sctl/phase" +) + +type K0sctl struct { + news *ClusterInputs + cluster k0sctlCluster +} + +func NewK0sctl(news *ClusterInputs) *K0sctl { + return &K0sctl{news: news, cluster: k0sctlCluster(*news)} +} + +func (k *K0sctl) Validate() error { + return k.validate() +} + +func (k *K0sctl) Apply(config *Config) error { + cluster, cleanup, err := k.cluster.k0sctl() + + defer cleanup() + + if err != nil { + return err + } + + skipDowngradeCheck := false + if config.SkipDowngradeCheck != nil { + skipDowngradeCheck = strings.ToLower(*config.SkipDowngradeCheck) == "true" + } + + noDrain := false + if config.NoDrain != nil { + noDrain = strings.ToLower(*config.NoDrain) == "true" + } + + noWait := false + if config.NoWait != nil { + noWait = strings.ToLower(*config.NoWait) == "true" + } + + concurrency := 30 + if config.Concurrency != nil { + i, err := strconv.ParseUint(*config.Concurrency, 10, 64) + if err != nil { + return err + } + + concurrency = int(i) + } + + concurrentUploads := 5 + if config.ConcurrentUploads != nil { + i, err := strconv.ParseUint(*config.ConcurrentUploads, 10, 64) + if err != nil { + return err + } + + concurrentUploads = int(i) + } + + manager := phase.Manager{Config: cluster, Concurrency: concurrency, ConcurrentUploads: concurrentUploads} + + var kubeconfigBytes bytes.Buffer + + kubeconfigWriter := bufio.NewWriter(&kubeconfigBytes) + + applyAction := action.Apply{ + Force: false, + Manager: &manager, + KubeconfigOut: kubeconfigWriter, + KubeconfigAPIAddress: k.cluster.APIAddress(), + NoWait: noWait, + NoDrain: noDrain, + DisableDowngradeCheck: skipDowngradeCheck, + RestoreFrom: "", + } + + if err := applyAction.Run(); err != nil { + return err + } + + if manager.Config.Metadata != nil && manager.Config.Metadata.Kubeconfig != "" { + kubeconfig := kubeconfigBytes.String() + k.news.Kubeconfig = &kubeconfig + } + + return nil +} + +func (k *K0sctl) Kubeconfig() error { + cluster, cleanup, err := k.cluster.k0sctl() + + defer cleanup() + + if err != nil { + return err + } + + manager := phase.Manager{Config: cluster} + + kubeconfigAction := action.Kubeconfig{ + Manager: &manager, + KubeconfigAPIAddress: k.cluster.APIAddress(), + } + + if err := kubeconfigAction.Run(); err != nil { + return err + } + + if manager.Config.Metadata != nil && manager.Config.Metadata.Kubeconfig != "" { + k.news.Kubeconfig = &manager.Config.Metadata.Kubeconfig + } + + return nil +} + +func (k *K0sctl) Reset() error { + cluster, cleanup, err := k.cluster.k0sctl() + + defer cleanup() + + if err != nil { + return err + } + + manager := phase.Manager{Config: cluster} + + resetAction := action.Reset{ + Manager: &manager, + Force: false, + Stdout: nil, + } + + if err := resetAction.Run(); err != nil { + return err + } + + return nil +} + +func (k *K0sctl) validate() error { + cluster, cleanup, err := k.cluster.k0sctl() + + defer cleanup() + + if err != nil { + return err + } + + return cluster.Validate() +} diff --git a/provider/k0sctlCluster.go b/provider/k0sctlCluster.go new file mode 100644 index 0000000..88fcde1 --- /dev/null +++ b/provider/k0sctlCluster.go @@ -0,0 +1,338 @@ +package provider + +import ( + "fmt" + "math/rand" + + "github.com/imdario/mergo" + "github.com/k0sproject/dig" + k0sapi "github.com/k0sproject/k0s/pkg/apis/k0s/v1beta1" + "github.com/k0sproject/k0sctl/cmd" + "github.com/k0sproject/k0sctl/pkg/apis/k0sctl.k0sproject.io/v1beta1" + "github.com/k0sproject/k0sctl/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster" + "github.com/k0sproject/rig" + "github.com/k0sproject/version" + "gopkg.in/yaml.v2" + yamlJSON "sigs.k8s.io/yaml" +) + +type k0sctlCluster ClusterInputs + +const ( + apiVersion = v1beta1.APIVersion + kind = "Cluster" +) + +func PrepareCluster(name string, news *ClusterInputs) error { + clusterDefaults, err := clusterDefaults(name) + if err != nil { + return err + } + + newsCluster := k0sctlCluster(*news) + + if err := mergo.Merge(&newsCluster, clusterDefaults); err != nil { + return err + } + + if news.APIVersion == nil || *news.APIVersion == "" { + version := apiVersion + news.APIVersion = &version + } + + if news.Kind == nil || *news.Kind == "" { + k := kind + news.Kind = &k + } + + if news.Metadata == nil { + news.Metadata = &ClusterMetadata{} + } + + if news.Metadata.Name == nil { + news.Metadata.Name = &name + } + + if news.Spec == nil { + news.Spec = &ClusterSpec{} + } + + if news.Spec.K0s == nil { + news.Spec.K0s = &ClusterK0s{} + } + + if news.Spec.K0s.Config == nil { + news.Spec.K0s.Config = &K0s{} + } + + if news.Spec.K0s.Config.Metadata == nil { + news.Spec.K0s.Config.Metadata = &K0sMetadata{} + } + + if news.Spec.K0s.Config.Metadata.Name == nil { + news.Spec.K0s.Config.Metadata.Name = &name + } + + if news.Spec.K0s.Config.Spec == nil { + news.Spec.K0s.Config.Spec = &K0sSpec{} + } + + return nil +} + +func (c *k0sctlCluster) APIAddress() string { + address := "localhost" + port := 6443 + + clt, cleanup, err := c.k0sctl() + + defer cleanup() + + if err != nil { + return fmt.Sprintf("https://%s:%d", address, port) + } + + leader := clt.Spec.K0sLeader() + if leader != nil { + if leader.SSH != nil { + address = leader.SSH.Address + } + + if leader.WinRM != nil { + address = leader.WinRM.Address + } + } + + if clt.Spec != nil && clt.Spec.K0s != nil && clt.Spec.K0s.Config != nil { + config := clt.Spec.K0s.Config + + externalAddress := config.Dig("spec", "api", "externalAddress") + if externalAddress != nil { + externalAddressString, ok := externalAddress.(string) + if ok { + address = externalAddressString + } + } + + apiPort := config.Dig("spec", "api", "port") + if apiPort != nil { + apiPortInt, ok := apiPort.(int) + if ok { + port = apiPortInt + } + } + } + + return fmt.Sprintf("https://%s:%d", address, port) +} + +func (c *k0sctlCluster) k0sctl() (*v1beta1.Cluster, func(), error) { + prefix := fmt.Sprintf("%s-%d", *c.Metadata.Name, rand.Intn(int(^uint(0)>>1))) + + cleanup := func() { + _ = cleanupTempFiles(prefix) + } + + bytes, err := yamlJSON.Marshal(c) + if err != nil { + return nil, cleanup, err + } + + var clt v1beta1.Cluster + + if err := yaml.Unmarshal(bytes, &clt); err != nil { + return nil, cleanup, err + } + + // ensure correct types of spec.k0s.config + if clt.Spec == nil { + clt.Spec = &cluster.Spec{} + } + + if clt.Spec.Hosts == nil { + clt.Spec.Hosts = cluster.Hosts{} + } + + if clt.Spec.K0s == nil { + clt.Spec.K0s = &cluster.K0s{} + } + + if clt.Spec.K0s.Config == nil { + clt.Spec.K0s.Config = dig.Mapping{} + } + + if clt.Spec.K0s.Config["metadata"] == nil { + clt.Spec.K0s.Config["metadata"] = dig.Mapping{} + } + + if m, ok := clt.Spec.K0s.Config.Dig("metadata").(dig.Mapping); ok { + m["name"] = *c.Metadata.Name + } + + if clt.Spec.K0s.Config["spec"] == nil { + clt.Spec.K0s.Config["spec"] = dig.Mapping{} + } + + // replace inline values with file paths + if err := c.k0sctlConvertHostsPaths(prefix, clt.Spec.Hosts); err != nil { + return nil, cleanup, err + } + + spec := c.Spec.K0s.Config.Spec + if spec.Storage != nil && spec.Storage.Etcd != nil && spec.Storage.Etcd.ExternalCluster != nil { + ec := clt.Spec.K0s.Config.Dig("spec", "storage", "etcd", "externalCluster") + + if ec != nil { + if ec, ok := ec.(*k0sapi.ExternalCluster); ok { + if err := c.k0sctlConvertExternalEtcdPaths(prefix, ec); err != nil { + return nil, cleanup, err + } + } + } + } + + return &clt, cleanup, nil +} + +func (c *k0sctlCluster) k0sctlConvertHostsPaths(prefix string, hosts cluster.Hosts) error { + for i, host := range hosts { + clusterHost := c.Spec.Hosts[i] + + if host.SSH != nil { + if err := c.k0sctlConvertSSHPaths(prefix, clusterHost.SSH, host.SSH); err != nil { + return err + } + } + + if host.WinRM != nil { + if clusterHost.WinRM.CaCert != nil { + filename, err := contentToTempFile(prefix, *clusterHost.WinRM.CaCert, true) + if err != nil { + return err + } + + host.WinRM.CACertPath = filename + } + + if clusterHost.WinRM.Cert != nil { + filename, err := contentToTempFile(prefix, *clusterHost.WinRM.Cert, true) + if err != nil { + return err + } + + host.WinRM.CertPath = filename + } + + if clusterHost.WinRM.Key != nil { + filename, err := contentToTempFile(prefix, *clusterHost.WinRM.Key, true) + if err != nil { + return err + } + + host.WinRM.KeyPath = filename + } + + if err := c.k0sctlConvertSSHPaths(prefix, clusterHost.WinRM.Bastion, host.WinRM.Bastion); err != nil { + return err + } + } + } + + return nil +} + +func (c *k0sctlCluster) k0sctlConvertSSHPaths(prefix string, ssh *ClusterSSH, rigSSH *rig.SSH) error { + if ssh.Key != nil { + filename, err := contentToTempFile(prefix, *ssh.Key, true) + if err != nil { + return err + } + + rigSSH.KeyPath = &filename + } + + if ssh.Bastion != nil { + return c.k0sctlConvertSSHPaths(prefix, ssh.Bastion, rigSSH.Bastion) + } + + return nil +} + +func (c *k0sctlCluster) k0sctlConvertExternalEtcdPaths( + prefix string, + k0sctlExternalCluster *k0sapi.ExternalCluster, +) error { + externalCluster := c.Spec.K0s.Config.Spec.Storage.Etcd.ExternalCluster + + if externalCluster == nil || k0sctlExternalCluster == nil { + return nil + } + + if externalCluster.CA != nil { + filename, err := contentToTempFile(prefix, *externalCluster.CA, true) + if err != nil { + return err + } + + k0sctlExternalCluster.CaFile = filename + } + + if externalCluster.ClientCert != nil { + filename, err := contentToTempFile(prefix, *externalCluster.ClientCert, true) + if err != nil { + return err + } + + k0sctlExternalCluster.ClientCertFile = filename + } + + if externalCluster.ClientKey != nil { + filename, err := contentToTempFile(prefix, *externalCluster.ClientKey, true) + if err != nil { + return err + } + + k0sctlExternalCluster.ClientKeyFile = filename + } + + return nil +} + +// DefaultCluster returns a default cluster configuration. +// see https://github.com/k0sproject/k0sctl/blob/main/cmd/init.go +func clusterDefaults(name string) (*k0sctlCluster, error) { + k0sVersion, err := version.LatestStable() + if err != nil { + return nil, err + } + + clt := v1beta1.Cluster{ + APIVersion: v1beta1.APIVersion, + Kind: "Cluster", + Metadata: &v1beta1.ClusterMetadata{Name: name}, + Spec: &cluster.Spec{ + Hosts: []*cluster.Host{}, + K0s: &cluster.K0s{ + Version: k0sVersion, + Config: dig.Mapping{}, + }, + }, + } + + if err := yaml.Unmarshal(cmd.DefaultK0sYaml, &clt.Spec.K0s.Config); err != nil { + return nil, err + } + + yamlData, err := yaml.Marshal(&clt) + if err != nil { + return nil, err + } + + var cluster k0sctlCluster + + if err := yamlJSON.Unmarshal(yamlData, &cluster); err != nil { + return nil, err + } + + return &cluster, nil +} diff --git a/provider/metadata.go b/provider/metadata.go deleted file mode 100644 index 87170f8..0000000 --- a/provider/metadata.go +++ /dev/null @@ -1,14 +0,0 @@ -package provider - -type Metadata struct { - LanguageMap map[string]any - Description string - DisplayName string - Keywords []string - Homepage string - Repository string - Publisher string - LogoURL string - License string - PluginDownloadURL string -} diff --git a/provider/provider.go b/provider/provider.go index eff3924..7fb5f77 100644 --- a/provider/provider.go +++ b/provider/provider.go @@ -24,7 +24,7 @@ func Provider() p.Provider { return infer.Provider(infer.Options{ Config: infer.Config[Config](), Resources: []infer.InferredResource{ - infer.Resource[Cluster, ClusterArgs, ClusterState](), + infer.Resource[Cluster, ClusterInputs, ClusterOutputs](), }, ModuleMap: map[tokens.ModuleName]tokens.ModuleName{ "provider": "index", diff --git a/sdk/dotnet/Inputs/ClusterCalicoImageArgs.cs b/sdk/dotnet/Inputs/ClusterCalicoImageArgs.cs deleted file mode 100644 index 448212e..0000000 --- a/sdk/dotnet/Inputs/ClusterCalicoImageArgs.cs +++ /dev/null @@ -1,32 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.K0s.Inputs -{ - - public sealed class ClusterCalicoImageArgs : global::Pulumi.ResourceArgs - { - [Input("cni")] - public Input? Cni { get; set; } - - [Input("flexvolume")] - public Input? Flexvolume { get; set; } - - [Input("kubecontrollers")] - public Input? Kubecontrollers { get; set; } - - [Input("node")] - public Input? Node { get; set; } - - public ClusterCalicoImageArgs() - { - } - public static new ClusterCalicoImageArgs Empty => new ClusterCalicoImageArgs(); - } -} diff --git a/sdk/dotnet/Inputs/ClusterK0sArgs.cs b/sdk/dotnet/Inputs/ClusterK0sArgs.cs index 30bd1da..d8e10b6 100644 --- a/sdk/dotnet/Inputs/ClusterK0sArgs.cs +++ b/sdk/dotnet/Inputs/ClusterK0sArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.K0s.Inputs public sealed class ClusterK0sArgs : global::Pulumi.ResourceArgs { [Input("config")] - public Input? Config { get; set; } + public Input? Config { get; set; } [Input("dynamicConfig")] public Input? DynamicConfig { get; set; } diff --git a/sdk/dotnet/Inputs/ClusterK0sConfigArgs.cs b/sdk/dotnet/Inputs/ClusterK0sConfigArgs.cs deleted file mode 100644 index 95f59d2..0000000 --- a/sdk/dotnet/Inputs/ClusterK0sConfigArgs.cs +++ /dev/null @@ -1,26 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.K0s.Inputs -{ - - public sealed class ClusterK0sConfigArgs : global::Pulumi.ResourceArgs - { - [Input("metadata")] - public Input? Metadata { get; set; } - - [Input("spec")] - public Input? Spec { get; set; } - - public ClusterK0sConfigArgs() - { - } - public static new ClusterK0sConfigArgs Empty => new ClusterK0sConfigArgs(); - } -} diff --git a/sdk/dotnet/Inputs/ClusterK0sSpecArgs.cs b/sdk/dotnet/Inputs/ClusterK0sSpecArgs.cs deleted file mode 100644 index ccc5bf0..0000000 --- a/sdk/dotnet/Inputs/ClusterK0sSpecArgs.cs +++ /dev/null @@ -1,66 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.K0s.Inputs -{ - - public sealed class ClusterK0sSpecArgs : global::Pulumi.ResourceArgs - { - [Input("api")] - public Input? Api { get; set; } - - [Input("controllerManager")] - public Input? ControllerManager { get; set; } - - [Input("featureGates")] - private InputList? _featureGates; - public InputList FeatureGates - { - get => _featureGates ?? (_featureGates = new InputList()); - set => _featureGates = value; - } - - [Input("images")] - public Input? Images { get; set; } - - [Input("installConfig")] - public Input? InstallConfig { get; set; } - - [Input("konnectivity")] - public Input? Konnectivity { get; set; } - - [Input("network")] - public Input? Network { get; set; } - - [Input("podSecurityPolicy")] - public Input? PodSecurityPolicy { get; set; } - - [Input("scheduler")] - public Input? Scheduler { get; set; } - - [Input("storage")] - public Input? Storage { get; set; } - - [Input("telemetry")] - public Input? Telemetry { get; set; } - - [Input("workerProfiles")] - private InputList? _workerProfiles; - public InputList WorkerProfiles - { - get => _workerProfiles ?? (_workerProfiles = new InputList()); - set => _workerProfiles = value; - } - - public ClusterK0sSpecArgs() - { - } - public static new ClusterK0sSpecArgs Empty => new ClusterK0sSpecArgs(); - } -} diff --git a/sdk/dotnet/Inputs/ClusterAPIArgs.cs b/sdk/dotnet/Inputs/K0sAPIArgs.cs similarity index 86% rename from sdk/dotnet/Inputs/ClusterAPIArgs.cs rename to sdk/dotnet/Inputs/K0sAPIArgs.cs index 5c981b8..91e72e6 100644 --- a/sdk/dotnet/Inputs/ClusterAPIArgs.cs +++ b/sdk/dotnet/Inputs/K0sAPIArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterAPIArgs : global::Pulumi.ResourceArgs + public sealed class K0sAPIArgs : global::Pulumi.ResourceArgs { [Input("address")] public Input? Address { get; set; } @@ -40,9 +40,9 @@ public InputList Sans set => _sans = value; } - public ClusterAPIArgs() + public K0sAPIArgs() { } - public static new ClusterAPIArgs Empty => new ClusterAPIArgs(); + public static new K0sAPIArgs Empty => new K0sAPIArgs(); } } diff --git a/sdk/dotnet/Inputs/K0sArgs.cs b/sdk/dotnet/Inputs/K0sArgs.cs new file mode 100644 index 0000000..f789921 --- /dev/null +++ b/sdk/dotnet/Inputs/K0sArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.K0s.Inputs +{ + + public sealed class K0sArgs : global::Pulumi.ResourceArgs + { + [Input("apiVersion")] + public Input? ApiVersion { get; set; } + + [Input("kind")] + public Input? Kind { get; set; } + + [Input("metadata")] + public Input? Metadata { get; set; } + + [Input("spec")] + public Input? Spec { get; set; } + + public K0sArgs() + { + } + public static new K0sArgs Empty => new K0sArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ClusterCalicoArgs.cs b/sdk/dotnet/Inputs/K0sCalicoArgs.cs similarity index 87% rename from sdk/dotnet/Inputs/ClusterCalicoArgs.cs rename to sdk/dotnet/Inputs/K0sCalicoArgs.cs index 2616a00..94b5946 100644 --- a/sdk/dotnet/Inputs/ClusterCalicoArgs.cs +++ b/sdk/dotnet/Inputs/K0sCalicoArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterCalicoArgs : global::Pulumi.ResourceArgs + public sealed class K0sCalicoArgs : global::Pulumi.ResourceArgs { [Input("envVars")] private InputMap? _envVars; @@ -44,9 +44,9 @@ public InputMap EnvVars [Input("wireguard")] public Input? Wireguard { get; set; } - public ClusterCalicoArgs() + public K0sCalicoArgs() { } - public static new ClusterCalicoArgs Empty => new ClusterCalicoArgs(); + public static new K0sCalicoArgs Empty => new K0sCalicoArgs(); } } diff --git a/sdk/dotnet/Inputs/K0sCalicoImageArgs.cs b/sdk/dotnet/Inputs/K0sCalicoImageArgs.cs new file mode 100644 index 0000000..12ed6f0 --- /dev/null +++ b/sdk/dotnet/Inputs/K0sCalicoImageArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.K0s.Inputs +{ + + public sealed class K0sCalicoImageArgs : global::Pulumi.ResourceArgs + { + [Input("cni")] + public Input? Cni { get; set; } + + [Input("flexvolume")] + public Input? Flexvolume { get; set; } + + [Input("kubecontrollers")] + public Input? Kubecontrollers { get; set; } + + [Input("node")] + public Input? Node { get; set; } + + public K0sCalicoImageArgs() + { + } + public static new K0sCalicoImageArgs Empty => new K0sCalicoImageArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ClusterControllerManagerArgs.cs b/sdk/dotnet/Inputs/K0sControllerManagerArgs.cs similarity index 72% rename from sdk/dotnet/Inputs/ClusterControllerManagerArgs.cs rename to sdk/dotnet/Inputs/K0sControllerManagerArgs.cs index ebd3047..2ec92b1 100644 --- a/sdk/dotnet/Inputs/ClusterControllerManagerArgs.cs +++ b/sdk/dotnet/Inputs/K0sControllerManagerArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterControllerManagerArgs : global::Pulumi.ResourceArgs + public sealed class K0sControllerManagerArgs : global::Pulumi.ResourceArgs { [Input("extraArgs")] private InputMap? _extraArgs; @@ -20,9 +20,9 @@ public InputMap ExtraArgs set => _extraArgs = value; } - public ClusterControllerManagerArgs() + public K0sControllerManagerArgs() { } - public static new ClusterControllerManagerArgs Empty => new ClusterControllerManagerArgs(); + public static new K0sControllerManagerArgs Empty => new K0sControllerManagerArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterDualStackArgs.cs b/sdk/dotnet/Inputs/K0sDualStackArgs.cs similarity index 75% rename from sdk/dotnet/Inputs/ClusterDualStackArgs.cs rename to sdk/dotnet/Inputs/K0sDualStackArgs.cs index 2ebe438..71807ec 100644 --- a/sdk/dotnet/Inputs/ClusterDualStackArgs.cs +++ b/sdk/dotnet/Inputs/K0sDualStackArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterDualStackArgs : global::Pulumi.ResourceArgs + public sealed class K0sDualStackArgs : global::Pulumi.ResourceArgs { [Input("IPv6podCIDR")] public Input? IPv6podCIDR { get; set; } @@ -21,9 +21,9 @@ public sealed class ClusterDualStackArgs : global::Pulumi.ResourceArgs [Input("enabled")] public Input? Enabled { get; set; } - public ClusterDualStackArgs() + public K0sDualStackArgs() { } - public static new ClusterDualStackArgs Empty => new ClusterDualStackArgs(); + public static new K0sDualStackArgs Empty => new K0sDualStackArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterEnvoyProxyArgs.cs b/sdk/dotnet/Inputs/K0sEnvoyProxyArgs.cs similarity index 78% rename from sdk/dotnet/Inputs/ClusterEnvoyProxyArgs.cs rename to sdk/dotnet/Inputs/K0sEnvoyProxyArgs.cs index b403d5d..dd89201 100644 --- a/sdk/dotnet/Inputs/ClusterEnvoyProxyArgs.cs +++ b/sdk/dotnet/Inputs/K0sEnvoyProxyArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterEnvoyProxyArgs : global::Pulumi.ResourceArgs + public sealed class K0sEnvoyProxyArgs : global::Pulumi.ResourceArgs { [Input("apiServerBindPort")] public Input? ApiServerBindPort { get; set; } @@ -24,9 +24,9 @@ public sealed class ClusterEnvoyProxyArgs : global::Pulumi.ResourceArgs [Input("konnectivityServerBindPort")] public Input? KonnectivityServerBindPort { get; set; } - public ClusterEnvoyProxyArgs() + public K0sEnvoyProxyArgs() { } - public static new ClusterEnvoyProxyArgs Empty => new ClusterEnvoyProxyArgs(); + public static new K0sEnvoyProxyArgs Empty => new K0sEnvoyProxyArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterEtcdArgs.cs b/sdk/dotnet/Inputs/K0sEtcdArgs.cs similarity index 72% rename from sdk/dotnet/Inputs/ClusterEtcdArgs.cs rename to sdk/dotnet/Inputs/K0sEtcdArgs.cs index f365f59..3c598a5 100644 --- a/sdk/dotnet/Inputs/ClusterEtcdArgs.cs +++ b/sdk/dotnet/Inputs/K0sEtcdArgs.cs @@ -10,10 +10,10 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterEtcdArgs : global::Pulumi.ResourceArgs + public sealed class K0sEtcdArgs : global::Pulumi.ResourceArgs { [Input("externalCluster")] - public Input? ExternalCluster { get; set; } + public Input? ExternalCluster { get; set; } [Input("extraArgs")] private InputMap? _extraArgs; @@ -26,9 +26,9 @@ public InputMap ExtraArgs [Input("peerAddress")] public Input? PeerAddress { get; set; } - public ClusterEtcdArgs() + public K0sEtcdArgs() { } - public static new ClusterEtcdArgs Empty => new ClusterEtcdArgs(); + public static new K0sEtcdArgs Empty => new K0sEtcdArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterEtcdExternalClusterArgs.cs b/sdk/dotnet/Inputs/K0sEtcdExternalClusterArgs.cs similarity index 88% rename from sdk/dotnet/Inputs/ClusterEtcdExternalClusterArgs.cs rename to sdk/dotnet/Inputs/K0sEtcdExternalClusterArgs.cs index 197a037..5bc6a83 100644 --- a/sdk/dotnet/Inputs/ClusterEtcdExternalClusterArgs.cs +++ b/sdk/dotnet/Inputs/K0sEtcdExternalClusterArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterEtcdExternalClusterArgs : global::Pulumi.ResourceArgs + public sealed class K0sEtcdExternalClusterArgs : global::Pulumi.ResourceArgs { [Input("ca")] private Input? _ca; @@ -59,9 +59,9 @@ public InputList Endpoints [Input("etcdPrefix")] public Input? EtcdPrefix { get; set; } - public ClusterEtcdExternalClusterArgs() + public K0sEtcdExternalClusterArgs() { } - public static new ClusterEtcdExternalClusterArgs Empty => new ClusterEtcdExternalClusterArgs(); + public static new K0sEtcdExternalClusterArgs Empty => new K0sEtcdExternalClusterArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterFeatureGateArgs.cs b/sdk/dotnet/Inputs/K0sFeatureGateArgs.cs similarity index 79% rename from sdk/dotnet/Inputs/ClusterFeatureGateArgs.cs rename to sdk/dotnet/Inputs/K0sFeatureGateArgs.cs index 492cde5..cca0c4d 100644 --- a/sdk/dotnet/Inputs/ClusterFeatureGateArgs.cs +++ b/sdk/dotnet/Inputs/K0sFeatureGateArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterFeatureGateArgs : global::Pulumi.ResourceArgs + public sealed class K0sFeatureGateArgs : global::Pulumi.ResourceArgs { [Input("components")] private InputList? _components; @@ -26,9 +26,9 @@ public InputList Components [Input("name", required: true)] public Input Name { get; set; } = null!; - public ClusterFeatureGateArgs() + public K0sFeatureGateArgs() { } - public static new ClusterFeatureGateArgs Empty => new ClusterFeatureGateArgs(); + public static new K0sFeatureGateArgs Empty => new K0sFeatureGateArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterImageArgs.cs b/sdk/dotnet/Inputs/K0sImageArgs.cs similarity index 73% rename from sdk/dotnet/Inputs/ClusterImageArgs.cs rename to sdk/dotnet/Inputs/K0sImageArgs.cs index 29efd21..e4c27f5 100644 --- a/sdk/dotnet/Inputs/ClusterImageArgs.cs +++ b/sdk/dotnet/Inputs/K0sImageArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterImageArgs : global::Pulumi.ResourceArgs + public sealed class K0sImageArgs : global::Pulumi.ResourceArgs { [Input("image")] public Input? Image { get; set; } @@ -18,9 +18,9 @@ public sealed class ClusterImageArgs : global::Pulumi.ResourceArgs [Input("version")] public Input? Version { get; set; } - public ClusterImageArgs() + public K0sImageArgs() { } - public static new ClusterImageArgs Empty => new ClusterImageArgs(); + public static new K0sImageArgs Empty => new K0sImageArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterImagesArgs.cs b/sdk/dotnet/Inputs/K0sImagesArgs.cs similarity index 52% rename from sdk/dotnet/Inputs/ClusterImagesArgs.cs rename to sdk/dotnet/Inputs/K0sImagesArgs.cs index 26f730f..979a843 100644 --- a/sdk/dotnet/Inputs/ClusterImagesArgs.cs +++ b/sdk/dotnet/Inputs/K0sImagesArgs.cs @@ -10,38 +10,38 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterImagesArgs : global::Pulumi.ResourceArgs + public sealed class K0sImagesArgs : global::Pulumi.ResourceArgs { [Input("calico")] - public Input? Calico { get; set; } + public Input? Calico { get; set; } [Input("coredns")] - public Input? Coredns { get; set; } + public Input? Coredns { get; set; } [Input("default_pull_policy")] public Input? Default_pull_policy { get; set; } [Input("konnectivity")] - public Input? Konnectivity { get; set; } + public Input? Konnectivity { get; set; } [Input("kubeproxy")] - public Input? Kubeproxy { get; set; } + public Input? Kubeproxy { get; set; } [Input("kuberouter")] - public Input? Kuberouter { get; set; } + public Input? Kuberouter { get; set; } [Input("metricsserver")] - public Input? Metricsserver { get; set; } + public Input? Metricsserver { get; set; } [Input("pause")] - public Input? Pause { get; set; } + public Input? Pause { get; set; } [Input("repository")] public Input? Repository { get; set; } - public ClusterImagesArgs() + public K0sImagesArgs() { } - public static new ClusterImagesArgs Empty => new ClusterImagesArgs(); + public static new K0sImagesArgs Empty => new K0sImagesArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterInstallConfigArgs.cs b/sdk/dotnet/Inputs/K0sInstallConfigArgs.cs similarity index 56% rename from sdk/dotnet/Inputs/ClusterInstallConfigArgs.cs rename to sdk/dotnet/Inputs/K0sInstallConfigArgs.cs index d1102d8..00509e5 100644 --- a/sdk/dotnet/Inputs/ClusterInstallConfigArgs.cs +++ b/sdk/dotnet/Inputs/K0sInstallConfigArgs.cs @@ -10,14 +10,14 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterInstallConfigArgs : global::Pulumi.ResourceArgs + public sealed class K0sInstallConfigArgs : global::Pulumi.ResourceArgs { [Input("users")] - public Input? Users { get; set; } + public Input? Users { get; set; } - public ClusterInstallConfigArgs() + public K0sInstallConfigArgs() { } - public static new ClusterInstallConfigArgs Empty => new ClusterInstallConfigArgs(); + public static new K0sInstallConfigArgs Empty => new K0sInstallConfigArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterInstallConfigUserArgs.cs b/sdk/dotnet/Inputs/K0sInstallConfigUserArgs.cs similarity index 77% rename from sdk/dotnet/Inputs/ClusterInstallConfigUserArgs.cs rename to sdk/dotnet/Inputs/K0sInstallConfigUserArgs.cs index a8a73ff..8e8eee3 100644 --- a/sdk/dotnet/Inputs/ClusterInstallConfigUserArgs.cs +++ b/sdk/dotnet/Inputs/K0sInstallConfigUserArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterInstallConfigUserArgs : global::Pulumi.ResourceArgs + public sealed class K0sInstallConfigUserArgs : global::Pulumi.ResourceArgs { [Input("etcdUser")] public Input? EtcdUser { get; set; } @@ -27,9 +27,9 @@ public sealed class ClusterInstallConfigUserArgs : global::Pulumi.ResourceArgs [Input("kubeSchedulerUser")] public Input? KubeSchedulerUser { get; set; } - public ClusterInstallConfigUserArgs() + public K0sInstallConfigUserArgs() { } - public static new ClusterInstallConfigUserArgs Empty => new ClusterInstallConfigUserArgs(); + public static new K0sInstallConfigUserArgs Empty => new K0sInstallConfigUserArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterKineArgs.cs b/sdk/dotnet/Inputs/K0sKineArgs.cs similarity index 80% rename from sdk/dotnet/Inputs/ClusterKineArgs.cs rename to sdk/dotnet/Inputs/K0sKineArgs.cs index bf7521d..cb58ccc 100644 --- a/sdk/dotnet/Inputs/ClusterKineArgs.cs +++ b/sdk/dotnet/Inputs/K0sKineArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterKineArgs : global::Pulumi.ResourceArgs + public sealed class K0sKineArgs : global::Pulumi.ResourceArgs { [Input("dataSource", required: true)] private Input? _dataSource; @@ -24,9 +24,9 @@ public Input? DataSource } } - public ClusterKineArgs() + public K0sKineArgs() { } - public static new ClusterKineArgs Empty => new ClusterKineArgs(); + public static new K0sKineArgs Empty => new K0sKineArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterKonnectivityArgs.cs b/sdk/dotnet/Inputs/K0sKonnectivityArgs.cs similarity index 70% rename from sdk/dotnet/Inputs/ClusterKonnectivityArgs.cs rename to sdk/dotnet/Inputs/K0sKonnectivityArgs.cs index 170b3b8..297c828 100644 --- a/sdk/dotnet/Inputs/ClusterKonnectivityArgs.cs +++ b/sdk/dotnet/Inputs/K0sKonnectivityArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterKonnectivityArgs : global::Pulumi.ResourceArgs + public sealed class K0sKonnectivityArgs : global::Pulumi.ResourceArgs { [Input("adminPort")] public Input? AdminPort { get; set; } @@ -18,9 +18,9 @@ public sealed class ClusterKonnectivityArgs : global::Pulumi.ResourceArgs [Input("agentPort")] public Input? AgentPort { get; set; } - public ClusterKonnectivityArgs() + public K0sKonnectivityArgs() { } - public static new ClusterKonnectivityArgs Empty => new ClusterKonnectivityArgs(); + public static new K0sKonnectivityArgs Empty => new K0sKonnectivityArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterKubeProxyArgs.cs b/sdk/dotnet/Inputs/K0sKubeProxyArgs.cs similarity index 64% rename from sdk/dotnet/Inputs/ClusterKubeProxyArgs.cs rename to sdk/dotnet/Inputs/K0sKubeProxyArgs.cs index c75e228..45c000e 100644 --- a/sdk/dotnet/Inputs/ClusterKubeProxyArgs.cs +++ b/sdk/dotnet/Inputs/K0sKubeProxyArgs.cs @@ -10,16 +10,16 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterKubeProxyArgs : global::Pulumi.ResourceArgs + public sealed class K0sKubeProxyArgs : global::Pulumi.ResourceArgs { [Input("disabled")] public Input? Disabled { get; set; } [Input("iptables")] - public Input? Iptables { get; set; } + public Input? Iptables { get; set; } [Input("ipvs")] - public Input? Ipvs { get; set; } + public Input? Ipvs { get; set; } [Input("mode")] public Input? Mode { get; set; } @@ -27,9 +27,9 @@ public sealed class ClusterKubeProxyArgs : global::Pulumi.ResourceArgs [Input("nodePortAddresses")] public Input? NodePortAddresses { get; set; } - public ClusterKubeProxyArgs() + public K0sKubeProxyArgs() { } - public static new ClusterKubeProxyArgs Empty => new ClusterKubeProxyArgs(); + public static new K0sKubeProxyArgs Empty => new K0sKubeProxyArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterKubeProxyIPTablesArgs.cs b/sdk/dotnet/Inputs/K0sKubeProxyIPTablesArgs.cs similarity index 75% rename from sdk/dotnet/Inputs/ClusterKubeProxyIPTablesArgs.cs rename to sdk/dotnet/Inputs/K0sKubeProxyIPTablesArgs.cs index 27ecb67..7c3b04f 100644 --- a/sdk/dotnet/Inputs/ClusterKubeProxyIPTablesArgs.cs +++ b/sdk/dotnet/Inputs/K0sKubeProxyIPTablesArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterKubeProxyIPTablesArgs : global::Pulumi.ResourceArgs + public sealed class K0sKubeProxyIPTablesArgs : global::Pulumi.ResourceArgs { [Input("masqueradeAll")] public Input? MasqueradeAll { get; set; } @@ -24,9 +24,9 @@ public sealed class ClusterKubeProxyIPTablesArgs : global::Pulumi.ResourceArgs [Input("syncPeriod")] public Input? SyncPeriod { get; set; } - public ClusterKubeProxyIPTablesArgs() + public K0sKubeProxyIPTablesArgs() { } - public static new ClusterKubeProxyIPTablesArgs Empty => new ClusterKubeProxyIPTablesArgs(); + public static new K0sKubeProxyIPTablesArgs Empty => new K0sKubeProxyIPTablesArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterKubeProxyIPVSArgs.cs b/sdk/dotnet/Inputs/K0sKubeProxyIPVSArgs.cs similarity index 83% rename from sdk/dotnet/Inputs/ClusterKubeProxyIPVSArgs.cs rename to sdk/dotnet/Inputs/K0sKubeProxyIPVSArgs.cs index ab35f7d..e9568b7 100644 --- a/sdk/dotnet/Inputs/ClusterKubeProxyIPVSArgs.cs +++ b/sdk/dotnet/Inputs/K0sKubeProxyIPVSArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterKubeProxyIPVSArgs : global::Pulumi.ResourceArgs + public sealed class K0sKubeProxyIPVSArgs : global::Pulumi.ResourceArgs { [Input("excludeCIDRs")] public Input? ExcludeCIDRs { get; set; } @@ -36,9 +36,9 @@ public sealed class ClusterKubeProxyIPVSArgs : global::Pulumi.ResourceArgs [Input("udpTimeout")] public Input? UdpTimeout { get; set; } - public ClusterKubeProxyIPVSArgs() + public K0sKubeProxyIPVSArgs() { } - public static new ClusterKubeProxyIPVSArgs Empty => new ClusterKubeProxyIPVSArgs(); + public static new K0sKubeProxyIPVSArgs Empty => new K0sKubeProxyIPVSArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterKubeRouterArgs.cs b/sdk/dotnet/Inputs/K0sKubeRouterArgs.cs similarity index 83% rename from sdk/dotnet/Inputs/ClusterKubeRouterArgs.cs rename to sdk/dotnet/Inputs/K0sKubeRouterArgs.cs index 8e97fd6..f5598ff 100644 --- a/sdk/dotnet/Inputs/ClusterKubeRouterArgs.cs +++ b/sdk/dotnet/Inputs/K0sKubeRouterArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterKubeRouterArgs : global::Pulumi.ResourceArgs + public sealed class K0sKubeRouterArgs : global::Pulumi.ResourceArgs { [Input("autoMTU")] public Input? AutoMTU { get; set; } @@ -35,9 +35,9 @@ public InputMap ExtraArgs [Input("mtu")] public Input? Mtu { get; set; } - public ClusterKubeRouterArgs() + public K0sKubeRouterArgs() { } - public static new ClusterKubeRouterArgs Empty => new ClusterKubeRouterArgs(); + public static new K0sKubeRouterArgs Empty => new K0sKubeRouterArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterKubeRouterImageArgs.cs b/sdk/dotnet/Inputs/K0sKubeRouterImageArgs.cs similarity index 52% rename from sdk/dotnet/Inputs/ClusterKubeRouterImageArgs.cs rename to sdk/dotnet/Inputs/K0sKubeRouterImageArgs.cs index 3a76357..d07cf1c 100644 --- a/sdk/dotnet/Inputs/ClusterKubeRouterImageArgs.cs +++ b/sdk/dotnet/Inputs/K0sKubeRouterImageArgs.cs @@ -10,17 +10,17 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterKubeRouterImageArgs : global::Pulumi.ResourceArgs + public sealed class K0sKubeRouterImageArgs : global::Pulumi.ResourceArgs { [Input("cni")] - public Input? Cni { get; set; } + public Input? Cni { get; set; } [Input("cniInstaller")] - public Input? CniInstaller { get; set; } + public Input? CniInstaller { get; set; } - public ClusterKubeRouterImageArgs() + public K0sKubeRouterImageArgs() { } - public static new ClusterKubeRouterImageArgs Empty => new ClusterKubeRouterImageArgs(); + public static new K0sKubeRouterImageArgs Empty => new K0sKubeRouterImageArgs(); } } diff --git a/sdk/dotnet/Inputs/K0sMetadataArgs.cs b/sdk/dotnet/Inputs/K0sMetadataArgs.cs new file mode 100644 index 0000000..0db046e --- /dev/null +++ b/sdk/dotnet/Inputs/K0sMetadataArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.K0s.Inputs +{ + + public sealed class K0sMetadataArgs : global::Pulumi.ResourceArgs + { + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public K0sMetadataArgs() + { + } + public static new K0sMetadataArgs Empty => new K0sMetadataArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ClusterNetworkArgs.cs b/sdk/dotnet/Inputs/K0sNetworkArgs.cs similarity index 59% rename from sdk/dotnet/Inputs/ClusterNetworkArgs.cs rename to sdk/dotnet/Inputs/K0sNetworkArgs.cs index efb0a9f..6931d2a 100644 --- a/sdk/dotnet/Inputs/ClusterNetworkArgs.cs +++ b/sdk/dotnet/Inputs/K0sNetworkArgs.cs @@ -10,25 +10,25 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterNetworkArgs : global::Pulumi.ResourceArgs + public sealed class K0sNetworkArgs : global::Pulumi.ResourceArgs { [Input("calico")] - public Input? Calico { get; set; } + public Input? Calico { get; set; } [Input("clusterDomain")] public Input? ClusterDomain { get; set; } [Input("dualStack")] - public Input? DualStack { get; set; } + public Input? DualStack { get; set; } [Input("kubeProxy")] - public Input? KubeProxy { get; set; } + public Input? KubeProxy { get; set; } [Input("kuberouter")] - public Input? Kuberouter { get; set; } + public Input? Kuberouter { get; set; } [Input("nodeLocalLoadBalancing")] - public Input? NodeLocalLoadBalancing { get; set; } + public Input? NodeLocalLoadBalancing { get; set; } [Input("podCIDR")] public Input? PodCIDR { get; set; } @@ -39,9 +39,9 @@ public sealed class ClusterNetworkArgs : global::Pulumi.ResourceArgs [Input("serviceCIDR")] public Input? ServiceCIDR { get; set; } - public ClusterNetworkArgs() + public K0sNetworkArgs() { } - public static new ClusterNetworkArgs Empty => new ClusterNetworkArgs(); + public static new K0sNetworkArgs Empty => new K0sNetworkArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterNodeLocalLoadBalancingArgs.cs b/sdk/dotnet/Inputs/K0sNodeLocalLoadBalancingArgs.cs similarity index 61% rename from sdk/dotnet/Inputs/ClusterNodeLocalLoadBalancingArgs.cs rename to sdk/dotnet/Inputs/K0sNodeLocalLoadBalancingArgs.cs index c906f50..09deee1 100644 --- a/sdk/dotnet/Inputs/ClusterNodeLocalLoadBalancingArgs.cs +++ b/sdk/dotnet/Inputs/K0sNodeLocalLoadBalancingArgs.cs @@ -10,20 +10,20 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterNodeLocalLoadBalancingArgs : global::Pulumi.ResourceArgs + public sealed class K0sNodeLocalLoadBalancingArgs : global::Pulumi.ResourceArgs { [Input("enabled")] public Input? Enabled { get; set; } [Input("envoyProxy")] - public Input? EnvoyProxy { get; set; } + public Input? EnvoyProxy { get; set; } [Input("type")] public Input? Type { get; set; } - public ClusterNodeLocalLoadBalancingArgs() + public K0sNodeLocalLoadBalancingArgs() { } - public static new ClusterNodeLocalLoadBalancingArgs Empty => new ClusterNodeLocalLoadBalancingArgs(); + public static new K0sNodeLocalLoadBalancingArgs Empty => new K0sNodeLocalLoadBalancingArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterPodSecurityPolicyArgs.cs b/sdk/dotnet/Inputs/K0sPodSecurityPolicyArgs.cs similarity index 65% rename from sdk/dotnet/Inputs/ClusterPodSecurityPolicyArgs.cs rename to sdk/dotnet/Inputs/K0sPodSecurityPolicyArgs.cs index 3aa5709..d2daa90 100644 --- a/sdk/dotnet/Inputs/ClusterPodSecurityPolicyArgs.cs +++ b/sdk/dotnet/Inputs/K0sPodSecurityPolicyArgs.cs @@ -10,14 +10,14 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterPodSecurityPolicyArgs : global::Pulumi.ResourceArgs + public sealed class K0sPodSecurityPolicyArgs : global::Pulumi.ResourceArgs { [Input("defaultPolicy")] public Input? DefaultPolicy { get; set; } - public ClusterPodSecurityPolicyArgs() + public K0sPodSecurityPolicyArgs() { } - public static new ClusterPodSecurityPolicyArgs Empty => new ClusterPodSecurityPolicyArgs(); + public static new K0sPodSecurityPolicyArgs Empty => new K0sPodSecurityPolicyArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterSchedulerArgs.cs b/sdk/dotnet/Inputs/K0sSchedulerArgs.cs similarity index 75% rename from sdk/dotnet/Inputs/ClusterSchedulerArgs.cs rename to sdk/dotnet/Inputs/K0sSchedulerArgs.cs index cf206ab..d7d710e 100644 --- a/sdk/dotnet/Inputs/ClusterSchedulerArgs.cs +++ b/sdk/dotnet/Inputs/K0sSchedulerArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterSchedulerArgs : global::Pulumi.ResourceArgs + public sealed class K0sSchedulerArgs : global::Pulumi.ResourceArgs { [Input("extraArgs")] private InputMap? _extraArgs; @@ -20,9 +20,9 @@ public InputMap ExtraArgs set => _extraArgs = value; } - public ClusterSchedulerArgs() + public K0sSchedulerArgs() { } - public static new ClusterSchedulerArgs Empty => new ClusterSchedulerArgs(); + public static new K0sSchedulerArgs Empty => new K0sSchedulerArgs(); } } diff --git a/sdk/dotnet/Inputs/K0sSpecArgs.cs b/sdk/dotnet/Inputs/K0sSpecArgs.cs new file mode 100644 index 0000000..35cc2a1 --- /dev/null +++ b/sdk/dotnet/Inputs/K0sSpecArgs.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.K0s.Inputs +{ + + public sealed class K0sSpecArgs : global::Pulumi.ResourceArgs + { + [Input("api")] + public Input? Api { get; set; } + + [Input("controllerManager")] + public Input? ControllerManager { get; set; } + + [Input("featureGates")] + private InputList? _featureGates; + public InputList FeatureGates + { + get => _featureGates ?? (_featureGates = new InputList()); + set => _featureGates = value; + } + + [Input("images")] + public Input? Images { get; set; } + + [Input("installConfig")] + public Input? InstallConfig { get; set; } + + [Input("konnectivity")] + public Input? Konnectivity { get; set; } + + [Input("network")] + public Input? Network { get; set; } + + [Input("podSecurityPolicy")] + public Input? PodSecurityPolicy { get; set; } + + [Input("scheduler")] + public Input? Scheduler { get; set; } + + [Input("storage")] + public Input? Storage { get; set; } + + [Input("telemetry")] + public Input? Telemetry { get; set; } + + [Input("workerProfiles")] + private InputList? _workerProfiles; + public InputList WorkerProfiles + { + get => _workerProfiles ?? (_workerProfiles = new InputList()); + set => _workerProfiles = value; + } + + public K0sSpecArgs() + { + } + public static new K0sSpecArgs Empty => new K0sSpecArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ClusterStorageArgs.cs b/sdk/dotnet/Inputs/K0sStorageArgs.cs similarity index 59% rename from sdk/dotnet/Inputs/ClusterStorageArgs.cs rename to sdk/dotnet/Inputs/K0sStorageArgs.cs index 76033cc..a322105 100644 --- a/sdk/dotnet/Inputs/ClusterStorageArgs.cs +++ b/sdk/dotnet/Inputs/K0sStorageArgs.cs @@ -10,20 +10,20 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterStorageArgs : global::Pulumi.ResourceArgs + public sealed class K0sStorageArgs : global::Pulumi.ResourceArgs { [Input("etcd")] - public Input? Etcd { get; set; } + public Input? Etcd { get; set; } [Input("kine")] - public Input? Kine { get; set; } + public Input? Kine { get; set; } [Input("type")] public Input? Type { get; set; } - public ClusterStorageArgs() + public K0sStorageArgs() { } - public static new ClusterStorageArgs Empty => new ClusterStorageArgs(); + public static new K0sStorageArgs Empty => new K0sStorageArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterTelemetryArgs.cs b/sdk/dotnet/Inputs/K0sTelemetryArgs.cs similarity index 68% rename from sdk/dotnet/Inputs/ClusterTelemetryArgs.cs rename to sdk/dotnet/Inputs/K0sTelemetryArgs.cs index 65a18b0..fe532f1 100644 --- a/sdk/dotnet/Inputs/ClusterTelemetryArgs.cs +++ b/sdk/dotnet/Inputs/K0sTelemetryArgs.cs @@ -10,14 +10,14 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterTelemetryArgs : global::Pulumi.ResourceArgs + public sealed class K0sTelemetryArgs : global::Pulumi.ResourceArgs { [Input("enabled")] public Input? Enabled { get; set; } - public ClusterTelemetryArgs() + public K0sTelemetryArgs() { } - public static new ClusterTelemetryArgs Empty => new ClusterTelemetryArgs(); + public static new K0sTelemetryArgs Empty => new K0sTelemetryArgs(); } } diff --git a/sdk/dotnet/Inputs/ClusterWorkerProfileArgs.cs b/sdk/dotnet/Inputs/K0sWorkerProfileArgs.cs similarity index 76% rename from sdk/dotnet/Inputs/ClusterWorkerProfileArgs.cs rename to sdk/dotnet/Inputs/K0sWorkerProfileArgs.cs index 3d87988..2b778cd 100644 --- a/sdk/dotnet/Inputs/ClusterWorkerProfileArgs.cs +++ b/sdk/dotnet/Inputs/K0sWorkerProfileArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.K0s.Inputs { - public sealed class ClusterWorkerProfileArgs : global::Pulumi.ResourceArgs + public sealed class K0sWorkerProfileArgs : global::Pulumi.ResourceArgs { [Input("name", required: true)] public Input Name { get; set; } = null!; @@ -23,9 +23,9 @@ public InputMap Values set => _values = value; } - public ClusterWorkerProfileArgs() + public K0sWorkerProfileArgs() { } - public static new ClusterWorkerProfileArgs Empty => new ClusterWorkerProfileArgs(); + public static new K0sWorkerProfileArgs Empty => new K0sWorkerProfileArgs(); } } diff --git a/sdk/dotnet/Outputs/ClusterK0s.cs b/sdk/dotnet/Outputs/ClusterK0s.cs index c143a54..6c30735 100644 --- a/sdk/dotnet/Outputs/ClusterK0s.cs +++ b/sdk/dotnet/Outputs/ClusterK0s.cs @@ -13,14 +13,14 @@ namespace Pulumi.K0s.Outputs [OutputType] public sealed class ClusterK0s { - public readonly Outputs.ClusterK0sConfig? Config; + public readonly Outputs.K0s? Config; public readonly bool? DynamicConfig; public readonly string? Version; public readonly string? VersionChannel; [OutputConstructor] private ClusterK0s( - Outputs.ClusterK0sConfig? config, + Outputs.K0s? config, bool? dynamicConfig, diff --git a/sdk/dotnet/Outputs/ClusterK0sSpec.cs b/sdk/dotnet/Outputs/ClusterK0sSpec.cs deleted file mode 100644 index 967592b..0000000 --- a/sdk/dotnet/Outputs/ClusterK0sSpec.cs +++ /dev/null @@ -1,69 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.K0s.Outputs -{ - - [OutputType] - public sealed class ClusterK0sSpec - { - public readonly Outputs.ClusterAPI? Api; - public readonly Outputs.ClusterControllerManager? ControllerManager; - public readonly ImmutableArray FeatureGates; - public readonly Outputs.ClusterImages? Images; - public readonly Outputs.ClusterInstallConfig? InstallConfig; - public readonly Outputs.ClusterKonnectivity? Konnectivity; - public readonly Outputs.ClusterNetwork? Network; - public readonly Outputs.ClusterPodSecurityPolicy? PodSecurityPolicy; - public readonly Outputs.ClusterScheduler? Scheduler; - public readonly Outputs.ClusterStorage? Storage; - public readonly Outputs.ClusterTelemetry? Telemetry; - public readonly ImmutableArray WorkerProfiles; - - [OutputConstructor] - private ClusterK0sSpec( - Outputs.ClusterAPI? api, - - Outputs.ClusterControllerManager? controllerManager, - - ImmutableArray featureGates, - - Outputs.ClusterImages? images, - - Outputs.ClusterInstallConfig? installConfig, - - Outputs.ClusterKonnectivity? konnectivity, - - Outputs.ClusterNetwork? network, - - Outputs.ClusterPodSecurityPolicy? podSecurityPolicy, - - Outputs.ClusterScheduler? scheduler, - - Outputs.ClusterStorage? storage, - - Outputs.ClusterTelemetry? telemetry, - - ImmutableArray workerProfiles) - { - Api = api; - ControllerManager = controllerManager; - FeatureGates = featureGates; - Images = images; - InstallConfig = installConfig; - Konnectivity = konnectivity; - Network = network; - PodSecurityPolicy = podSecurityPolicy; - Scheduler = scheduler; - Storage = storage; - Telemetry = telemetry; - WorkerProfiles = workerProfiles; - } - } -} diff --git a/sdk/dotnet/Outputs/ClusterK0sConfig.cs b/sdk/dotnet/Outputs/K0s.cs similarity index 51% rename from sdk/dotnet/Outputs/ClusterK0sConfig.cs rename to sdk/dotnet/Outputs/K0s.cs index 54223c1..4ee0a17 100644 --- a/sdk/dotnet/Outputs/ClusterK0sConfig.cs +++ b/sdk/dotnet/Outputs/K0s.cs @@ -11,17 +11,25 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterK0sConfig + public sealed class K0s { - public readonly Outputs.ClusterMetadata? Metadata; - public readonly Outputs.ClusterK0sSpec? Spec; + public readonly string? ApiVersion; + public readonly string? Kind; + public readonly Outputs.K0sMetadata? Metadata; + public readonly Outputs.K0sSpec? Spec; [OutputConstructor] - private ClusterK0sConfig( - Outputs.ClusterMetadata? metadata, + private K0s( + string? apiVersion, - Outputs.ClusterK0sSpec? spec) + string? kind, + + Outputs.K0sMetadata? metadata, + + Outputs.K0sSpec? spec) { + ApiVersion = apiVersion; + Kind = kind; Metadata = metadata; Spec = spec; } diff --git a/sdk/dotnet/Outputs/ClusterAPI.cs b/sdk/dotnet/Outputs/K0sAPI.cs similarity index 94% rename from sdk/dotnet/Outputs/ClusterAPI.cs rename to sdk/dotnet/Outputs/K0sAPI.cs index 1f00f3c..1a66e88 100644 --- a/sdk/dotnet/Outputs/ClusterAPI.cs +++ b/sdk/dotnet/Outputs/K0sAPI.cs @@ -11,7 +11,7 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterAPI + public sealed class K0sAPI { public readonly string? Address; public readonly string? ExternalAddress; @@ -21,7 +21,7 @@ public sealed class ClusterAPI public readonly ImmutableArray Sans; [OutputConstructor] - private ClusterAPI( + private K0sAPI( string? address, string? externalAddress, diff --git a/sdk/dotnet/Outputs/ClusterCalico.cs b/sdk/dotnet/Outputs/K0sCalico.cs similarity index 95% rename from sdk/dotnet/Outputs/ClusterCalico.cs rename to sdk/dotnet/Outputs/K0sCalico.cs index e761a67..eabd613 100644 --- a/sdk/dotnet/Outputs/ClusterCalico.cs +++ b/sdk/dotnet/Outputs/K0sCalico.cs @@ -11,7 +11,7 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterCalico + public sealed class K0sCalico { public readonly ImmutableDictionary? EnvVars; public readonly string? FlexVolumeDriverPath; @@ -24,7 +24,7 @@ public sealed class ClusterCalico public readonly bool? Wireguard; [OutputConstructor] - private ClusterCalico( + private K0sCalico( ImmutableDictionary? envVars, string? flexVolumeDriverPath, diff --git a/sdk/dotnet/Outputs/ClusterCalicoImage.cs b/sdk/dotnet/Outputs/K0sCalicoImage.cs similarity index 52% rename from sdk/dotnet/Outputs/ClusterCalicoImage.cs rename to sdk/dotnet/Outputs/K0sCalicoImage.cs index 643d877..af41b3c 100644 --- a/sdk/dotnet/Outputs/ClusterCalicoImage.cs +++ b/sdk/dotnet/Outputs/K0sCalicoImage.cs @@ -11,22 +11,22 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterCalicoImage + public sealed class K0sCalicoImage { - public readonly Outputs.ClusterImage? Cni; - public readonly Outputs.ClusterImage? Flexvolume; - public readonly Outputs.ClusterImage? Kubecontrollers; - public readonly Outputs.ClusterImage? Node; + public readonly Outputs.K0sImage? Cni; + public readonly Outputs.K0sImage? Flexvolume; + public readonly Outputs.K0sImage? Kubecontrollers; + public readonly Outputs.K0sImage? Node; [OutputConstructor] - private ClusterCalicoImage( - Outputs.ClusterImage? cni, + private K0sCalicoImage( + Outputs.K0sImage? cni, - Outputs.ClusterImage? flexvolume, + Outputs.K0sImage? flexvolume, - Outputs.ClusterImage? kubecontrollers, + Outputs.K0sImage? kubecontrollers, - Outputs.ClusterImage? node) + Outputs.K0sImage? node) { Cni = cni; Flexvolume = flexvolume; diff --git a/sdk/dotnet/Outputs/ClusterControllerManager.cs b/sdk/dotnet/Outputs/K0sControllerManager.cs similarity index 78% rename from sdk/dotnet/Outputs/ClusterControllerManager.cs rename to sdk/dotnet/Outputs/K0sControllerManager.cs index 65dc132..639045a 100644 --- a/sdk/dotnet/Outputs/ClusterControllerManager.cs +++ b/sdk/dotnet/Outputs/K0sControllerManager.cs @@ -11,12 +11,12 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterControllerManager + public sealed class K0sControllerManager { public readonly ImmutableDictionary? ExtraArgs; [OutputConstructor] - private ClusterControllerManager(ImmutableDictionary? extraArgs) + private K0sControllerManager(ImmutableDictionary? extraArgs) { ExtraArgs = extraArgs; } diff --git a/sdk/dotnet/Outputs/ClusterDualStack.cs b/sdk/dotnet/Outputs/K0sDualStack.cs similarity index 90% rename from sdk/dotnet/Outputs/ClusterDualStack.cs rename to sdk/dotnet/Outputs/K0sDualStack.cs index ca19c7d..5ab24f3 100644 --- a/sdk/dotnet/Outputs/ClusterDualStack.cs +++ b/sdk/dotnet/Outputs/K0sDualStack.cs @@ -11,14 +11,14 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterDualStack + public sealed class K0sDualStack { public readonly string? IPv6podCIDR; public readonly string? IPv6serviceCIDR; public readonly bool? Enabled; [OutputConstructor] - private ClusterDualStack( + private K0sDualStack( string? IPv6podCIDR, string? IPv6serviceCIDR, diff --git a/sdk/dotnet/Outputs/ClusterEnvoyProxy.cs b/sdk/dotnet/Outputs/K0sEnvoyProxy.cs similarity index 92% rename from sdk/dotnet/Outputs/ClusterEnvoyProxy.cs rename to sdk/dotnet/Outputs/K0sEnvoyProxy.cs index 52186f1..f11eba8 100644 --- a/sdk/dotnet/Outputs/ClusterEnvoyProxy.cs +++ b/sdk/dotnet/Outputs/K0sEnvoyProxy.cs @@ -11,7 +11,7 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterEnvoyProxy + public sealed class K0sEnvoyProxy { public readonly int? ApiServerBindPort; public readonly string? Image; @@ -19,7 +19,7 @@ public sealed class ClusterEnvoyProxy public readonly int? KonnectivityServerBindPort; [OutputConstructor] - private ClusterEnvoyProxy( + private K0sEnvoyProxy( int? apiServerBindPort, string? image, diff --git a/sdk/dotnet/Outputs/ClusterEtcd.cs b/sdk/dotnet/Outputs/K0sEtcd.cs similarity index 77% rename from sdk/dotnet/Outputs/ClusterEtcd.cs rename to sdk/dotnet/Outputs/K0sEtcd.cs index e03d5af..75f7a3f 100644 --- a/sdk/dotnet/Outputs/ClusterEtcd.cs +++ b/sdk/dotnet/Outputs/K0sEtcd.cs @@ -11,15 +11,15 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterEtcd + public sealed class K0sEtcd { - public readonly Outputs.ClusterEtcdExternalCluster? ExternalCluster; + public readonly Outputs.K0sEtcdExternalCluster? ExternalCluster; public readonly ImmutableDictionary? ExtraArgs; public readonly string? PeerAddress; [OutputConstructor] - private ClusterEtcd( - Outputs.ClusterEtcdExternalCluster? externalCluster, + private K0sEtcd( + Outputs.K0sEtcdExternalCluster? externalCluster, ImmutableDictionary? extraArgs, diff --git a/sdk/dotnet/Outputs/ClusterEtcdExternalCluster.cs b/sdk/dotnet/Outputs/K0sEtcdExternalCluster.cs similarity index 90% rename from sdk/dotnet/Outputs/ClusterEtcdExternalCluster.cs rename to sdk/dotnet/Outputs/K0sEtcdExternalCluster.cs index 1cd50e7..2e07900 100644 --- a/sdk/dotnet/Outputs/ClusterEtcdExternalCluster.cs +++ b/sdk/dotnet/Outputs/K0sEtcdExternalCluster.cs @@ -11,7 +11,7 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterEtcdExternalCluster + public sealed class K0sEtcdExternalCluster { public readonly string? Ca; public readonly string? ClientCert; @@ -20,7 +20,7 @@ public sealed class ClusterEtcdExternalCluster public readonly string? EtcdPrefix; [OutputConstructor] - private ClusterEtcdExternalCluster( + private K0sEtcdExternalCluster( string? ca, string? clientCert, diff --git a/sdk/dotnet/Outputs/ClusterFeatureGate.cs b/sdk/dotnet/Outputs/K0sFeatureGate.cs similarity index 90% rename from sdk/dotnet/Outputs/ClusterFeatureGate.cs rename to sdk/dotnet/Outputs/K0sFeatureGate.cs index 5883fab..25ddb65 100644 --- a/sdk/dotnet/Outputs/ClusterFeatureGate.cs +++ b/sdk/dotnet/Outputs/K0sFeatureGate.cs @@ -11,14 +11,14 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterFeatureGate + public sealed class K0sFeatureGate { public readonly ImmutableArray Components; public readonly bool? Enabled; public readonly string Name; [OutputConstructor] - private ClusterFeatureGate( + private K0sFeatureGate( ImmutableArray components, bool? enabled, diff --git a/sdk/dotnet/Outputs/ClusterImage.cs b/sdk/dotnet/Outputs/K0sImage.cs similarity index 89% rename from sdk/dotnet/Outputs/ClusterImage.cs rename to sdk/dotnet/Outputs/K0sImage.cs index 0ba663e..972ff0d 100644 --- a/sdk/dotnet/Outputs/ClusterImage.cs +++ b/sdk/dotnet/Outputs/K0sImage.cs @@ -11,13 +11,13 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterImage + public sealed class K0sImage { public readonly string? Image; public readonly string? Version; [OutputConstructor] - private ClusterImage( + private K0sImage( string? image, string? version) diff --git a/sdk/dotnet/Outputs/ClusterImages.cs b/sdk/dotnet/Outputs/K0sImages.cs similarity index 52% rename from sdk/dotnet/Outputs/ClusterImages.cs rename to sdk/dotnet/Outputs/K0sImages.cs index d26c32a..c210f3c 100644 --- a/sdk/dotnet/Outputs/ClusterImages.cs +++ b/sdk/dotnet/Outputs/K0sImages.cs @@ -11,35 +11,35 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterImages + public sealed class K0sImages { - public readonly Outputs.ClusterCalicoImage? Calico; - public readonly Outputs.ClusterImage? Coredns; + public readonly Outputs.K0sCalicoImage? Calico; + public readonly Outputs.K0sImage? Coredns; public readonly string? Default_pull_policy; - public readonly Outputs.ClusterImage? Konnectivity; - public readonly Outputs.ClusterImage? Kubeproxy; - public readonly Outputs.ClusterKubeRouterImage? Kuberouter; - public readonly Outputs.ClusterImage? Metricsserver; - public readonly Outputs.ClusterImage? Pause; + public readonly Outputs.K0sImage? Konnectivity; + public readonly Outputs.K0sImage? Kubeproxy; + public readonly Outputs.K0sKubeRouterImage? Kuberouter; + public readonly Outputs.K0sImage? Metricsserver; + public readonly Outputs.K0sImage? Pause; public readonly string? Repository; [OutputConstructor] - private ClusterImages( - Outputs.ClusterCalicoImage? calico, + private K0sImages( + Outputs.K0sCalicoImage? calico, - Outputs.ClusterImage? coredns, + Outputs.K0sImage? coredns, string? default_pull_policy, - Outputs.ClusterImage? konnectivity, + Outputs.K0sImage? konnectivity, - Outputs.ClusterImage? kubeproxy, + Outputs.K0sImage? kubeproxy, - Outputs.ClusterKubeRouterImage? kuberouter, + Outputs.K0sKubeRouterImage? kuberouter, - Outputs.ClusterImage? metricsserver, + Outputs.K0sImage? metricsserver, - Outputs.ClusterImage? pause, + Outputs.K0sImage? pause, string? repository) { diff --git a/sdk/dotnet/Outputs/ClusterInstallConfig.cs b/sdk/dotnet/Outputs/K0sInstallConfig.cs similarity index 69% rename from sdk/dotnet/Outputs/ClusterInstallConfig.cs rename to sdk/dotnet/Outputs/K0sInstallConfig.cs index b6ed731..8b30e5b 100644 --- a/sdk/dotnet/Outputs/ClusterInstallConfig.cs +++ b/sdk/dotnet/Outputs/K0sInstallConfig.cs @@ -11,12 +11,12 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterInstallConfig + public sealed class K0sInstallConfig { - public readonly Outputs.ClusterInstallConfigUser? Users; + public readonly Outputs.K0sInstallConfigUser? Users; [OutputConstructor] - private ClusterInstallConfig(Outputs.ClusterInstallConfigUser? users) + private K0sInstallConfig(Outputs.K0sInstallConfigUser? users) { Users = users; } diff --git a/sdk/dotnet/Outputs/ClusterInstallConfigUser.cs b/sdk/dotnet/Outputs/K0sInstallConfigUser.cs similarity index 91% rename from sdk/dotnet/Outputs/ClusterInstallConfigUser.cs rename to sdk/dotnet/Outputs/K0sInstallConfigUser.cs index 8100f2f..6a754be 100644 --- a/sdk/dotnet/Outputs/ClusterInstallConfigUser.cs +++ b/sdk/dotnet/Outputs/K0sInstallConfigUser.cs @@ -11,7 +11,7 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterInstallConfigUser + public sealed class K0sInstallConfigUser { public readonly string? EtcdUser; public readonly string? KineUser; @@ -20,7 +20,7 @@ public sealed class ClusterInstallConfigUser public readonly string? KubeSchedulerUser; [OutputConstructor] - private ClusterInstallConfigUser( + private K0sInstallConfigUser( string? etcdUser, string? kineUser, diff --git a/sdk/dotnet/Outputs/ClusterKine.cs b/sdk/dotnet/Outputs/K0sKine.cs similarity index 85% rename from sdk/dotnet/Outputs/ClusterKine.cs rename to sdk/dotnet/Outputs/K0sKine.cs index f8e46a5..23ffd7d 100644 --- a/sdk/dotnet/Outputs/ClusterKine.cs +++ b/sdk/dotnet/Outputs/K0sKine.cs @@ -11,12 +11,12 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterKine + public sealed class K0sKine { public readonly string DataSource; [OutputConstructor] - private ClusterKine(string dataSource) + private K0sKine(string dataSource) { DataSource = dataSource; } diff --git a/sdk/dotnet/Outputs/ClusterKonnectivity.cs b/sdk/dotnet/Outputs/K0sKonnectivity.cs similarity index 88% rename from sdk/dotnet/Outputs/ClusterKonnectivity.cs rename to sdk/dotnet/Outputs/K0sKonnectivity.cs index f4a3eda..2ddb627 100644 --- a/sdk/dotnet/Outputs/ClusterKonnectivity.cs +++ b/sdk/dotnet/Outputs/K0sKonnectivity.cs @@ -11,13 +11,13 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterKonnectivity + public sealed class K0sKonnectivity { public readonly int? AdminPort; public readonly int? AgentPort; [OutputConstructor] - private ClusterKonnectivity( + private K0sKonnectivity( int? adminPort, int? agentPort) diff --git a/sdk/dotnet/Outputs/ClusterKubeProxy.cs b/sdk/dotnet/Outputs/K0sKubeProxy.cs similarity index 71% rename from sdk/dotnet/Outputs/ClusterKubeProxy.cs rename to sdk/dotnet/Outputs/K0sKubeProxy.cs index 1f36a79..bdf9640 100644 --- a/sdk/dotnet/Outputs/ClusterKubeProxy.cs +++ b/sdk/dotnet/Outputs/K0sKubeProxy.cs @@ -11,21 +11,21 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterKubeProxy + public sealed class K0sKubeProxy { public readonly bool? Disabled; - public readonly Outputs.ClusterKubeProxyIPTables? Iptables; - public readonly Outputs.ClusterKubeProxyIPVS? Ipvs; + public readonly Outputs.K0sKubeProxyIPTables? Iptables; + public readonly Outputs.K0sKubeProxyIPVS? Ipvs; public readonly string? Mode; public readonly string? NodePortAddresses; [OutputConstructor] - private ClusterKubeProxy( + private K0sKubeProxy( bool? disabled, - Outputs.ClusterKubeProxyIPTables? iptables, + Outputs.K0sKubeProxyIPTables? iptables, - Outputs.ClusterKubeProxyIPVS? ipvs, + Outputs.K0sKubeProxyIPVS? ipvs, string? mode, diff --git a/sdk/dotnet/Outputs/ClusterKubeProxyIPTables.cs b/sdk/dotnet/Outputs/K0sKubeProxyIPTables.cs similarity index 90% rename from sdk/dotnet/Outputs/ClusterKubeProxyIPTables.cs rename to sdk/dotnet/Outputs/K0sKubeProxyIPTables.cs index 90184e2..e14b04c 100644 --- a/sdk/dotnet/Outputs/ClusterKubeProxyIPTables.cs +++ b/sdk/dotnet/Outputs/K0sKubeProxyIPTables.cs @@ -11,7 +11,7 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterKubeProxyIPTables + public sealed class K0sKubeProxyIPTables { public readonly bool? MasqueradeAll; public readonly int? MasqueradeBit; @@ -19,7 +19,7 @@ public sealed class ClusterKubeProxyIPTables public readonly string? SyncPeriod; [OutputConstructor] - private ClusterKubeProxyIPTables( + private K0sKubeProxyIPTables( bool? masqueradeAll, int? masqueradeBit, diff --git a/sdk/dotnet/Outputs/ClusterKubeProxyIPVS.cs b/sdk/dotnet/Outputs/K0sKubeProxyIPVS.cs similarity index 94% rename from sdk/dotnet/Outputs/ClusterKubeProxyIPVS.cs rename to sdk/dotnet/Outputs/K0sKubeProxyIPVS.cs index 3e440c3..1b88605 100644 --- a/sdk/dotnet/Outputs/ClusterKubeProxyIPVS.cs +++ b/sdk/dotnet/Outputs/K0sKubeProxyIPVS.cs @@ -11,7 +11,7 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterKubeProxyIPVS + public sealed class K0sKubeProxyIPVS { public readonly string? ExcludeCIDRs; public readonly string? MinSyncPeriod; @@ -23,7 +23,7 @@ public sealed class ClusterKubeProxyIPVS public readonly string? UdpTimeout; [OutputConstructor] - private ClusterKubeProxyIPVS( + private K0sKubeProxyIPVS( string? excludeCIDRs, string? minSyncPeriod, diff --git a/sdk/dotnet/Outputs/ClusterKubeRouter.cs b/sdk/dotnet/Outputs/K0sKubeRouter.cs similarity index 93% rename from sdk/dotnet/Outputs/ClusterKubeRouter.cs rename to sdk/dotnet/Outputs/K0sKubeRouter.cs index 8e5cd32..c85707b 100644 --- a/sdk/dotnet/Outputs/ClusterKubeRouter.cs +++ b/sdk/dotnet/Outputs/K0sKubeRouter.cs @@ -11,7 +11,7 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterKubeRouter + public sealed class K0sKubeRouter { public readonly bool? AutoMTU; public readonly ImmutableDictionary? ExtraArgs; @@ -21,7 +21,7 @@ public sealed class ClusterKubeRouter public readonly int? Mtu; [OutputConstructor] - private ClusterKubeRouter( + private K0sKubeRouter( bool? autoMTU, ImmutableDictionary? extraArgs, diff --git a/sdk/dotnet/Outputs/ClusterKubeRouterImage.cs b/sdk/dotnet/Outputs/K0sKubeRouterImage.cs similarity index 61% rename from sdk/dotnet/Outputs/ClusterKubeRouterImage.cs rename to sdk/dotnet/Outputs/K0sKubeRouterImage.cs index fefdf75..f33a81c 100644 --- a/sdk/dotnet/Outputs/ClusterKubeRouterImage.cs +++ b/sdk/dotnet/Outputs/K0sKubeRouterImage.cs @@ -11,16 +11,16 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterKubeRouterImage + public sealed class K0sKubeRouterImage { - public readonly Outputs.ClusterImage? Cni; - public readonly Outputs.ClusterImage? CniInstaller; + public readonly Outputs.K0sImage? Cni; + public readonly Outputs.K0sImage? CniInstaller; [OutputConstructor] - private ClusterKubeRouterImage( - Outputs.ClusterImage? cni, + private K0sKubeRouterImage( + Outputs.K0sImage? cni, - Outputs.ClusterImage? cniInstaller) + Outputs.K0sImage? cniInstaller) { Cni = cni; CniInstaller = cniInstaller; diff --git a/sdk/dotnet/Outputs/K0sMetadata.cs b/sdk/dotnet/Outputs/K0sMetadata.cs new file mode 100644 index 0000000..e87cecd --- /dev/null +++ b/sdk/dotnet/Outputs/K0sMetadata.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.K0s.Outputs +{ + + [OutputType] + public sealed class K0sMetadata + { + public readonly string Name; + + [OutputConstructor] + private K0sMetadata(string name) + { + Name = name; + } + } +} diff --git a/sdk/dotnet/Outputs/ClusterNetwork.cs b/sdk/dotnet/Outputs/K0sNetwork.cs similarity index 61% rename from sdk/dotnet/Outputs/ClusterNetwork.cs rename to sdk/dotnet/Outputs/K0sNetwork.cs index 5d66969..9e36794 100644 --- a/sdk/dotnet/Outputs/ClusterNetwork.cs +++ b/sdk/dotnet/Outputs/K0sNetwork.cs @@ -11,31 +11,31 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterNetwork + public sealed class K0sNetwork { - public readonly Outputs.ClusterCalico? Calico; + public readonly Outputs.K0sCalico? Calico; public readonly string? ClusterDomain; - public readonly Outputs.ClusterDualStack? DualStack; - public readonly Outputs.ClusterKubeProxy? KubeProxy; - public readonly Outputs.ClusterKubeRouter? Kuberouter; - public readonly Outputs.ClusterNodeLocalLoadBalancing? NodeLocalLoadBalancing; + public readonly Outputs.K0sDualStack? DualStack; + public readonly Outputs.K0sKubeProxy? KubeProxy; + public readonly Outputs.K0sKubeRouter? Kuberouter; + public readonly Outputs.K0sNodeLocalLoadBalancing? NodeLocalLoadBalancing; public readonly string? PodCIDR; public readonly string? Provider; public readonly string? ServiceCIDR; [OutputConstructor] - private ClusterNetwork( - Outputs.ClusterCalico? calico, + private K0sNetwork( + Outputs.K0sCalico? calico, string? clusterDomain, - Outputs.ClusterDualStack? dualStack, + Outputs.K0sDualStack? dualStack, - Outputs.ClusterKubeProxy? kubeProxy, + Outputs.K0sKubeProxy? kubeProxy, - Outputs.ClusterKubeRouter? kuberouter, + Outputs.K0sKubeRouter? kuberouter, - Outputs.ClusterNodeLocalLoadBalancing? nodeLocalLoadBalancing, + Outputs.K0sNodeLocalLoadBalancing? nodeLocalLoadBalancing, string? podCIDR, diff --git a/sdk/dotnet/Outputs/ClusterNodeLocalLoadBalancing.cs b/sdk/dotnet/Outputs/K0sNodeLocalLoadBalancing.cs similarity index 74% rename from sdk/dotnet/Outputs/ClusterNodeLocalLoadBalancing.cs rename to sdk/dotnet/Outputs/K0sNodeLocalLoadBalancing.cs index ba4d56d..95aebd0 100644 --- a/sdk/dotnet/Outputs/ClusterNodeLocalLoadBalancing.cs +++ b/sdk/dotnet/Outputs/K0sNodeLocalLoadBalancing.cs @@ -11,17 +11,17 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterNodeLocalLoadBalancing + public sealed class K0sNodeLocalLoadBalancing { public readonly bool? Enabled; - public readonly Outputs.ClusterEnvoyProxy? EnvoyProxy; + public readonly Outputs.K0sEnvoyProxy? EnvoyProxy; public readonly string? Type; [OutputConstructor] - private ClusterNodeLocalLoadBalancing( + private K0sNodeLocalLoadBalancing( bool? enabled, - Outputs.ClusterEnvoyProxy? envoyProxy, + Outputs.K0sEnvoyProxy? envoyProxy, string? type) { diff --git a/sdk/dotnet/Outputs/ClusterPodSecurityPolicy.cs b/sdk/dotnet/Outputs/K0sPodSecurityPolicy.cs similarity index 81% rename from sdk/dotnet/Outputs/ClusterPodSecurityPolicy.cs rename to sdk/dotnet/Outputs/K0sPodSecurityPolicy.cs index 4fa59e6..fe118b9 100644 --- a/sdk/dotnet/Outputs/ClusterPodSecurityPolicy.cs +++ b/sdk/dotnet/Outputs/K0sPodSecurityPolicy.cs @@ -11,12 +11,12 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterPodSecurityPolicy + public sealed class K0sPodSecurityPolicy { public readonly string? DefaultPolicy; [OutputConstructor] - private ClusterPodSecurityPolicy(string? defaultPolicy) + private K0sPodSecurityPolicy(string? defaultPolicy) { DefaultPolicy = defaultPolicy; } diff --git a/sdk/dotnet/Outputs/ClusterScheduler.cs b/sdk/dotnet/Outputs/K0sScheduler.cs similarity index 80% rename from sdk/dotnet/Outputs/ClusterScheduler.cs rename to sdk/dotnet/Outputs/K0sScheduler.cs index f5fcae6..150b88a 100644 --- a/sdk/dotnet/Outputs/ClusterScheduler.cs +++ b/sdk/dotnet/Outputs/K0sScheduler.cs @@ -11,12 +11,12 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterScheduler + public sealed class K0sScheduler { public readonly ImmutableDictionary? ExtraArgs; [OutputConstructor] - private ClusterScheduler(ImmutableDictionary? extraArgs) + private K0sScheduler(ImmutableDictionary? extraArgs) { ExtraArgs = extraArgs; } diff --git a/sdk/dotnet/Outputs/K0sSpec.cs b/sdk/dotnet/Outputs/K0sSpec.cs new file mode 100644 index 0000000..a4847f1 --- /dev/null +++ b/sdk/dotnet/Outputs/K0sSpec.cs @@ -0,0 +1,69 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.K0s.Outputs +{ + + [OutputType] + public sealed class K0sSpec + { + public readonly Outputs.K0sAPI? Api; + public readonly Outputs.K0sControllerManager? ControllerManager; + public readonly ImmutableArray FeatureGates; + public readonly Outputs.K0sImages? Images; + public readonly Outputs.K0sInstallConfig? InstallConfig; + public readonly Outputs.K0sKonnectivity? Konnectivity; + public readonly Outputs.K0sNetwork? Network; + public readonly Outputs.K0sPodSecurityPolicy? PodSecurityPolicy; + public readonly Outputs.K0sScheduler? Scheduler; + public readonly Outputs.K0sStorage? Storage; + public readonly Outputs.K0sTelemetry? Telemetry; + public readonly ImmutableArray WorkerProfiles; + + [OutputConstructor] + private K0sSpec( + Outputs.K0sAPI? api, + + Outputs.K0sControllerManager? controllerManager, + + ImmutableArray featureGates, + + Outputs.K0sImages? images, + + Outputs.K0sInstallConfig? installConfig, + + Outputs.K0sKonnectivity? konnectivity, + + Outputs.K0sNetwork? network, + + Outputs.K0sPodSecurityPolicy? podSecurityPolicy, + + Outputs.K0sScheduler? scheduler, + + Outputs.K0sStorage? storage, + + Outputs.K0sTelemetry? telemetry, + + ImmutableArray workerProfiles) + { + Api = api; + ControllerManager = controllerManager; + FeatureGates = featureGates; + Images = images; + InstallConfig = installConfig; + Konnectivity = konnectivity; + Network = network; + PodSecurityPolicy = podSecurityPolicy; + Scheduler = scheduler; + Storage = storage; + Telemetry = telemetry; + WorkerProfiles = workerProfiles; + } + } +} diff --git a/sdk/dotnet/Outputs/ClusterStorage.cs b/sdk/dotnet/Outputs/K0sStorage.cs similarity index 68% rename from sdk/dotnet/Outputs/ClusterStorage.cs rename to sdk/dotnet/Outputs/K0sStorage.cs index 8ce0f21..e326f30 100644 --- a/sdk/dotnet/Outputs/ClusterStorage.cs +++ b/sdk/dotnet/Outputs/K0sStorage.cs @@ -11,17 +11,17 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterStorage + public sealed class K0sStorage { - public readonly Outputs.ClusterEtcd? Etcd; - public readonly Outputs.ClusterKine? Kine; + public readonly Outputs.K0sEtcd? Etcd; + public readonly Outputs.K0sKine? Kine; public readonly string? Type; [OutputConstructor] - private ClusterStorage( - Outputs.ClusterEtcd? etcd, + private K0sStorage( + Outputs.K0sEtcd? etcd, - Outputs.ClusterKine? kine, + Outputs.K0sKine? kine, string? type) { diff --git a/sdk/dotnet/Outputs/ClusterTelemetry.cs b/sdk/dotnet/Outputs/K0sTelemetry.cs similarity index 83% rename from sdk/dotnet/Outputs/ClusterTelemetry.cs rename to sdk/dotnet/Outputs/K0sTelemetry.cs index b9681e6..ce0bcd0 100644 --- a/sdk/dotnet/Outputs/ClusterTelemetry.cs +++ b/sdk/dotnet/Outputs/K0sTelemetry.cs @@ -11,12 +11,12 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterTelemetry + public sealed class K0sTelemetry { public readonly bool? Enabled; [OutputConstructor] - private ClusterTelemetry(bool? enabled) + private K0sTelemetry(bool? enabled) { Enabled = enabled; } diff --git a/sdk/dotnet/Outputs/ClusterWorkerProfile.cs b/sdk/dotnet/Outputs/K0sWorkerProfile.cs similarity index 88% rename from sdk/dotnet/Outputs/ClusterWorkerProfile.cs rename to sdk/dotnet/Outputs/K0sWorkerProfile.cs index 687e0dd..e317e2d 100644 --- a/sdk/dotnet/Outputs/ClusterWorkerProfile.cs +++ b/sdk/dotnet/Outputs/K0sWorkerProfile.cs @@ -11,13 +11,13 @@ namespace Pulumi.K0s.Outputs { [OutputType] - public sealed class ClusterWorkerProfile + public sealed class K0sWorkerProfile { public readonly string Name; public readonly ImmutableDictionary Values; [OutputConstructor] - private ClusterWorkerProfile( + private K0sWorkerProfile( string name, ImmutableDictionary values) diff --git a/sdk/go/k0s/pulumiTypes.go b/sdk/go/k0s/pulumiTypes.go index 25c5dab..d4f6187 100644 --- a/sdk/go/k0s/pulumiTypes.go +++ b/sdk/go/k0s/pulumiTypes.go @@ -13,6820 +13,6965 @@ import ( var _ = internal.GetEnvOrDefault -type ClusterAPI struct { - Address *string `pulumi:"address"` - ExternalAddress *string `pulumi:"externalAddress"` - ExtraArgs map[string]string `pulumi:"extraArgs"` - K0sApiPort *int `pulumi:"k0sApiPort"` - Port *int `pulumi:"port"` - Sans []string `pulumi:"sans"` +type ClusterFile struct { + DirPerm *string `pulumi:"dirPerm"` + Dst *string `pulumi:"dst"` + DstDir *string `pulumi:"dstDir"` + Group *string `pulumi:"group"` + Name *string `pulumi:"name"` + Perm *string `pulumi:"perm"` + Src *string `pulumi:"src"` + User *string `pulumi:"user"` } -// ClusterAPIInput is an input type that accepts ClusterAPIArgs and ClusterAPIOutput values. -// You can construct a concrete instance of `ClusterAPIInput` via: +// ClusterFileInput is an input type that accepts ClusterFileArgs and ClusterFileOutput values. +// You can construct a concrete instance of `ClusterFileInput` via: // -// ClusterAPIArgs{...} -type ClusterAPIInput interface { +// ClusterFileArgs{...} +type ClusterFileInput interface { pulumi.Input - ToClusterAPIOutput() ClusterAPIOutput - ToClusterAPIOutputWithContext(context.Context) ClusterAPIOutput -} - -type ClusterAPIArgs struct { - Address pulumi.StringPtrInput `pulumi:"address"` - ExternalAddress pulumi.StringPtrInput `pulumi:"externalAddress"` - ExtraArgs pulumi.StringMapInput `pulumi:"extraArgs"` - K0sApiPort pulumi.IntPtrInput `pulumi:"k0sApiPort"` - Port pulumi.IntPtrInput `pulumi:"port"` - Sans pulumi.StringArrayInput `pulumi:"sans"` -} - -func (ClusterAPIArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterAPI)(nil)).Elem() + ToClusterFileOutput() ClusterFileOutput + ToClusterFileOutputWithContext(context.Context) ClusterFileOutput } -func (i ClusterAPIArgs) ToClusterAPIOutput() ClusterAPIOutput { - return i.ToClusterAPIOutputWithContext(context.Background()) +type ClusterFileArgs struct { + DirPerm pulumi.StringPtrInput `pulumi:"dirPerm"` + Dst pulumi.StringPtrInput `pulumi:"dst"` + DstDir pulumi.StringPtrInput `pulumi:"dstDir"` + Group pulumi.StringPtrInput `pulumi:"group"` + Name pulumi.StringPtrInput `pulumi:"name"` + Perm pulumi.StringPtrInput `pulumi:"perm"` + Src pulumi.StringPtrInput `pulumi:"src"` + User pulumi.StringPtrInput `pulumi:"user"` } -func (i ClusterAPIArgs) ToClusterAPIOutputWithContext(ctx context.Context) ClusterAPIOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterAPIOutput) +func (ClusterFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterFile)(nil)).Elem() } -func (i ClusterAPIArgs) ToClusterAPIPtrOutput() ClusterAPIPtrOutput { - return i.ToClusterAPIPtrOutputWithContext(context.Background()) +func (i ClusterFileArgs) ToClusterFileOutput() ClusterFileOutput { + return i.ToClusterFileOutputWithContext(context.Background()) } -func (i ClusterAPIArgs) ToClusterAPIPtrOutputWithContext(ctx context.Context) ClusterAPIPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterAPIOutput).ToClusterAPIPtrOutputWithContext(ctx) +func (i ClusterFileArgs) ToClusterFileOutputWithContext(ctx context.Context) ClusterFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterFileOutput) } -// ClusterAPIPtrInput is an input type that accepts ClusterAPIArgs, ClusterAPIPtr and ClusterAPIPtrOutput values. -// You can construct a concrete instance of `ClusterAPIPtrInput` via: -// -// ClusterAPIArgs{...} -// -// or: +// ClusterFileArrayInput is an input type that accepts ClusterFileArray and ClusterFileArrayOutput values. +// You can construct a concrete instance of `ClusterFileArrayInput` via: // -// nil -type ClusterAPIPtrInput interface { +// ClusterFileArray{ ClusterFileArgs{...} } +type ClusterFileArrayInput interface { pulumi.Input - ToClusterAPIPtrOutput() ClusterAPIPtrOutput - ToClusterAPIPtrOutputWithContext(context.Context) ClusterAPIPtrOutput + ToClusterFileArrayOutput() ClusterFileArrayOutput + ToClusterFileArrayOutputWithContext(context.Context) ClusterFileArrayOutput } -type clusterAPIPtrType ClusterAPIArgs - -func ClusterAPIPtr(v *ClusterAPIArgs) ClusterAPIPtrInput { - return (*clusterAPIPtrType)(v) -} +type ClusterFileArray []ClusterFileInput -func (*clusterAPIPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterAPI)(nil)).Elem() +func (ClusterFileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterFile)(nil)).Elem() } -func (i *clusterAPIPtrType) ToClusterAPIPtrOutput() ClusterAPIPtrOutput { - return i.ToClusterAPIPtrOutputWithContext(context.Background()) +func (i ClusterFileArray) ToClusterFileArrayOutput() ClusterFileArrayOutput { + return i.ToClusterFileArrayOutputWithContext(context.Background()) } -func (i *clusterAPIPtrType) ToClusterAPIPtrOutputWithContext(ctx context.Context) ClusterAPIPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterAPIPtrOutput) +func (i ClusterFileArray) ToClusterFileArrayOutputWithContext(ctx context.Context) ClusterFileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterFileArrayOutput) } -type ClusterAPIOutput struct{ *pulumi.OutputState } +type ClusterFileOutput struct{ *pulumi.OutputState } -func (ClusterAPIOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterAPI)(nil)).Elem() +func (ClusterFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterFile)(nil)).Elem() } -func (o ClusterAPIOutput) ToClusterAPIOutput() ClusterAPIOutput { +func (o ClusterFileOutput) ToClusterFileOutput() ClusterFileOutput { return o } -func (o ClusterAPIOutput) ToClusterAPIOutputWithContext(ctx context.Context) ClusterAPIOutput { +func (o ClusterFileOutput) ToClusterFileOutputWithContext(ctx context.Context) ClusterFileOutput { return o } -func (o ClusterAPIOutput) ToClusterAPIPtrOutput() ClusterAPIPtrOutput { - return o.ToClusterAPIPtrOutputWithContext(context.Background()) +func (o ClusterFileOutput) DirPerm() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterFile) *string { return v.DirPerm }).(pulumi.StringPtrOutput) } -func (o ClusterAPIOutput) ToClusterAPIPtrOutputWithContext(ctx context.Context) ClusterAPIPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterAPI) *ClusterAPI { - return &v - }).(ClusterAPIPtrOutput) +func (o ClusterFileOutput) Dst() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterFile) *string { return v.Dst }).(pulumi.StringPtrOutput) } -func (o ClusterAPIOutput) Address() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterAPI) *string { return v.Address }).(pulumi.StringPtrOutput) +func (o ClusterFileOutput) DstDir() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterFile) *string { return v.DstDir }).(pulumi.StringPtrOutput) } -func (o ClusterAPIOutput) ExternalAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterAPI) *string { return v.ExternalAddress }).(pulumi.StringPtrOutput) +func (o ClusterFileOutput) Group() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterFile) *string { return v.Group }).(pulumi.StringPtrOutput) } -func (o ClusterAPIOutput) ExtraArgs() pulumi.StringMapOutput { - return o.ApplyT(func(v ClusterAPI) map[string]string { return v.ExtraArgs }).(pulumi.StringMapOutput) +func (o ClusterFileOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterFile) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (o ClusterAPIOutput) K0sApiPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v ClusterAPI) *int { return v.K0sApiPort }).(pulumi.IntPtrOutput) +func (o ClusterFileOutput) Perm() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterFile) *string { return v.Perm }).(pulumi.StringPtrOutput) } -func (o ClusterAPIOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v ClusterAPI) *int { return v.Port }).(pulumi.IntPtrOutput) +func (o ClusterFileOutput) Src() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterFile) *string { return v.Src }).(pulumi.StringPtrOutput) } -func (o ClusterAPIOutput) Sans() pulumi.StringArrayOutput { - return o.ApplyT(func(v ClusterAPI) []string { return v.Sans }).(pulumi.StringArrayOutput) +func (o ClusterFileOutput) User() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterFile) *string { return v.User }).(pulumi.StringPtrOutput) } -type ClusterAPIPtrOutput struct{ *pulumi.OutputState } +type ClusterFileArrayOutput struct{ *pulumi.OutputState } -func (ClusterAPIPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterAPI)(nil)).Elem() +func (ClusterFileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterFile)(nil)).Elem() } -func (o ClusterAPIPtrOutput) ToClusterAPIPtrOutput() ClusterAPIPtrOutput { +func (o ClusterFileArrayOutput) ToClusterFileArrayOutput() ClusterFileArrayOutput { return o } -func (o ClusterAPIPtrOutput) ToClusterAPIPtrOutputWithContext(ctx context.Context) ClusterAPIPtrOutput { +func (o ClusterFileArrayOutput) ToClusterFileArrayOutputWithContext(ctx context.Context) ClusterFileArrayOutput { return o } -func (o ClusterAPIPtrOutput) Elem() ClusterAPIOutput { - return o.ApplyT(func(v *ClusterAPI) ClusterAPI { - if v != nil { - return *v - } - var ret ClusterAPI - return ret - }).(ClusterAPIOutput) -} - -func (o ClusterAPIPtrOutput) Address() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterAPI) *string { - if v == nil { - return nil - } - return v.Address - }).(pulumi.StringPtrOutput) -} - -func (o ClusterAPIPtrOutput) ExternalAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterAPI) *string { - if v == nil { - return nil - } - return v.ExternalAddress - }).(pulumi.StringPtrOutput) -} - -func (o ClusterAPIPtrOutput) ExtraArgs() pulumi.StringMapOutput { - return o.ApplyT(func(v *ClusterAPI) map[string]string { - if v == nil { - return nil - } - return v.ExtraArgs - }).(pulumi.StringMapOutput) -} - -func (o ClusterAPIPtrOutput) K0sApiPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ClusterAPI) *int { - if v == nil { - return nil - } - return v.K0sApiPort - }).(pulumi.IntPtrOutput) -} - -func (o ClusterAPIPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ClusterAPI) *int { - if v == nil { - return nil - } - return v.Port - }).(pulumi.IntPtrOutput) -} - -func (o ClusterAPIPtrOutput) Sans() pulumi.StringArrayOutput { - return o.ApplyT(func(v *ClusterAPI) []string { - if v == nil { - return nil - } - return v.Sans - }).(pulumi.StringArrayOutput) +func (o ClusterFileArrayOutput) Index(i pulumi.IntInput) ClusterFileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterFile { + return vs[0].([]ClusterFile)[vs[1].(int)] + }).(ClusterFileOutput) } -type ClusterCalico struct { - EnvVars map[string]string `pulumi:"envVars"` - FlexVolumeDriverPath *string `pulumi:"flexVolumeDriverPath"` - IpAutodetectionMethod *string `pulumi:"ipAutodetectionMethod"` - Mode *string `pulumi:"mode"` - Mtu *int `pulumi:"mtu"` - Overlay *string `pulumi:"overlay"` - VxlanPort *int `pulumi:"vxlanPort"` - VxlanVNI *int `pulumi:"vxlanVNI"` - Wireguard *bool `pulumi:"wireguard"` +type ClusterHook struct { + After []string `pulumi:"after"` + Before []string `pulumi:"before"` } -// ClusterCalicoInput is an input type that accepts ClusterCalicoArgs and ClusterCalicoOutput values. -// You can construct a concrete instance of `ClusterCalicoInput` via: +// ClusterHookInput is an input type that accepts ClusterHookArgs and ClusterHookOutput values. +// You can construct a concrete instance of `ClusterHookInput` via: // -// ClusterCalicoArgs{...} -type ClusterCalicoInput interface { +// ClusterHookArgs{...} +type ClusterHookInput interface { pulumi.Input - ToClusterCalicoOutput() ClusterCalicoOutput - ToClusterCalicoOutputWithContext(context.Context) ClusterCalicoOutput + ToClusterHookOutput() ClusterHookOutput + ToClusterHookOutputWithContext(context.Context) ClusterHookOutput } -type ClusterCalicoArgs struct { - EnvVars pulumi.StringMapInput `pulumi:"envVars"` - FlexVolumeDriverPath pulumi.StringPtrInput `pulumi:"flexVolumeDriverPath"` - IpAutodetectionMethod pulumi.StringPtrInput `pulumi:"ipAutodetectionMethod"` - Mode pulumi.StringPtrInput `pulumi:"mode"` - Mtu pulumi.IntPtrInput `pulumi:"mtu"` - Overlay pulumi.StringPtrInput `pulumi:"overlay"` - VxlanPort pulumi.IntPtrInput `pulumi:"vxlanPort"` - VxlanVNI pulumi.IntPtrInput `pulumi:"vxlanVNI"` - Wireguard pulumi.BoolPtrInput `pulumi:"wireguard"` +type ClusterHookArgs struct { + After pulumi.StringArrayInput `pulumi:"after"` + Before pulumi.StringArrayInput `pulumi:"before"` } -func (ClusterCalicoArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterCalico)(nil)).Elem() +func (ClusterHookArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterHook)(nil)).Elem() } -func (i ClusterCalicoArgs) ToClusterCalicoOutput() ClusterCalicoOutput { - return i.ToClusterCalicoOutputWithContext(context.Background()) +func (i ClusterHookArgs) ToClusterHookOutput() ClusterHookOutput { + return i.ToClusterHookOutputWithContext(context.Background()) } -func (i ClusterCalicoArgs) ToClusterCalicoOutputWithContext(ctx context.Context) ClusterCalicoOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterCalicoOutput) +func (i ClusterHookArgs) ToClusterHookOutputWithContext(ctx context.Context) ClusterHookOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterHookOutput) } -func (i ClusterCalicoArgs) ToClusterCalicoPtrOutput() ClusterCalicoPtrOutput { - return i.ToClusterCalicoPtrOutputWithContext(context.Background()) +func (i ClusterHookArgs) ToClusterHookPtrOutput() ClusterHookPtrOutput { + return i.ToClusterHookPtrOutputWithContext(context.Background()) } -func (i ClusterCalicoArgs) ToClusterCalicoPtrOutputWithContext(ctx context.Context) ClusterCalicoPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterCalicoOutput).ToClusterCalicoPtrOutputWithContext(ctx) +func (i ClusterHookArgs) ToClusterHookPtrOutputWithContext(ctx context.Context) ClusterHookPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterHookOutput).ToClusterHookPtrOutputWithContext(ctx) } -// ClusterCalicoPtrInput is an input type that accepts ClusterCalicoArgs, ClusterCalicoPtr and ClusterCalicoPtrOutput values. -// You can construct a concrete instance of `ClusterCalicoPtrInput` via: +// ClusterHookPtrInput is an input type that accepts ClusterHookArgs, ClusterHookPtr and ClusterHookPtrOutput values. +// You can construct a concrete instance of `ClusterHookPtrInput` via: // -// ClusterCalicoArgs{...} +// ClusterHookArgs{...} // // or: // // nil -type ClusterCalicoPtrInput interface { +type ClusterHookPtrInput interface { pulumi.Input - ToClusterCalicoPtrOutput() ClusterCalicoPtrOutput - ToClusterCalicoPtrOutputWithContext(context.Context) ClusterCalicoPtrOutput + ToClusterHookPtrOutput() ClusterHookPtrOutput + ToClusterHookPtrOutputWithContext(context.Context) ClusterHookPtrOutput } -type clusterCalicoPtrType ClusterCalicoArgs +type clusterHookPtrType ClusterHookArgs -func ClusterCalicoPtr(v *ClusterCalicoArgs) ClusterCalicoPtrInput { - return (*clusterCalicoPtrType)(v) +func ClusterHookPtr(v *ClusterHookArgs) ClusterHookPtrInput { + return (*clusterHookPtrType)(v) } -func (*clusterCalicoPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterCalico)(nil)).Elem() +func (*clusterHookPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterHook)(nil)).Elem() } -func (i *clusterCalicoPtrType) ToClusterCalicoPtrOutput() ClusterCalicoPtrOutput { - return i.ToClusterCalicoPtrOutputWithContext(context.Background()) +func (i *clusterHookPtrType) ToClusterHookPtrOutput() ClusterHookPtrOutput { + return i.ToClusterHookPtrOutputWithContext(context.Background()) } -func (i *clusterCalicoPtrType) ToClusterCalicoPtrOutputWithContext(ctx context.Context) ClusterCalicoPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterCalicoPtrOutput) +func (i *clusterHookPtrType) ToClusterHookPtrOutputWithContext(ctx context.Context) ClusterHookPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterHookPtrOutput) } -type ClusterCalicoOutput struct{ *pulumi.OutputState } +type ClusterHookOutput struct{ *pulumi.OutputState } -func (ClusterCalicoOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterCalico)(nil)).Elem() +func (ClusterHookOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterHook)(nil)).Elem() } -func (o ClusterCalicoOutput) ToClusterCalicoOutput() ClusterCalicoOutput { +func (o ClusterHookOutput) ToClusterHookOutput() ClusterHookOutput { return o } -func (o ClusterCalicoOutput) ToClusterCalicoOutputWithContext(ctx context.Context) ClusterCalicoOutput { +func (o ClusterHookOutput) ToClusterHookOutputWithContext(ctx context.Context) ClusterHookOutput { return o } -func (o ClusterCalicoOutput) ToClusterCalicoPtrOutput() ClusterCalicoPtrOutput { - return o.ToClusterCalicoPtrOutputWithContext(context.Background()) +func (o ClusterHookOutput) ToClusterHookPtrOutput() ClusterHookPtrOutput { + return o.ToClusterHookPtrOutputWithContext(context.Background()) } -func (o ClusterCalicoOutput) ToClusterCalicoPtrOutputWithContext(ctx context.Context) ClusterCalicoPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterCalico) *ClusterCalico { +func (o ClusterHookOutput) ToClusterHookPtrOutputWithContext(ctx context.Context) ClusterHookPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterHook) *ClusterHook { return &v - }).(ClusterCalicoPtrOutput) -} - -func (o ClusterCalicoOutput) EnvVars() pulumi.StringMapOutput { - return o.ApplyT(func(v ClusterCalico) map[string]string { return v.EnvVars }).(pulumi.StringMapOutput) -} - -func (o ClusterCalicoOutput) FlexVolumeDriverPath() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterCalico) *string { return v.FlexVolumeDriverPath }).(pulumi.StringPtrOutput) -} - -func (o ClusterCalicoOutput) IpAutodetectionMethod() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterCalico) *string { return v.IpAutodetectionMethod }).(pulumi.StringPtrOutput) -} - -func (o ClusterCalicoOutput) Mode() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterCalico) *string { return v.Mode }).(pulumi.StringPtrOutput) -} - -func (o ClusterCalicoOutput) Mtu() pulumi.IntPtrOutput { - return o.ApplyT(func(v ClusterCalico) *int { return v.Mtu }).(pulumi.IntPtrOutput) -} - -func (o ClusterCalicoOutput) Overlay() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterCalico) *string { return v.Overlay }).(pulumi.StringPtrOutput) -} - -func (o ClusterCalicoOutput) VxlanPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v ClusterCalico) *int { return v.VxlanPort }).(pulumi.IntPtrOutput) + }).(ClusterHookPtrOutput) } -func (o ClusterCalicoOutput) VxlanVNI() pulumi.IntPtrOutput { - return o.ApplyT(func(v ClusterCalico) *int { return v.VxlanVNI }).(pulumi.IntPtrOutput) +func (o ClusterHookOutput) After() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterHook) []string { return v.After }).(pulumi.StringArrayOutput) } -func (o ClusterCalicoOutput) Wireguard() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterCalico) *bool { return v.Wireguard }).(pulumi.BoolPtrOutput) +func (o ClusterHookOutput) Before() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterHook) []string { return v.Before }).(pulumi.StringArrayOutput) } -type ClusterCalicoPtrOutput struct{ *pulumi.OutputState } +type ClusterHookPtrOutput struct{ *pulumi.OutputState } -func (ClusterCalicoPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterCalico)(nil)).Elem() +func (ClusterHookPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterHook)(nil)).Elem() } -func (o ClusterCalicoPtrOutput) ToClusterCalicoPtrOutput() ClusterCalicoPtrOutput { +func (o ClusterHookPtrOutput) ToClusterHookPtrOutput() ClusterHookPtrOutput { return o } -func (o ClusterCalicoPtrOutput) ToClusterCalicoPtrOutputWithContext(ctx context.Context) ClusterCalicoPtrOutput { +func (o ClusterHookPtrOutput) ToClusterHookPtrOutputWithContext(ctx context.Context) ClusterHookPtrOutput { return o } -func (o ClusterCalicoPtrOutput) Elem() ClusterCalicoOutput { - return o.ApplyT(func(v *ClusterCalico) ClusterCalico { +func (o ClusterHookPtrOutput) Elem() ClusterHookOutput { + return o.ApplyT(func(v *ClusterHook) ClusterHook { if v != nil { return *v } - var ret ClusterCalico + var ret ClusterHook return ret - }).(ClusterCalicoOutput) + }).(ClusterHookOutput) } -func (o ClusterCalicoPtrOutput) EnvVars() pulumi.StringMapOutput { - return o.ApplyT(func(v *ClusterCalico) map[string]string { +func (o ClusterHookPtrOutput) After() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterHook) []string { if v == nil { return nil } - return v.EnvVars - }).(pulumi.StringMapOutput) + return v.After + }).(pulumi.StringArrayOutput) } -func (o ClusterCalicoPtrOutput) FlexVolumeDriverPath() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterCalico) *string { +func (o ClusterHookPtrOutput) Before() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterHook) []string { if v == nil { return nil } - return v.FlexVolumeDriverPath - }).(pulumi.StringPtrOutput) + return v.Before + }).(pulumi.StringArrayOutput) } -func (o ClusterCalicoPtrOutput) IpAutodetectionMethod() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterCalico) *string { - if v == nil { - return nil - } - return v.IpAutodetectionMethod - }).(pulumi.StringPtrOutput) +type ClusterHooks struct { + Apply *ClusterHook `pulumi:"apply"` + Backup *ClusterHook `pulumi:"backup"` + Reset *ClusterHook `pulumi:"reset"` } -func (o ClusterCalicoPtrOutput) Mode() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterCalico) *string { - if v == nil { - return nil - } - return v.Mode - }).(pulumi.StringPtrOutput) -} - -func (o ClusterCalicoPtrOutput) Mtu() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ClusterCalico) *int { - if v == nil { - return nil - } - return v.Mtu - }).(pulumi.IntPtrOutput) -} - -func (o ClusterCalicoPtrOutput) Overlay() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterCalico) *string { - if v == nil { - return nil - } - return v.Overlay - }).(pulumi.StringPtrOutput) -} - -func (o ClusterCalicoPtrOutput) VxlanPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ClusterCalico) *int { - if v == nil { - return nil - } - return v.VxlanPort - }).(pulumi.IntPtrOutput) -} - -func (o ClusterCalicoPtrOutput) VxlanVNI() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ClusterCalico) *int { - if v == nil { - return nil - } - return v.VxlanVNI - }).(pulumi.IntPtrOutput) -} - -func (o ClusterCalicoPtrOutput) Wireguard() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterCalico) *bool { - if v == nil { - return nil - } - return v.Wireguard - }).(pulumi.BoolPtrOutput) -} - -type ClusterCalicoImage struct { - Cni *ClusterImage `pulumi:"cni"` - Flexvolume *ClusterImage `pulumi:"flexvolume"` - Kubecontrollers *ClusterImage `pulumi:"kubecontrollers"` - Node *ClusterImage `pulumi:"node"` -} - -// ClusterCalicoImageInput is an input type that accepts ClusterCalicoImageArgs and ClusterCalicoImageOutput values. -// You can construct a concrete instance of `ClusterCalicoImageInput` via: +// ClusterHooksInput is an input type that accepts ClusterHooksArgs and ClusterHooksOutput values. +// You can construct a concrete instance of `ClusterHooksInput` via: // -// ClusterCalicoImageArgs{...} -type ClusterCalicoImageInput interface { +// ClusterHooksArgs{...} +type ClusterHooksInput interface { pulumi.Input - ToClusterCalicoImageOutput() ClusterCalicoImageOutput - ToClusterCalicoImageOutputWithContext(context.Context) ClusterCalicoImageOutput + ToClusterHooksOutput() ClusterHooksOutput + ToClusterHooksOutputWithContext(context.Context) ClusterHooksOutput } -type ClusterCalicoImageArgs struct { - Cni ClusterImagePtrInput `pulumi:"cni"` - Flexvolume ClusterImagePtrInput `pulumi:"flexvolume"` - Kubecontrollers ClusterImagePtrInput `pulumi:"kubecontrollers"` - Node ClusterImagePtrInput `pulumi:"node"` +type ClusterHooksArgs struct { + Apply ClusterHookPtrInput `pulumi:"apply"` + Backup ClusterHookPtrInput `pulumi:"backup"` + Reset ClusterHookPtrInput `pulumi:"reset"` } -func (ClusterCalicoImageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterCalicoImage)(nil)).Elem() +func (ClusterHooksArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterHooks)(nil)).Elem() } -func (i ClusterCalicoImageArgs) ToClusterCalicoImageOutput() ClusterCalicoImageOutput { - return i.ToClusterCalicoImageOutputWithContext(context.Background()) +func (i ClusterHooksArgs) ToClusterHooksOutput() ClusterHooksOutput { + return i.ToClusterHooksOutputWithContext(context.Background()) } -func (i ClusterCalicoImageArgs) ToClusterCalicoImageOutputWithContext(ctx context.Context) ClusterCalicoImageOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterCalicoImageOutput) +func (i ClusterHooksArgs) ToClusterHooksOutputWithContext(ctx context.Context) ClusterHooksOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterHooksOutput) } -func (i ClusterCalicoImageArgs) ToClusterCalicoImagePtrOutput() ClusterCalicoImagePtrOutput { - return i.ToClusterCalicoImagePtrOutputWithContext(context.Background()) +func (i ClusterHooksArgs) ToClusterHooksPtrOutput() ClusterHooksPtrOutput { + return i.ToClusterHooksPtrOutputWithContext(context.Background()) } -func (i ClusterCalicoImageArgs) ToClusterCalicoImagePtrOutputWithContext(ctx context.Context) ClusterCalicoImagePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterCalicoImageOutput).ToClusterCalicoImagePtrOutputWithContext(ctx) +func (i ClusterHooksArgs) ToClusterHooksPtrOutputWithContext(ctx context.Context) ClusterHooksPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterHooksOutput).ToClusterHooksPtrOutputWithContext(ctx) } -// ClusterCalicoImagePtrInput is an input type that accepts ClusterCalicoImageArgs, ClusterCalicoImagePtr and ClusterCalicoImagePtrOutput values. -// You can construct a concrete instance of `ClusterCalicoImagePtrInput` via: +// ClusterHooksPtrInput is an input type that accepts ClusterHooksArgs, ClusterHooksPtr and ClusterHooksPtrOutput values. +// You can construct a concrete instance of `ClusterHooksPtrInput` via: // -// ClusterCalicoImageArgs{...} +// ClusterHooksArgs{...} // // or: // // nil -type ClusterCalicoImagePtrInput interface { +type ClusterHooksPtrInput interface { pulumi.Input - ToClusterCalicoImagePtrOutput() ClusterCalicoImagePtrOutput - ToClusterCalicoImagePtrOutputWithContext(context.Context) ClusterCalicoImagePtrOutput + ToClusterHooksPtrOutput() ClusterHooksPtrOutput + ToClusterHooksPtrOutputWithContext(context.Context) ClusterHooksPtrOutput } -type clusterCalicoImagePtrType ClusterCalicoImageArgs +type clusterHooksPtrType ClusterHooksArgs -func ClusterCalicoImagePtr(v *ClusterCalicoImageArgs) ClusterCalicoImagePtrInput { - return (*clusterCalicoImagePtrType)(v) +func ClusterHooksPtr(v *ClusterHooksArgs) ClusterHooksPtrInput { + return (*clusterHooksPtrType)(v) } -func (*clusterCalicoImagePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterCalicoImage)(nil)).Elem() +func (*clusterHooksPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterHooks)(nil)).Elem() } -func (i *clusterCalicoImagePtrType) ToClusterCalicoImagePtrOutput() ClusterCalicoImagePtrOutput { - return i.ToClusterCalicoImagePtrOutputWithContext(context.Background()) +func (i *clusterHooksPtrType) ToClusterHooksPtrOutput() ClusterHooksPtrOutput { + return i.ToClusterHooksPtrOutputWithContext(context.Background()) } -func (i *clusterCalicoImagePtrType) ToClusterCalicoImagePtrOutputWithContext(ctx context.Context) ClusterCalicoImagePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterCalicoImagePtrOutput) +func (i *clusterHooksPtrType) ToClusterHooksPtrOutputWithContext(ctx context.Context) ClusterHooksPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterHooksPtrOutput) } -type ClusterCalicoImageOutput struct{ *pulumi.OutputState } +type ClusterHooksOutput struct{ *pulumi.OutputState } -func (ClusterCalicoImageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterCalicoImage)(nil)).Elem() +func (ClusterHooksOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterHooks)(nil)).Elem() } -func (o ClusterCalicoImageOutput) ToClusterCalicoImageOutput() ClusterCalicoImageOutput { +func (o ClusterHooksOutput) ToClusterHooksOutput() ClusterHooksOutput { return o } -func (o ClusterCalicoImageOutput) ToClusterCalicoImageOutputWithContext(ctx context.Context) ClusterCalicoImageOutput { +func (o ClusterHooksOutput) ToClusterHooksOutputWithContext(ctx context.Context) ClusterHooksOutput { return o } -func (o ClusterCalicoImageOutput) ToClusterCalicoImagePtrOutput() ClusterCalicoImagePtrOutput { - return o.ToClusterCalicoImagePtrOutputWithContext(context.Background()) +func (o ClusterHooksOutput) ToClusterHooksPtrOutput() ClusterHooksPtrOutput { + return o.ToClusterHooksPtrOutputWithContext(context.Background()) } -func (o ClusterCalicoImageOutput) ToClusterCalicoImagePtrOutputWithContext(ctx context.Context) ClusterCalicoImagePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterCalicoImage) *ClusterCalicoImage { +func (o ClusterHooksOutput) ToClusterHooksPtrOutputWithContext(ctx context.Context) ClusterHooksPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterHooks) *ClusterHooks { return &v - }).(ClusterCalicoImagePtrOutput) -} - -func (o ClusterCalicoImageOutput) Cni() ClusterImagePtrOutput { - return o.ApplyT(func(v ClusterCalicoImage) *ClusterImage { return v.Cni }).(ClusterImagePtrOutput) + }).(ClusterHooksPtrOutput) } -func (o ClusterCalicoImageOutput) Flexvolume() ClusterImagePtrOutput { - return o.ApplyT(func(v ClusterCalicoImage) *ClusterImage { return v.Flexvolume }).(ClusterImagePtrOutput) +func (o ClusterHooksOutput) Apply() ClusterHookPtrOutput { + return o.ApplyT(func(v ClusterHooks) *ClusterHook { return v.Apply }).(ClusterHookPtrOutput) } -func (o ClusterCalicoImageOutput) Kubecontrollers() ClusterImagePtrOutput { - return o.ApplyT(func(v ClusterCalicoImage) *ClusterImage { return v.Kubecontrollers }).(ClusterImagePtrOutput) +func (o ClusterHooksOutput) Backup() ClusterHookPtrOutput { + return o.ApplyT(func(v ClusterHooks) *ClusterHook { return v.Backup }).(ClusterHookPtrOutput) } -func (o ClusterCalicoImageOutput) Node() ClusterImagePtrOutput { - return o.ApplyT(func(v ClusterCalicoImage) *ClusterImage { return v.Node }).(ClusterImagePtrOutput) +func (o ClusterHooksOutput) Reset() ClusterHookPtrOutput { + return o.ApplyT(func(v ClusterHooks) *ClusterHook { return v.Reset }).(ClusterHookPtrOutput) } -type ClusterCalicoImagePtrOutput struct{ *pulumi.OutputState } +type ClusterHooksPtrOutput struct{ *pulumi.OutputState } -func (ClusterCalicoImagePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterCalicoImage)(nil)).Elem() +func (ClusterHooksPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterHooks)(nil)).Elem() } -func (o ClusterCalicoImagePtrOutput) ToClusterCalicoImagePtrOutput() ClusterCalicoImagePtrOutput { +func (o ClusterHooksPtrOutput) ToClusterHooksPtrOutput() ClusterHooksPtrOutput { return o } -func (o ClusterCalicoImagePtrOutput) ToClusterCalicoImagePtrOutputWithContext(ctx context.Context) ClusterCalicoImagePtrOutput { +func (o ClusterHooksPtrOutput) ToClusterHooksPtrOutputWithContext(ctx context.Context) ClusterHooksPtrOutput { return o } -func (o ClusterCalicoImagePtrOutput) Elem() ClusterCalicoImageOutput { - return o.ApplyT(func(v *ClusterCalicoImage) ClusterCalicoImage { +func (o ClusterHooksPtrOutput) Elem() ClusterHooksOutput { + return o.ApplyT(func(v *ClusterHooks) ClusterHooks { if v != nil { return *v } - var ret ClusterCalicoImage + var ret ClusterHooks return ret - }).(ClusterCalicoImageOutput) -} - -func (o ClusterCalicoImagePtrOutput) Cni() ClusterImagePtrOutput { - return o.ApplyT(func(v *ClusterCalicoImage) *ClusterImage { - if v == nil { - return nil - } - return v.Cni - }).(ClusterImagePtrOutput) + }).(ClusterHooksOutput) } -func (o ClusterCalicoImagePtrOutput) Flexvolume() ClusterImagePtrOutput { - return o.ApplyT(func(v *ClusterCalicoImage) *ClusterImage { +func (o ClusterHooksPtrOutput) Apply() ClusterHookPtrOutput { + return o.ApplyT(func(v *ClusterHooks) *ClusterHook { if v == nil { return nil } - return v.Flexvolume - }).(ClusterImagePtrOutput) + return v.Apply + }).(ClusterHookPtrOutput) } -func (o ClusterCalicoImagePtrOutput) Kubecontrollers() ClusterImagePtrOutput { - return o.ApplyT(func(v *ClusterCalicoImage) *ClusterImage { +func (o ClusterHooksPtrOutput) Backup() ClusterHookPtrOutput { + return o.ApplyT(func(v *ClusterHooks) *ClusterHook { if v == nil { return nil } - return v.Kubecontrollers - }).(ClusterImagePtrOutput) + return v.Backup + }).(ClusterHookPtrOutput) } -func (o ClusterCalicoImagePtrOutput) Node() ClusterImagePtrOutput { - return o.ApplyT(func(v *ClusterCalicoImage) *ClusterImage { +func (o ClusterHooksPtrOutput) Reset() ClusterHookPtrOutput { + return o.ApplyT(func(v *ClusterHooks) *ClusterHook { if v == nil { return nil } - return v.Node - }).(ClusterImagePtrOutput) + return v.Reset + }).(ClusterHookPtrOutput) } -type ClusterControllerManager struct { - ExtraArgs map[string]string `pulumi:"extraArgs"` +type ClusterHost struct { + Environment map[string]string `pulumi:"environment"` + Files []ClusterFile `pulumi:"files"` + Hooks *ClusterHooks `pulumi:"hooks"` + Hostname *string `pulumi:"hostname"` + InstallFlags []string `pulumi:"installFlags"` + K0sBinaryPath *string `pulumi:"k0sBinaryPath"` + Localhost *ClusterLocalhost `pulumi:"localhost"` + NoTaints *bool `pulumi:"noTaints"` + Os *string `pulumi:"os"` + PrivateAddress *string `pulumi:"privateAddress"` + PrivateInterface *string `pulumi:"privateInterface"` + Role string `pulumi:"role"` + Ssh *ClusterSSH `pulumi:"ssh"` + UploadBinary *bool `pulumi:"uploadBinary"` + WinRM *ClusterWinRM `pulumi:"winRM"` } -// ClusterControllerManagerInput is an input type that accepts ClusterControllerManagerArgs and ClusterControllerManagerOutput values. -// You can construct a concrete instance of `ClusterControllerManagerInput` via: +// ClusterHostInput is an input type that accepts ClusterHostArgs and ClusterHostOutput values. +// You can construct a concrete instance of `ClusterHostInput` via: // -// ClusterControllerManagerArgs{...} -type ClusterControllerManagerInput interface { +// ClusterHostArgs{...} +type ClusterHostInput interface { pulumi.Input - ToClusterControllerManagerOutput() ClusterControllerManagerOutput - ToClusterControllerManagerOutputWithContext(context.Context) ClusterControllerManagerOutput -} - -type ClusterControllerManagerArgs struct { - ExtraArgs pulumi.StringMapInput `pulumi:"extraArgs"` -} - -func (ClusterControllerManagerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterControllerManager)(nil)).Elem() + ToClusterHostOutput() ClusterHostOutput + ToClusterHostOutputWithContext(context.Context) ClusterHostOutput } -func (i ClusterControllerManagerArgs) ToClusterControllerManagerOutput() ClusterControllerManagerOutput { - return i.ToClusterControllerManagerOutputWithContext(context.Background()) +type ClusterHostArgs struct { + Environment pulumi.StringMapInput `pulumi:"environment"` + Files ClusterFileArrayInput `pulumi:"files"` + Hooks ClusterHooksPtrInput `pulumi:"hooks"` + Hostname pulumi.StringPtrInput `pulumi:"hostname"` + InstallFlags pulumi.StringArrayInput `pulumi:"installFlags"` + K0sBinaryPath pulumi.StringPtrInput `pulumi:"k0sBinaryPath"` + Localhost ClusterLocalhostPtrInput `pulumi:"localhost"` + NoTaints pulumi.BoolPtrInput `pulumi:"noTaints"` + Os pulumi.StringPtrInput `pulumi:"os"` + PrivateAddress pulumi.StringPtrInput `pulumi:"privateAddress"` + PrivateInterface pulumi.StringPtrInput `pulumi:"privateInterface"` + Role pulumi.StringInput `pulumi:"role"` + Ssh ClusterSSHPtrInput `pulumi:"ssh"` + UploadBinary pulumi.BoolPtrInput `pulumi:"uploadBinary"` + WinRM ClusterWinRMPtrInput `pulumi:"winRM"` } -func (i ClusterControllerManagerArgs) ToClusterControllerManagerOutputWithContext(ctx context.Context) ClusterControllerManagerOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterControllerManagerOutput) +func (ClusterHostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterHost)(nil)).Elem() } -func (i ClusterControllerManagerArgs) ToClusterControllerManagerPtrOutput() ClusterControllerManagerPtrOutput { - return i.ToClusterControllerManagerPtrOutputWithContext(context.Background()) +func (i ClusterHostArgs) ToClusterHostOutput() ClusterHostOutput { + return i.ToClusterHostOutputWithContext(context.Background()) } -func (i ClusterControllerManagerArgs) ToClusterControllerManagerPtrOutputWithContext(ctx context.Context) ClusterControllerManagerPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterControllerManagerOutput).ToClusterControllerManagerPtrOutputWithContext(ctx) +func (i ClusterHostArgs) ToClusterHostOutputWithContext(ctx context.Context) ClusterHostOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterHostOutput) } -// ClusterControllerManagerPtrInput is an input type that accepts ClusterControllerManagerArgs, ClusterControllerManagerPtr and ClusterControllerManagerPtrOutput values. -// You can construct a concrete instance of `ClusterControllerManagerPtrInput` via: -// -// ClusterControllerManagerArgs{...} -// -// or: +// ClusterHostArrayInput is an input type that accepts ClusterHostArray and ClusterHostArrayOutput values. +// You can construct a concrete instance of `ClusterHostArrayInput` via: // -// nil -type ClusterControllerManagerPtrInput interface { +// ClusterHostArray{ ClusterHostArgs{...} } +type ClusterHostArrayInput interface { pulumi.Input - ToClusterControllerManagerPtrOutput() ClusterControllerManagerPtrOutput - ToClusterControllerManagerPtrOutputWithContext(context.Context) ClusterControllerManagerPtrOutput + ToClusterHostArrayOutput() ClusterHostArrayOutput + ToClusterHostArrayOutputWithContext(context.Context) ClusterHostArrayOutput } -type clusterControllerManagerPtrType ClusterControllerManagerArgs - -func ClusterControllerManagerPtr(v *ClusterControllerManagerArgs) ClusterControllerManagerPtrInput { - return (*clusterControllerManagerPtrType)(v) -} +type ClusterHostArray []ClusterHostInput -func (*clusterControllerManagerPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterControllerManager)(nil)).Elem() +func (ClusterHostArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterHost)(nil)).Elem() } -func (i *clusterControllerManagerPtrType) ToClusterControllerManagerPtrOutput() ClusterControllerManagerPtrOutput { - return i.ToClusterControllerManagerPtrOutputWithContext(context.Background()) +func (i ClusterHostArray) ToClusterHostArrayOutput() ClusterHostArrayOutput { + return i.ToClusterHostArrayOutputWithContext(context.Background()) } -func (i *clusterControllerManagerPtrType) ToClusterControllerManagerPtrOutputWithContext(ctx context.Context) ClusterControllerManagerPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterControllerManagerPtrOutput) +func (i ClusterHostArray) ToClusterHostArrayOutputWithContext(ctx context.Context) ClusterHostArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterHostArrayOutput) } -type ClusterControllerManagerOutput struct{ *pulumi.OutputState } +type ClusterHostOutput struct{ *pulumi.OutputState } -func (ClusterControllerManagerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterControllerManager)(nil)).Elem() +func (ClusterHostOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterHost)(nil)).Elem() } -func (o ClusterControllerManagerOutput) ToClusterControllerManagerOutput() ClusterControllerManagerOutput { +func (o ClusterHostOutput) ToClusterHostOutput() ClusterHostOutput { return o } -func (o ClusterControllerManagerOutput) ToClusterControllerManagerOutputWithContext(ctx context.Context) ClusterControllerManagerOutput { +func (o ClusterHostOutput) ToClusterHostOutputWithContext(ctx context.Context) ClusterHostOutput { return o } -func (o ClusterControllerManagerOutput) ToClusterControllerManagerPtrOutput() ClusterControllerManagerPtrOutput { - return o.ToClusterControllerManagerPtrOutputWithContext(context.Background()) +func (o ClusterHostOutput) Environment() pulumi.StringMapOutput { + return o.ApplyT(func(v ClusterHost) map[string]string { return v.Environment }).(pulumi.StringMapOutput) } -func (o ClusterControllerManagerOutput) ToClusterControllerManagerPtrOutputWithContext(ctx context.Context) ClusterControllerManagerPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterControllerManager) *ClusterControllerManager { - return &v - }).(ClusterControllerManagerPtrOutput) +func (o ClusterHostOutput) Files() ClusterFileArrayOutput { + return o.ApplyT(func(v ClusterHost) []ClusterFile { return v.Files }).(ClusterFileArrayOutput) } -func (o ClusterControllerManagerOutput) ExtraArgs() pulumi.StringMapOutput { - return o.ApplyT(func(v ClusterControllerManager) map[string]string { return v.ExtraArgs }).(pulumi.StringMapOutput) +func (o ClusterHostOutput) Hooks() ClusterHooksPtrOutput { + return o.ApplyT(func(v ClusterHost) *ClusterHooks { return v.Hooks }).(ClusterHooksPtrOutput) } -type ClusterControllerManagerPtrOutput struct{ *pulumi.OutputState } - -func (ClusterControllerManagerPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterControllerManager)(nil)).Elem() +func (o ClusterHostOutput) Hostname() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterHost) *string { return v.Hostname }).(pulumi.StringPtrOutput) } -func (o ClusterControllerManagerPtrOutput) ToClusterControllerManagerPtrOutput() ClusterControllerManagerPtrOutput { - return o +func (o ClusterHostOutput) InstallFlags() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterHost) []string { return v.InstallFlags }).(pulumi.StringArrayOutput) } -func (o ClusterControllerManagerPtrOutput) ToClusterControllerManagerPtrOutputWithContext(ctx context.Context) ClusterControllerManagerPtrOutput { - return o +func (o ClusterHostOutput) K0sBinaryPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterHost) *string { return v.K0sBinaryPath }).(pulumi.StringPtrOutput) } -func (o ClusterControllerManagerPtrOutput) Elem() ClusterControllerManagerOutput { - return o.ApplyT(func(v *ClusterControllerManager) ClusterControllerManager { - if v != nil { - return *v - } - var ret ClusterControllerManager - return ret - }).(ClusterControllerManagerOutput) +func (o ClusterHostOutput) Localhost() ClusterLocalhostPtrOutput { + return o.ApplyT(func(v ClusterHost) *ClusterLocalhost { return v.Localhost }).(ClusterLocalhostPtrOutput) } -func (o ClusterControllerManagerPtrOutput) ExtraArgs() pulumi.StringMapOutput { - return o.ApplyT(func(v *ClusterControllerManager) map[string]string { - if v == nil { - return nil - } - return v.ExtraArgs - }).(pulumi.StringMapOutput) +func (o ClusterHostOutput) NoTaints() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterHost) *bool { return v.NoTaints }).(pulumi.BoolPtrOutput) } -type ClusterDualStack struct { - IPv6podCIDR *string `pulumi:"IPv6podCIDR"` - IPv6serviceCIDR *string `pulumi:"IPv6serviceCIDR"` - Enabled *bool `pulumi:"enabled"` +func (o ClusterHostOutput) Os() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterHost) *string { return v.Os }).(pulumi.StringPtrOutput) } -// ClusterDualStackInput is an input type that accepts ClusterDualStackArgs and ClusterDualStackOutput values. -// You can construct a concrete instance of `ClusterDualStackInput` via: -// -// ClusterDualStackArgs{...} -type ClusterDualStackInput interface { - pulumi.Input - - ToClusterDualStackOutput() ClusterDualStackOutput - ToClusterDualStackOutputWithContext(context.Context) ClusterDualStackOutput +func (o ClusterHostOutput) PrivateAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterHost) *string { return v.PrivateAddress }).(pulumi.StringPtrOutput) } -type ClusterDualStackArgs struct { - IPv6podCIDR pulumi.StringPtrInput `pulumi:"IPv6podCIDR"` - IPv6serviceCIDR pulumi.StringPtrInput `pulumi:"IPv6serviceCIDR"` - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +func (o ClusterHostOutput) PrivateInterface() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterHost) *string { return v.PrivateInterface }).(pulumi.StringPtrOutput) } -func (ClusterDualStackArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterDualStack)(nil)).Elem() +func (o ClusterHostOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v ClusterHost) string { return v.Role }).(pulumi.StringOutput) } -func (i ClusterDualStackArgs) ToClusterDualStackOutput() ClusterDualStackOutput { - return i.ToClusterDualStackOutputWithContext(context.Background()) +func (o ClusterHostOutput) Ssh() ClusterSSHPtrOutput { + return o.ApplyT(func(v ClusterHost) *ClusterSSH { return v.Ssh }).(ClusterSSHPtrOutput) } -func (i ClusterDualStackArgs) ToClusterDualStackOutputWithContext(ctx context.Context) ClusterDualStackOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterDualStackOutput) +func (o ClusterHostOutput) UploadBinary() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterHost) *bool { return v.UploadBinary }).(pulumi.BoolPtrOutput) } -func (i ClusterDualStackArgs) ToClusterDualStackPtrOutput() ClusterDualStackPtrOutput { - return i.ToClusterDualStackPtrOutputWithContext(context.Background()) +func (o ClusterHostOutput) WinRM() ClusterWinRMPtrOutput { + return o.ApplyT(func(v ClusterHost) *ClusterWinRM { return v.WinRM }).(ClusterWinRMPtrOutput) } -func (i ClusterDualStackArgs) ToClusterDualStackPtrOutputWithContext(ctx context.Context) ClusterDualStackPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterDualStackOutput).ToClusterDualStackPtrOutputWithContext(ctx) +type ClusterHostArrayOutput struct{ *pulumi.OutputState } + +func (ClusterHostArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterHost)(nil)).Elem() } -// ClusterDualStackPtrInput is an input type that accepts ClusterDualStackArgs, ClusterDualStackPtr and ClusterDualStackPtrOutput values. -// You can construct a concrete instance of `ClusterDualStackPtrInput` via: +func (o ClusterHostArrayOutput) ToClusterHostArrayOutput() ClusterHostArrayOutput { + return o +} + +func (o ClusterHostArrayOutput) ToClusterHostArrayOutputWithContext(ctx context.Context) ClusterHostArrayOutput { + return o +} + +func (o ClusterHostArrayOutput) Index(i pulumi.IntInput) ClusterHostOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterHost { + return vs[0].([]ClusterHost)[vs[1].(int)] + }).(ClusterHostOutput) +} + +type ClusterK0s struct { + Config *K0s `pulumi:"config"` + DynamicConfig *bool `pulumi:"dynamicConfig"` + Version *string `pulumi:"version"` + VersionChannel *string `pulumi:"versionChannel"` +} + +// ClusterK0sInput is an input type that accepts ClusterK0sArgs and ClusterK0sOutput values. +// You can construct a concrete instance of `ClusterK0sInput` via: +// +// ClusterK0sArgs{...} +type ClusterK0sInput interface { + pulumi.Input + + ToClusterK0sOutput() ClusterK0sOutput + ToClusterK0sOutputWithContext(context.Context) ClusterK0sOutput +} + +type ClusterK0sArgs struct { + Config K0sPtrInput `pulumi:"config"` + DynamicConfig pulumi.BoolPtrInput `pulumi:"dynamicConfig"` + Version pulumi.StringPtrInput `pulumi:"version"` + VersionChannel pulumi.StringPtrInput `pulumi:"versionChannel"` +} + +func (ClusterK0sArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterK0s)(nil)).Elem() +} + +func (i ClusterK0sArgs) ToClusterK0sOutput() ClusterK0sOutput { + return i.ToClusterK0sOutputWithContext(context.Background()) +} + +func (i ClusterK0sArgs) ToClusterK0sOutputWithContext(ctx context.Context) ClusterK0sOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterK0sOutput) +} + +func (i ClusterK0sArgs) ToClusterK0sPtrOutput() ClusterK0sPtrOutput { + return i.ToClusterK0sPtrOutputWithContext(context.Background()) +} + +func (i ClusterK0sArgs) ToClusterK0sPtrOutputWithContext(ctx context.Context) ClusterK0sPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterK0sOutput).ToClusterK0sPtrOutputWithContext(ctx) +} + +// ClusterK0sPtrInput is an input type that accepts ClusterK0sArgs, ClusterK0sPtr and ClusterK0sPtrOutput values. +// You can construct a concrete instance of `ClusterK0sPtrInput` via: // -// ClusterDualStackArgs{...} +// ClusterK0sArgs{...} // // or: // // nil -type ClusterDualStackPtrInput interface { +type ClusterK0sPtrInput interface { pulumi.Input - ToClusterDualStackPtrOutput() ClusterDualStackPtrOutput - ToClusterDualStackPtrOutputWithContext(context.Context) ClusterDualStackPtrOutput + ToClusterK0sPtrOutput() ClusterK0sPtrOutput + ToClusterK0sPtrOutputWithContext(context.Context) ClusterK0sPtrOutput } -type clusterDualStackPtrType ClusterDualStackArgs +type clusterK0sPtrType ClusterK0sArgs -func ClusterDualStackPtr(v *ClusterDualStackArgs) ClusterDualStackPtrInput { - return (*clusterDualStackPtrType)(v) +func ClusterK0sPtr(v *ClusterK0sArgs) ClusterK0sPtrInput { + return (*clusterK0sPtrType)(v) } -func (*clusterDualStackPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterDualStack)(nil)).Elem() +func (*clusterK0sPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterK0s)(nil)).Elem() } -func (i *clusterDualStackPtrType) ToClusterDualStackPtrOutput() ClusterDualStackPtrOutput { - return i.ToClusterDualStackPtrOutputWithContext(context.Background()) +func (i *clusterK0sPtrType) ToClusterK0sPtrOutput() ClusterK0sPtrOutput { + return i.ToClusterK0sPtrOutputWithContext(context.Background()) } -func (i *clusterDualStackPtrType) ToClusterDualStackPtrOutputWithContext(ctx context.Context) ClusterDualStackPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterDualStackPtrOutput) +func (i *clusterK0sPtrType) ToClusterK0sPtrOutputWithContext(ctx context.Context) ClusterK0sPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterK0sPtrOutput) } -type ClusterDualStackOutput struct{ *pulumi.OutputState } +type ClusterK0sOutput struct{ *pulumi.OutputState } -func (ClusterDualStackOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterDualStack)(nil)).Elem() +func (ClusterK0sOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterK0s)(nil)).Elem() } -func (o ClusterDualStackOutput) ToClusterDualStackOutput() ClusterDualStackOutput { +func (o ClusterK0sOutput) ToClusterK0sOutput() ClusterK0sOutput { return o } -func (o ClusterDualStackOutput) ToClusterDualStackOutputWithContext(ctx context.Context) ClusterDualStackOutput { +func (o ClusterK0sOutput) ToClusterK0sOutputWithContext(ctx context.Context) ClusterK0sOutput { return o } -func (o ClusterDualStackOutput) ToClusterDualStackPtrOutput() ClusterDualStackPtrOutput { - return o.ToClusterDualStackPtrOutputWithContext(context.Background()) +func (o ClusterK0sOutput) ToClusterK0sPtrOutput() ClusterK0sPtrOutput { + return o.ToClusterK0sPtrOutputWithContext(context.Background()) } -func (o ClusterDualStackOutput) ToClusterDualStackPtrOutputWithContext(ctx context.Context) ClusterDualStackPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterDualStack) *ClusterDualStack { +func (o ClusterK0sOutput) ToClusterK0sPtrOutputWithContext(ctx context.Context) ClusterK0sPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterK0s) *ClusterK0s { return &v - }).(ClusterDualStackPtrOutput) + }).(ClusterK0sPtrOutput) } -func (o ClusterDualStackOutput) IPv6podCIDR() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterDualStack) *string { return v.IPv6podCIDR }).(pulumi.StringPtrOutput) +func (o ClusterK0sOutput) Config() K0sPtrOutput { + return o.ApplyT(func(v ClusterK0s) *K0s { return v.Config }).(K0sPtrOutput) +} + +func (o ClusterK0sOutput) DynamicConfig() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterK0s) *bool { return v.DynamicConfig }).(pulumi.BoolPtrOutput) } -func (o ClusterDualStackOutput) IPv6serviceCIDR() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterDualStack) *string { return v.IPv6serviceCIDR }).(pulumi.StringPtrOutput) +func (o ClusterK0sOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterK0s) *string { return v.Version }).(pulumi.StringPtrOutput) } -func (o ClusterDualStackOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterDualStack) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +func (o ClusterK0sOutput) VersionChannel() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterK0s) *string { return v.VersionChannel }).(pulumi.StringPtrOutput) } -type ClusterDualStackPtrOutput struct{ *pulumi.OutputState } +type ClusterK0sPtrOutput struct{ *pulumi.OutputState } -func (ClusterDualStackPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterDualStack)(nil)).Elem() +func (ClusterK0sPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterK0s)(nil)).Elem() } -func (o ClusterDualStackPtrOutput) ToClusterDualStackPtrOutput() ClusterDualStackPtrOutput { +func (o ClusterK0sPtrOutput) ToClusterK0sPtrOutput() ClusterK0sPtrOutput { return o } -func (o ClusterDualStackPtrOutput) ToClusterDualStackPtrOutputWithContext(ctx context.Context) ClusterDualStackPtrOutput { +func (o ClusterK0sPtrOutput) ToClusterK0sPtrOutputWithContext(ctx context.Context) ClusterK0sPtrOutput { return o } -func (o ClusterDualStackPtrOutput) Elem() ClusterDualStackOutput { - return o.ApplyT(func(v *ClusterDualStack) ClusterDualStack { +func (o ClusterK0sPtrOutput) Elem() ClusterK0sOutput { + return o.ApplyT(func(v *ClusterK0s) ClusterK0s { if v != nil { return *v } - var ret ClusterDualStack + var ret ClusterK0s return ret - }).(ClusterDualStackOutput) + }).(ClusterK0sOutput) } -func (o ClusterDualStackPtrOutput) IPv6podCIDR() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterDualStack) *string { +func (o ClusterK0sPtrOutput) Config() K0sPtrOutput { + return o.ApplyT(func(v *ClusterK0s) *K0s { if v == nil { return nil } - return v.IPv6podCIDR - }).(pulumi.StringPtrOutput) + return v.Config + }).(K0sPtrOutput) } -func (o ClusterDualStackPtrOutput) IPv6serviceCIDR() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterDualStack) *string { +func (o ClusterK0sPtrOutput) DynamicConfig() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterK0s) *bool { if v == nil { return nil } - return v.IPv6serviceCIDR + return v.DynamicConfig + }).(pulumi.BoolPtrOutput) +} + +func (o ClusterK0sPtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterK0s) *string { + if v == nil { + return nil + } + return v.Version }).(pulumi.StringPtrOutput) } -func (o ClusterDualStackPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterDualStack) *bool { +func (o ClusterK0sPtrOutput) VersionChannel() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterK0s) *string { if v == nil { return nil } - return v.Enabled - }).(pulumi.BoolPtrOutput) + return v.VersionChannel + }).(pulumi.StringPtrOutput) } -type ClusterEnvoyProxy struct { - ApiServerBindPort *int `pulumi:"apiServerBindPort"` - Image *string `pulumi:"image"` - ImagePullPolicy *string `pulumi:"imagePullPolicy"` - KonnectivityServerBindPort *int `pulumi:"konnectivityServerBindPort"` +type ClusterLocalhost struct { + Enabled *bool `pulumi:"enabled"` } -// ClusterEnvoyProxyInput is an input type that accepts ClusterEnvoyProxyArgs and ClusterEnvoyProxyOutput values. -// You can construct a concrete instance of `ClusterEnvoyProxyInput` via: +// ClusterLocalhostInput is an input type that accepts ClusterLocalhostArgs and ClusterLocalhostOutput values. +// You can construct a concrete instance of `ClusterLocalhostInput` via: // -// ClusterEnvoyProxyArgs{...} -type ClusterEnvoyProxyInput interface { +// ClusterLocalhostArgs{...} +type ClusterLocalhostInput interface { pulumi.Input - ToClusterEnvoyProxyOutput() ClusterEnvoyProxyOutput - ToClusterEnvoyProxyOutputWithContext(context.Context) ClusterEnvoyProxyOutput + ToClusterLocalhostOutput() ClusterLocalhostOutput + ToClusterLocalhostOutputWithContext(context.Context) ClusterLocalhostOutput } -type ClusterEnvoyProxyArgs struct { - ApiServerBindPort pulumi.IntPtrInput `pulumi:"apiServerBindPort"` - Image pulumi.StringPtrInput `pulumi:"image"` - ImagePullPolicy pulumi.StringPtrInput `pulumi:"imagePullPolicy"` - KonnectivityServerBindPort pulumi.IntPtrInput `pulumi:"konnectivityServerBindPort"` +type ClusterLocalhostArgs struct { + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` } -func (ClusterEnvoyProxyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterEnvoyProxy)(nil)).Elem() +func (ClusterLocalhostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterLocalhost)(nil)).Elem() } -func (i ClusterEnvoyProxyArgs) ToClusterEnvoyProxyOutput() ClusterEnvoyProxyOutput { - return i.ToClusterEnvoyProxyOutputWithContext(context.Background()) +func (i ClusterLocalhostArgs) ToClusterLocalhostOutput() ClusterLocalhostOutput { + return i.ToClusterLocalhostOutputWithContext(context.Background()) } -func (i ClusterEnvoyProxyArgs) ToClusterEnvoyProxyOutputWithContext(ctx context.Context) ClusterEnvoyProxyOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterEnvoyProxyOutput) +func (i ClusterLocalhostArgs) ToClusterLocalhostOutputWithContext(ctx context.Context) ClusterLocalhostOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterLocalhostOutput) } -func (i ClusterEnvoyProxyArgs) ToClusterEnvoyProxyPtrOutput() ClusterEnvoyProxyPtrOutput { - return i.ToClusterEnvoyProxyPtrOutputWithContext(context.Background()) +func (i ClusterLocalhostArgs) ToClusterLocalhostPtrOutput() ClusterLocalhostPtrOutput { + return i.ToClusterLocalhostPtrOutputWithContext(context.Background()) } -func (i ClusterEnvoyProxyArgs) ToClusterEnvoyProxyPtrOutputWithContext(ctx context.Context) ClusterEnvoyProxyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterEnvoyProxyOutput).ToClusterEnvoyProxyPtrOutputWithContext(ctx) +func (i ClusterLocalhostArgs) ToClusterLocalhostPtrOutputWithContext(ctx context.Context) ClusterLocalhostPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterLocalhostOutput).ToClusterLocalhostPtrOutputWithContext(ctx) } -// ClusterEnvoyProxyPtrInput is an input type that accepts ClusterEnvoyProxyArgs, ClusterEnvoyProxyPtr and ClusterEnvoyProxyPtrOutput values. -// You can construct a concrete instance of `ClusterEnvoyProxyPtrInput` via: +// ClusterLocalhostPtrInput is an input type that accepts ClusterLocalhostArgs, ClusterLocalhostPtr and ClusterLocalhostPtrOutput values. +// You can construct a concrete instance of `ClusterLocalhostPtrInput` via: // -// ClusterEnvoyProxyArgs{...} +// ClusterLocalhostArgs{...} // // or: // // nil -type ClusterEnvoyProxyPtrInput interface { +type ClusterLocalhostPtrInput interface { pulumi.Input - ToClusterEnvoyProxyPtrOutput() ClusterEnvoyProxyPtrOutput - ToClusterEnvoyProxyPtrOutputWithContext(context.Context) ClusterEnvoyProxyPtrOutput + ToClusterLocalhostPtrOutput() ClusterLocalhostPtrOutput + ToClusterLocalhostPtrOutputWithContext(context.Context) ClusterLocalhostPtrOutput } -type clusterEnvoyProxyPtrType ClusterEnvoyProxyArgs +type clusterLocalhostPtrType ClusterLocalhostArgs -func ClusterEnvoyProxyPtr(v *ClusterEnvoyProxyArgs) ClusterEnvoyProxyPtrInput { - return (*clusterEnvoyProxyPtrType)(v) +func ClusterLocalhostPtr(v *ClusterLocalhostArgs) ClusterLocalhostPtrInput { + return (*clusterLocalhostPtrType)(v) } -func (*clusterEnvoyProxyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterEnvoyProxy)(nil)).Elem() +func (*clusterLocalhostPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterLocalhost)(nil)).Elem() } -func (i *clusterEnvoyProxyPtrType) ToClusterEnvoyProxyPtrOutput() ClusterEnvoyProxyPtrOutput { - return i.ToClusterEnvoyProxyPtrOutputWithContext(context.Background()) +func (i *clusterLocalhostPtrType) ToClusterLocalhostPtrOutput() ClusterLocalhostPtrOutput { + return i.ToClusterLocalhostPtrOutputWithContext(context.Background()) } -func (i *clusterEnvoyProxyPtrType) ToClusterEnvoyProxyPtrOutputWithContext(ctx context.Context) ClusterEnvoyProxyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterEnvoyProxyPtrOutput) +func (i *clusterLocalhostPtrType) ToClusterLocalhostPtrOutputWithContext(ctx context.Context) ClusterLocalhostPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterLocalhostPtrOutput) } -type ClusterEnvoyProxyOutput struct{ *pulumi.OutputState } +type ClusterLocalhostOutput struct{ *pulumi.OutputState } -func (ClusterEnvoyProxyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterEnvoyProxy)(nil)).Elem() +func (ClusterLocalhostOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterLocalhost)(nil)).Elem() } -func (o ClusterEnvoyProxyOutput) ToClusterEnvoyProxyOutput() ClusterEnvoyProxyOutput { +func (o ClusterLocalhostOutput) ToClusterLocalhostOutput() ClusterLocalhostOutput { return o } -func (o ClusterEnvoyProxyOutput) ToClusterEnvoyProxyOutputWithContext(ctx context.Context) ClusterEnvoyProxyOutput { +func (o ClusterLocalhostOutput) ToClusterLocalhostOutputWithContext(ctx context.Context) ClusterLocalhostOutput { return o } -func (o ClusterEnvoyProxyOutput) ToClusterEnvoyProxyPtrOutput() ClusterEnvoyProxyPtrOutput { - return o.ToClusterEnvoyProxyPtrOutputWithContext(context.Background()) +func (o ClusterLocalhostOutput) ToClusterLocalhostPtrOutput() ClusterLocalhostPtrOutput { + return o.ToClusterLocalhostPtrOutputWithContext(context.Background()) } -func (o ClusterEnvoyProxyOutput) ToClusterEnvoyProxyPtrOutputWithContext(ctx context.Context) ClusterEnvoyProxyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterEnvoyProxy) *ClusterEnvoyProxy { +func (o ClusterLocalhostOutput) ToClusterLocalhostPtrOutputWithContext(ctx context.Context) ClusterLocalhostPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterLocalhost) *ClusterLocalhost { return &v - }).(ClusterEnvoyProxyPtrOutput) -} - -func (o ClusterEnvoyProxyOutput) ApiServerBindPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v ClusterEnvoyProxy) *int { return v.ApiServerBindPort }).(pulumi.IntPtrOutput) -} - -func (o ClusterEnvoyProxyOutput) Image() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterEnvoyProxy) *string { return v.Image }).(pulumi.StringPtrOutput) -} - -func (o ClusterEnvoyProxyOutput) ImagePullPolicy() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterEnvoyProxy) *string { return v.ImagePullPolicy }).(pulumi.StringPtrOutput) + }).(ClusterLocalhostPtrOutput) } -func (o ClusterEnvoyProxyOutput) KonnectivityServerBindPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v ClusterEnvoyProxy) *int { return v.KonnectivityServerBindPort }).(pulumi.IntPtrOutput) +func (o ClusterLocalhostOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterLocalhost) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -type ClusterEnvoyProxyPtrOutput struct{ *pulumi.OutputState } +type ClusterLocalhostPtrOutput struct{ *pulumi.OutputState } -func (ClusterEnvoyProxyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterEnvoyProxy)(nil)).Elem() +func (ClusterLocalhostPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterLocalhost)(nil)).Elem() } -func (o ClusterEnvoyProxyPtrOutput) ToClusterEnvoyProxyPtrOutput() ClusterEnvoyProxyPtrOutput { +func (o ClusterLocalhostPtrOutput) ToClusterLocalhostPtrOutput() ClusterLocalhostPtrOutput { return o } -func (o ClusterEnvoyProxyPtrOutput) ToClusterEnvoyProxyPtrOutputWithContext(ctx context.Context) ClusterEnvoyProxyPtrOutput { +func (o ClusterLocalhostPtrOutput) ToClusterLocalhostPtrOutputWithContext(ctx context.Context) ClusterLocalhostPtrOutput { return o } -func (o ClusterEnvoyProxyPtrOutput) Elem() ClusterEnvoyProxyOutput { - return o.ApplyT(func(v *ClusterEnvoyProxy) ClusterEnvoyProxy { +func (o ClusterLocalhostPtrOutput) Elem() ClusterLocalhostOutput { + return o.ApplyT(func(v *ClusterLocalhost) ClusterLocalhost { if v != nil { return *v } - var ret ClusterEnvoyProxy + var ret ClusterLocalhost return ret - }).(ClusterEnvoyProxyOutput) -} - -func (o ClusterEnvoyProxyPtrOutput) ApiServerBindPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ClusterEnvoyProxy) *int { - if v == nil { - return nil - } - return v.ApiServerBindPort - }).(pulumi.IntPtrOutput) -} - -func (o ClusterEnvoyProxyPtrOutput) Image() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterEnvoyProxy) *string { - if v == nil { - return nil - } - return v.Image - }).(pulumi.StringPtrOutput) -} - -func (o ClusterEnvoyProxyPtrOutput) ImagePullPolicy() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterEnvoyProxy) *string { - if v == nil { - return nil - } - return v.ImagePullPolicy - }).(pulumi.StringPtrOutput) + }).(ClusterLocalhostOutput) } -func (o ClusterEnvoyProxyPtrOutput) KonnectivityServerBindPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ClusterEnvoyProxy) *int { +func (o ClusterLocalhostPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterLocalhost) *bool { if v == nil { return nil } - return v.KonnectivityServerBindPort - }).(pulumi.IntPtrOutput) + return v.Enabled + }).(pulumi.BoolPtrOutput) } -type ClusterEtcd struct { - ExternalCluster *ClusterEtcdExternalCluster `pulumi:"externalCluster"` - ExtraArgs map[string]string `pulumi:"extraArgs"` - PeerAddress *string `pulumi:"peerAddress"` +type ClusterMetadata struct { + Name string `pulumi:"name"` } -// ClusterEtcdInput is an input type that accepts ClusterEtcdArgs and ClusterEtcdOutput values. -// You can construct a concrete instance of `ClusterEtcdInput` via: +// ClusterMetadataInput is an input type that accepts ClusterMetadataArgs and ClusterMetadataOutput values. +// You can construct a concrete instance of `ClusterMetadataInput` via: // -// ClusterEtcdArgs{...} -type ClusterEtcdInput interface { +// ClusterMetadataArgs{...} +type ClusterMetadataInput interface { pulumi.Input - ToClusterEtcdOutput() ClusterEtcdOutput - ToClusterEtcdOutputWithContext(context.Context) ClusterEtcdOutput + ToClusterMetadataOutput() ClusterMetadataOutput + ToClusterMetadataOutputWithContext(context.Context) ClusterMetadataOutput } -type ClusterEtcdArgs struct { - ExternalCluster ClusterEtcdExternalClusterPtrInput `pulumi:"externalCluster"` - ExtraArgs pulumi.StringMapInput `pulumi:"extraArgs"` - PeerAddress pulumi.StringPtrInput `pulumi:"peerAddress"` +type ClusterMetadataArgs struct { + Name pulumi.StringInput `pulumi:"name"` } -func (ClusterEtcdArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterEtcd)(nil)).Elem() +func (ClusterMetadataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMetadata)(nil)).Elem() } -func (i ClusterEtcdArgs) ToClusterEtcdOutput() ClusterEtcdOutput { - return i.ToClusterEtcdOutputWithContext(context.Background()) +func (i ClusterMetadataArgs) ToClusterMetadataOutput() ClusterMetadataOutput { + return i.ToClusterMetadataOutputWithContext(context.Background()) } -func (i ClusterEtcdArgs) ToClusterEtcdOutputWithContext(ctx context.Context) ClusterEtcdOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterEtcdOutput) +func (i ClusterMetadataArgs) ToClusterMetadataOutputWithContext(ctx context.Context) ClusterMetadataOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMetadataOutput) } -func (i ClusterEtcdArgs) ToClusterEtcdPtrOutput() ClusterEtcdPtrOutput { - return i.ToClusterEtcdPtrOutputWithContext(context.Background()) +func (i ClusterMetadataArgs) ToClusterMetadataPtrOutput() ClusterMetadataPtrOutput { + return i.ToClusterMetadataPtrOutputWithContext(context.Background()) } -func (i ClusterEtcdArgs) ToClusterEtcdPtrOutputWithContext(ctx context.Context) ClusterEtcdPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterEtcdOutput).ToClusterEtcdPtrOutputWithContext(ctx) +func (i ClusterMetadataArgs) ToClusterMetadataPtrOutputWithContext(ctx context.Context) ClusterMetadataPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMetadataOutput).ToClusterMetadataPtrOutputWithContext(ctx) } -// ClusterEtcdPtrInput is an input type that accepts ClusterEtcdArgs, ClusterEtcdPtr and ClusterEtcdPtrOutput values. -// You can construct a concrete instance of `ClusterEtcdPtrInput` via: +// ClusterMetadataPtrInput is an input type that accepts ClusterMetadataArgs, ClusterMetadataPtr and ClusterMetadataPtrOutput values. +// You can construct a concrete instance of `ClusterMetadataPtrInput` via: // -// ClusterEtcdArgs{...} +// ClusterMetadataArgs{...} // // or: // // nil -type ClusterEtcdPtrInput interface { +type ClusterMetadataPtrInput interface { pulumi.Input - ToClusterEtcdPtrOutput() ClusterEtcdPtrOutput - ToClusterEtcdPtrOutputWithContext(context.Context) ClusterEtcdPtrOutput + ToClusterMetadataPtrOutput() ClusterMetadataPtrOutput + ToClusterMetadataPtrOutputWithContext(context.Context) ClusterMetadataPtrOutput } -type clusterEtcdPtrType ClusterEtcdArgs +type clusterMetadataPtrType ClusterMetadataArgs -func ClusterEtcdPtr(v *ClusterEtcdArgs) ClusterEtcdPtrInput { - return (*clusterEtcdPtrType)(v) +func ClusterMetadataPtr(v *ClusterMetadataArgs) ClusterMetadataPtrInput { + return (*clusterMetadataPtrType)(v) } -func (*clusterEtcdPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterEtcd)(nil)).Elem() +func (*clusterMetadataPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterMetadata)(nil)).Elem() } -func (i *clusterEtcdPtrType) ToClusterEtcdPtrOutput() ClusterEtcdPtrOutput { - return i.ToClusterEtcdPtrOutputWithContext(context.Background()) +func (i *clusterMetadataPtrType) ToClusterMetadataPtrOutput() ClusterMetadataPtrOutput { + return i.ToClusterMetadataPtrOutputWithContext(context.Background()) } -func (i *clusterEtcdPtrType) ToClusterEtcdPtrOutputWithContext(ctx context.Context) ClusterEtcdPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterEtcdPtrOutput) +func (i *clusterMetadataPtrType) ToClusterMetadataPtrOutputWithContext(ctx context.Context) ClusterMetadataPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMetadataPtrOutput) } -type ClusterEtcdOutput struct{ *pulumi.OutputState } +type ClusterMetadataOutput struct{ *pulumi.OutputState } -func (ClusterEtcdOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterEtcd)(nil)).Elem() +func (ClusterMetadataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMetadata)(nil)).Elem() } -func (o ClusterEtcdOutput) ToClusterEtcdOutput() ClusterEtcdOutput { +func (o ClusterMetadataOutput) ToClusterMetadataOutput() ClusterMetadataOutput { return o } -func (o ClusterEtcdOutput) ToClusterEtcdOutputWithContext(ctx context.Context) ClusterEtcdOutput { +func (o ClusterMetadataOutput) ToClusterMetadataOutputWithContext(ctx context.Context) ClusterMetadataOutput { return o } -func (o ClusterEtcdOutput) ToClusterEtcdPtrOutput() ClusterEtcdPtrOutput { - return o.ToClusterEtcdPtrOutputWithContext(context.Background()) +func (o ClusterMetadataOutput) ToClusterMetadataPtrOutput() ClusterMetadataPtrOutput { + return o.ToClusterMetadataPtrOutputWithContext(context.Background()) } -func (o ClusterEtcdOutput) ToClusterEtcdPtrOutputWithContext(ctx context.Context) ClusterEtcdPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterEtcd) *ClusterEtcd { +func (o ClusterMetadataOutput) ToClusterMetadataPtrOutputWithContext(ctx context.Context) ClusterMetadataPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterMetadata) *ClusterMetadata { return &v - }).(ClusterEtcdPtrOutput) -} - -func (o ClusterEtcdOutput) ExternalCluster() ClusterEtcdExternalClusterPtrOutput { - return o.ApplyT(func(v ClusterEtcd) *ClusterEtcdExternalCluster { return v.ExternalCluster }).(ClusterEtcdExternalClusterPtrOutput) -} - -func (o ClusterEtcdOutput) ExtraArgs() pulumi.StringMapOutput { - return o.ApplyT(func(v ClusterEtcd) map[string]string { return v.ExtraArgs }).(pulumi.StringMapOutput) + }).(ClusterMetadataPtrOutput) } -func (o ClusterEtcdOutput) PeerAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterEtcd) *string { return v.PeerAddress }).(pulumi.StringPtrOutput) +func (o ClusterMetadataOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ClusterMetadata) string { return v.Name }).(pulumi.StringOutput) } -type ClusterEtcdPtrOutput struct{ *pulumi.OutputState } +type ClusterMetadataPtrOutput struct{ *pulumi.OutputState } -func (ClusterEtcdPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterEtcd)(nil)).Elem() +func (ClusterMetadataPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterMetadata)(nil)).Elem() } -func (o ClusterEtcdPtrOutput) ToClusterEtcdPtrOutput() ClusterEtcdPtrOutput { +func (o ClusterMetadataPtrOutput) ToClusterMetadataPtrOutput() ClusterMetadataPtrOutput { return o } -func (o ClusterEtcdPtrOutput) ToClusterEtcdPtrOutputWithContext(ctx context.Context) ClusterEtcdPtrOutput { +func (o ClusterMetadataPtrOutput) ToClusterMetadataPtrOutputWithContext(ctx context.Context) ClusterMetadataPtrOutput { return o } -func (o ClusterEtcdPtrOutput) Elem() ClusterEtcdOutput { - return o.ApplyT(func(v *ClusterEtcd) ClusterEtcd { +func (o ClusterMetadataPtrOutput) Elem() ClusterMetadataOutput { + return o.ApplyT(func(v *ClusterMetadata) ClusterMetadata { if v != nil { return *v } - var ret ClusterEtcd + var ret ClusterMetadata return ret - }).(ClusterEtcdOutput) -} - -func (o ClusterEtcdPtrOutput) ExternalCluster() ClusterEtcdExternalClusterPtrOutput { - return o.ApplyT(func(v *ClusterEtcd) *ClusterEtcdExternalCluster { - if v == nil { - return nil - } - return v.ExternalCluster - }).(ClusterEtcdExternalClusterPtrOutput) -} - -func (o ClusterEtcdPtrOutput) ExtraArgs() pulumi.StringMapOutput { - return o.ApplyT(func(v *ClusterEtcd) map[string]string { - if v == nil { - return nil - } - return v.ExtraArgs - }).(pulumi.StringMapOutput) + }).(ClusterMetadataOutput) } -func (o ClusterEtcdPtrOutput) PeerAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterEtcd) *string { +func (o ClusterMetadataPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterMetadata) *string { if v == nil { return nil } - return v.PeerAddress + return &v.Name }).(pulumi.StringPtrOutput) } -type ClusterEtcdExternalCluster struct { - Ca *string `pulumi:"ca"` - ClientCert *string `pulumi:"clientCert"` - ClientKey *string `pulumi:"clientKey"` - Endpoints []string `pulumi:"endpoints"` - EtcdPrefix *string `pulumi:"etcdPrefix"` +type ClusterSSH struct { + Address string `pulumi:"address"` + Bastion *ClusterSSH `pulumi:"bastion"` + HostKey *string `pulumi:"hostKey"` + Key *string `pulumi:"key"` + Port *int `pulumi:"port"` + User *string `pulumi:"user"` } -// ClusterEtcdExternalClusterInput is an input type that accepts ClusterEtcdExternalClusterArgs and ClusterEtcdExternalClusterOutput values. -// You can construct a concrete instance of `ClusterEtcdExternalClusterInput` via: +// ClusterSSHInput is an input type that accepts ClusterSSHArgs and ClusterSSHOutput values. +// You can construct a concrete instance of `ClusterSSHInput` via: // -// ClusterEtcdExternalClusterArgs{...} -type ClusterEtcdExternalClusterInput interface { +// ClusterSSHArgs{...} +type ClusterSSHInput interface { pulumi.Input - ToClusterEtcdExternalClusterOutput() ClusterEtcdExternalClusterOutput - ToClusterEtcdExternalClusterOutputWithContext(context.Context) ClusterEtcdExternalClusterOutput + ToClusterSSHOutput() ClusterSSHOutput + ToClusterSSHOutputWithContext(context.Context) ClusterSSHOutput } -type ClusterEtcdExternalClusterArgs struct { - Ca pulumi.StringPtrInput `pulumi:"ca"` - ClientCert pulumi.StringPtrInput `pulumi:"clientCert"` - ClientKey pulumi.StringPtrInput `pulumi:"clientKey"` - Endpoints pulumi.StringArrayInput `pulumi:"endpoints"` - EtcdPrefix pulumi.StringPtrInput `pulumi:"etcdPrefix"` +type ClusterSSHArgs struct { + Address pulumi.StringInput `pulumi:"address"` + Bastion ClusterSSHPtrInput `pulumi:"bastion"` + HostKey pulumi.StringPtrInput `pulumi:"hostKey"` + Key pulumi.StringPtrInput `pulumi:"key"` + Port pulumi.IntPtrInput `pulumi:"port"` + User pulumi.StringPtrInput `pulumi:"user"` } -func (ClusterEtcdExternalClusterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterEtcdExternalCluster)(nil)).Elem() +func (ClusterSSHArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterSSH)(nil)).Elem() } -func (i ClusterEtcdExternalClusterArgs) ToClusterEtcdExternalClusterOutput() ClusterEtcdExternalClusterOutput { - return i.ToClusterEtcdExternalClusterOutputWithContext(context.Background()) +func (i ClusterSSHArgs) ToClusterSSHOutput() ClusterSSHOutput { + return i.ToClusterSSHOutputWithContext(context.Background()) } -func (i ClusterEtcdExternalClusterArgs) ToClusterEtcdExternalClusterOutputWithContext(ctx context.Context) ClusterEtcdExternalClusterOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterEtcdExternalClusterOutput) +func (i ClusterSSHArgs) ToClusterSSHOutputWithContext(ctx context.Context) ClusterSSHOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterSSHOutput) } -func (i ClusterEtcdExternalClusterArgs) ToClusterEtcdExternalClusterPtrOutput() ClusterEtcdExternalClusterPtrOutput { - return i.ToClusterEtcdExternalClusterPtrOutputWithContext(context.Background()) +func (i ClusterSSHArgs) ToClusterSSHPtrOutput() ClusterSSHPtrOutput { + return i.ToClusterSSHPtrOutputWithContext(context.Background()) } -func (i ClusterEtcdExternalClusterArgs) ToClusterEtcdExternalClusterPtrOutputWithContext(ctx context.Context) ClusterEtcdExternalClusterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterEtcdExternalClusterOutput).ToClusterEtcdExternalClusterPtrOutputWithContext(ctx) +func (i ClusterSSHArgs) ToClusterSSHPtrOutputWithContext(ctx context.Context) ClusterSSHPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterSSHOutput).ToClusterSSHPtrOutputWithContext(ctx) } -// ClusterEtcdExternalClusterPtrInput is an input type that accepts ClusterEtcdExternalClusterArgs, ClusterEtcdExternalClusterPtr and ClusterEtcdExternalClusterPtrOutput values. -// You can construct a concrete instance of `ClusterEtcdExternalClusterPtrInput` via: +// ClusterSSHPtrInput is an input type that accepts ClusterSSHArgs, ClusterSSHPtr and ClusterSSHPtrOutput values. +// You can construct a concrete instance of `ClusterSSHPtrInput` via: // -// ClusterEtcdExternalClusterArgs{...} +// ClusterSSHArgs{...} // // or: // // nil -type ClusterEtcdExternalClusterPtrInput interface { +type ClusterSSHPtrInput interface { pulumi.Input - ToClusterEtcdExternalClusterPtrOutput() ClusterEtcdExternalClusterPtrOutput - ToClusterEtcdExternalClusterPtrOutputWithContext(context.Context) ClusterEtcdExternalClusterPtrOutput + ToClusterSSHPtrOutput() ClusterSSHPtrOutput + ToClusterSSHPtrOutputWithContext(context.Context) ClusterSSHPtrOutput } -type clusterEtcdExternalClusterPtrType ClusterEtcdExternalClusterArgs +type clusterSSHPtrType ClusterSSHArgs -func ClusterEtcdExternalClusterPtr(v *ClusterEtcdExternalClusterArgs) ClusterEtcdExternalClusterPtrInput { - return (*clusterEtcdExternalClusterPtrType)(v) +func ClusterSSHPtr(v *ClusterSSHArgs) ClusterSSHPtrInput { + return (*clusterSSHPtrType)(v) } -func (*clusterEtcdExternalClusterPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterEtcdExternalCluster)(nil)).Elem() +func (*clusterSSHPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterSSH)(nil)).Elem() } -func (i *clusterEtcdExternalClusterPtrType) ToClusterEtcdExternalClusterPtrOutput() ClusterEtcdExternalClusterPtrOutput { - return i.ToClusterEtcdExternalClusterPtrOutputWithContext(context.Background()) +func (i *clusterSSHPtrType) ToClusterSSHPtrOutput() ClusterSSHPtrOutput { + return i.ToClusterSSHPtrOutputWithContext(context.Background()) } -func (i *clusterEtcdExternalClusterPtrType) ToClusterEtcdExternalClusterPtrOutputWithContext(ctx context.Context) ClusterEtcdExternalClusterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterEtcdExternalClusterPtrOutput) +func (i *clusterSSHPtrType) ToClusterSSHPtrOutputWithContext(ctx context.Context) ClusterSSHPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterSSHPtrOutput) } -type ClusterEtcdExternalClusterOutput struct{ *pulumi.OutputState } +type ClusterSSHOutput struct{ *pulumi.OutputState } -func (ClusterEtcdExternalClusterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterEtcdExternalCluster)(nil)).Elem() +func (ClusterSSHOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterSSH)(nil)).Elem() } -func (o ClusterEtcdExternalClusterOutput) ToClusterEtcdExternalClusterOutput() ClusterEtcdExternalClusterOutput { +func (o ClusterSSHOutput) ToClusterSSHOutput() ClusterSSHOutput { return o } -func (o ClusterEtcdExternalClusterOutput) ToClusterEtcdExternalClusterOutputWithContext(ctx context.Context) ClusterEtcdExternalClusterOutput { +func (o ClusterSSHOutput) ToClusterSSHOutputWithContext(ctx context.Context) ClusterSSHOutput { return o } -func (o ClusterEtcdExternalClusterOutput) ToClusterEtcdExternalClusterPtrOutput() ClusterEtcdExternalClusterPtrOutput { - return o.ToClusterEtcdExternalClusterPtrOutputWithContext(context.Background()) +func (o ClusterSSHOutput) ToClusterSSHPtrOutput() ClusterSSHPtrOutput { + return o.ToClusterSSHPtrOutputWithContext(context.Background()) } -func (o ClusterEtcdExternalClusterOutput) ToClusterEtcdExternalClusterPtrOutputWithContext(ctx context.Context) ClusterEtcdExternalClusterPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterEtcdExternalCluster) *ClusterEtcdExternalCluster { +func (o ClusterSSHOutput) ToClusterSSHPtrOutputWithContext(ctx context.Context) ClusterSSHPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterSSH) *ClusterSSH { return &v - }).(ClusterEtcdExternalClusterPtrOutput) + }).(ClusterSSHPtrOutput) +} + +func (o ClusterSSHOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v ClusterSSH) string { return v.Address }).(pulumi.StringOutput) } -func (o ClusterEtcdExternalClusterOutput) Ca() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterEtcdExternalCluster) *string { return v.Ca }).(pulumi.StringPtrOutput) +func (o ClusterSSHOutput) Bastion() ClusterSSHPtrOutput { + return o.ApplyT(func(v ClusterSSH) *ClusterSSH { return v.Bastion }).(ClusterSSHPtrOutput) } -func (o ClusterEtcdExternalClusterOutput) ClientCert() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterEtcdExternalCluster) *string { return v.ClientCert }).(pulumi.StringPtrOutput) +func (o ClusterSSHOutput) HostKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterSSH) *string { return v.HostKey }).(pulumi.StringPtrOutput) } -func (o ClusterEtcdExternalClusterOutput) ClientKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterEtcdExternalCluster) *string { return v.ClientKey }).(pulumi.StringPtrOutput) +func (o ClusterSSHOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterSSH) *string { return v.Key }).(pulumi.StringPtrOutput) } -func (o ClusterEtcdExternalClusterOutput) Endpoints() pulumi.StringArrayOutput { - return o.ApplyT(func(v ClusterEtcdExternalCluster) []string { return v.Endpoints }).(pulumi.StringArrayOutput) +func (o ClusterSSHOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterSSH) *int { return v.Port }).(pulumi.IntPtrOutput) } -func (o ClusterEtcdExternalClusterOutput) EtcdPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterEtcdExternalCluster) *string { return v.EtcdPrefix }).(pulumi.StringPtrOutput) +func (o ClusterSSHOutput) User() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterSSH) *string { return v.User }).(pulumi.StringPtrOutput) } -type ClusterEtcdExternalClusterPtrOutput struct{ *pulumi.OutputState } +type ClusterSSHPtrOutput struct{ *pulumi.OutputState } -func (ClusterEtcdExternalClusterPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterEtcdExternalCluster)(nil)).Elem() +func (ClusterSSHPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterSSH)(nil)).Elem() } -func (o ClusterEtcdExternalClusterPtrOutput) ToClusterEtcdExternalClusterPtrOutput() ClusterEtcdExternalClusterPtrOutput { +func (o ClusterSSHPtrOutput) ToClusterSSHPtrOutput() ClusterSSHPtrOutput { return o } -func (o ClusterEtcdExternalClusterPtrOutput) ToClusterEtcdExternalClusterPtrOutputWithContext(ctx context.Context) ClusterEtcdExternalClusterPtrOutput { +func (o ClusterSSHPtrOutput) ToClusterSSHPtrOutputWithContext(ctx context.Context) ClusterSSHPtrOutput { return o } -func (o ClusterEtcdExternalClusterPtrOutput) Elem() ClusterEtcdExternalClusterOutput { - return o.ApplyT(func(v *ClusterEtcdExternalCluster) ClusterEtcdExternalCluster { +func (o ClusterSSHPtrOutput) Elem() ClusterSSHOutput { + return o.ApplyT(func(v *ClusterSSH) ClusterSSH { if v != nil { return *v } - var ret ClusterEtcdExternalCluster + var ret ClusterSSH return ret - }).(ClusterEtcdExternalClusterOutput) + }).(ClusterSSHOutput) } -func (o ClusterEtcdExternalClusterPtrOutput) Ca() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterEtcdExternalCluster) *string { +func (o ClusterSSHPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterSSH) *string { if v == nil { return nil } - return v.Ca + return &v.Address }).(pulumi.StringPtrOutput) } -func (o ClusterEtcdExternalClusterPtrOutput) ClientCert() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterEtcdExternalCluster) *string { +func (o ClusterSSHPtrOutput) Bastion() ClusterSSHPtrOutput { + return o.ApplyT(func(v *ClusterSSH) *ClusterSSH { if v == nil { return nil } - return v.ClientCert + return v.Bastion + }).(ClusterSSHPtrOutput) +} + +func (o ClusterSSHPtrOutput) HostKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterSSH) *string { + if v == nil { + return nil + } + return v.HostKey }).(pulumi.StringPtrOutput) } -func (o ClusterEtcdExternalClusterPtrOutput) ClientKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterEtcdExternalCluster) *string { +func (o ClusterSSHPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterSSH) *string { if v == nil { return nil } - return v.ClientKey + return v.Key }).(pulumi.StringPtrOutput) } -func (o ClusterEtcdExternalClusterPtrOutput) Endpoints() pulumi.StringArrayOutput { - return o.ApplyT(func(v *ClusterEtcdExternalCluster) []string { +func (o ClusterSSHPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ClusterSSH) *int { if v == nil { return nil } - return v.Endpoints - }).(pulumi.StringArrayOutput) + return v.Port + }).(pulumi.IntPtrOutput) } -func (o ClusterEtcdExternalClusterPtrOutput) EtcdPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterEtcdExternalCluster) *string { +func (o ClusterSSHPtrOutput) User() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterSSH) *string { if v == nil { return nil } - return v.EtcdPrefix + return v.User }).(pulumi.StringPtrOutput) } -type ClusterFeatureGate struct { - Components []string `pulumi:"components"` - Enabled *bool `pulumi:"enabled"` - Name string `pulumi:"name"` +type ClusterSpec struct { + Hosts []ClusterHost `pulumi:"hosts"` + K0s *ClusterK0s `pulumi:"k0s"` } -// ClusterFeatureGateInput is an input type that accepts ClusterFeatureGateArgs and ClusterFeatureGateOutput values. -// You can construct a concrete instance of `ClusterFeatureGateInput` via: +// ClusterSpecInput is an input type that accepts ClusterSpecArgs and ClusterSpecOutput values. +// You can construct a concrete instance of `ClusterSpecInput` via: // -// ClusterFeatureGateArgs{...} -type ClusterFeatureGateInput interface { +// ClusterSpecArgs{...} +type ClusterSpecInput interface { pulumi.Input - ToClusterFeatureGateOutput() ClusterFeatureGateOutput - ToClusterFeatureGateOutputWithContext(context.Context) ClusterFeatureGateOutput + ToClusterSpecOutput() ClusterSpecOutput + ToClusterSpecOutputWithContext(context.Context) ClusterSpecOutput } -type ClusterFeatureGateArgs struct { - Components pulumi.StringArrayInput `pulumi:"components"` - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - Name pulumi.StringInput `pulumi:"name"` +type ClusterSpecArgs struct { + Hosts ClusterHostArrayInput `pulumi:"hosts"` + K0s ClusterK0sPtrInput `pulumi:"k0s"` +} + +func (ClusterSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterSpec)(nil)).Elem() +} + +func (i ClusterSpecArgs) ToClusterSpecOutput() ClusterSpecOutput { + return i.ToClusterSpecOutputWithContext(context.Background()) } -func (ClusterFeatureGateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterFeatureGate)(nil)).Elem() +func (i ClusterSpecArgs) ToClusterSpecOutputWithContext(ctx context.Context) ClusterSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterSpecOutput) } -func (i ClusterFeatureGateArgs) ToClusterFeatureGateOutput() ClusterFeatureGateOutput { - return i.ToClusterFeatureGateOutputWithContext(context.Background()) +func (i ClusterSpecArgs) ToClusterSpecPtrOutput() ClusterSpecPtrOutput { + return i.ToClusterSpecPtrOutputWithContext(context.Background()) } -func (i ClusterFeatureGateArgs) ToClusterFeatureGateOutputWithContext(ctx context.Context) ClusterFeatureGateOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterFeatureGateOutput) +func (i ClusterSpecArgs) ToClusterSpecPtrOutputWithContext(ctx context.Context) ClusterSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterSpecOutput).ToClusterSpecPtrOutputWithContext(ctx) } -// ClusterFeatureGateArrayInput is an input type that accepts ClusterFeatureGateArray and ClusterFeatureGateArrayOutput values. -// You can construct a concrete instance of `ClusterFeatureGateArrayInput` via: +// ClusterSpecPtrInput is an input type that accepts ClusterSpecArgs, ClusterSpecPtr and ClusterSpecPtrOutput values. +// You can construct a concrete instance of `ClusterSpecPtrInput` via: +// +// ClusterSpecArgs{...} // -// ClusterFeatureGateArray{ ClusterFeatureGateArgs{...} } -type ClusterFeatureGateArrayInput interface { +// or: +// +// nil +type ClusterSpecPtrInput interface { pulumi.Input - ToClusterFeatureGateArrayOutput() ClusterFeatureGateArrayOutput - ToClusterFeatureGateArrayOutputWithContext(context.Context) ClusterFeatureGateArrayOutput + ToClusterSpecPtrOutput() ClusterSpecPtrOutput + ToClusterSpecPtrOutputWithContext(context.Context) ClusterSpecPtrOutput } -type ClusterFeatureGateArray []ClusterFeatureGateInput +type clusterSpecPtrType ClusterSpecArgs + +func ClusterSpecPtr(v *ClusterSpecArgs) ClusterSpecPtrInput { + return (*clusterSpecPtrType)(v) +} -func (ClusterFeatureGateArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ClusterFeatureGate)(nil)).Elem() +func (*clusterSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterSpec)(nil)).Elem() } -func (i ClusterFeatureGateArray) ToClusterFeatureGateArrayOutput() ClusterFeatureGateArrayOutput { - return i.ToClusterFeatureGateArrayOutputWithContext(context.Background()) +func (i *clusterSpecPtrType) ToClusterSpecPtrOutput() ClusterSpecPtrOutput { + return i.ToClusterSpecPtrOutputWithContext(context.Background()) } -func (i ClusterFeatureGateArray) ToClusterFeatureGateArrayOutputWithContext(ctx context.Context) ClusterFeatureGateArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterFeatureGateArrayOutput) +func (i *clusterSpecPtrType) ToClusterSpecPtrOutputWithContext(ctx context.Context) ClusterSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterSpecPtrOutput) } -type ClusterFeatureGateOutput struct{ *pulumi.OutputState } +type ClusterSpecOutput struct{ *pulumi.OutputState } -func (ClusterFeatureGateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterFeatureGate)(nil)).Elem() +func (ClusterSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterSpec)(nil)).Elem() } -func (o ClusterFeatureGateOutput) ToClusterFeatureGateOutput() ClusterFeatureGateOutput { +func (o ClusterSpecOutput) ToClusterSpecOutput() ClusterSpecOutput { return o } -func (o ClusterFeatureGateOutput) ToClusterFeatureGateOutputWithContext(ctx context.Context) ClusterFeatureGateOutput { +func (o ClusterSpecOutput) ToClusterSpecOutputWithContext(ctx context.Context) ClusterSpecOutput { return o } -func (o ClusterFeatureGateOutput) Components() pulumi.StringArrayOutput { - return o.ApplyT(func(v ClusterFeatureGate) []string { return v.Components }).(pulumi.StringArrayOutput) +func (o ClusterSpecOutput) ToClusterSpecPtrOutput() ClusterSpecPtrOutput { + return o.ToClusterSpecPtrOutputWithContext(context.Background()) +} + +func (o ClusterSpecOutput) ToClusterSpecPtrOutputWithContext(ctx context.Context) ClusterSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterSpec) *ClusterSpec { + return &v + }).(ClusterSpecPtrOutput) } -func (o ClusterFeatureGateOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterFeatureGate) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +func (o ClusterSpecOutput) Hosts() ClusterHostArrayOutput { + return o.ApplyT(func(v ClusterSpec) []ClusterHost { return v.Hosts }).(ClusterHostArrayOutput) } -func (o ClusterFeatureGateOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v ClusterFeatureGate) string { return v.Name }).(pulumi.StringOutput) +func (o ClusterSpecOutput) K0s() ClusterK0sPtrOutput { + return o.ApplyT(func(v ClusterSpec) *ClusterK0s { return v.K0s }).(ClusterK0sPtrOutput) } -type ClusterFeatureGateArrayOutput struct{ *pulumi.OutputState } +type ClusterSpecPtrOutput struct{ *pulumi.OutputState } -func (ClusterFeatureGateArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ClusterFeatureGate)(nil)).Elem() +func (ClusterSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterSpec)(nil)).Elem() } -func (o ClusterFeatureGateArrayOutput) ToClusterFeatureGateArrayOutput() ClusterFeatureGateArrayOutput { +func (o ClusterSpecPtrOutput) ToClusterSpecPtrOutput() ClusterSpecPtrOutput { return o } -func (o ClusterFeatureGateArrayOutput) ToClusterFeatureGateArrayOutputWithContext(ctx context.Context) ClusterFeatureGateArrayOutput { +func (o ClusterSpecPtrOutput) ToClusterSpecPtrOutputWithContext(ctx context.Context) ClusterSpecPtrOutput { return o } -func (o ClusterFeatureGateArrayOutput) Index(i pulumi.IntInput) ClusterFeatureGateOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterFeatureGate { - return vs[0].([]ClusterFeatureGate)[vs[1].(int)] - }).(ClusterFeatureGateOutput) +func (o ClusterSpecPtrOutput) Elem() ClusterSpecOutput { + return o.ApplyT(func(v *ClusterSpec) ClusterSpec { + if v != nil { + return *v + } + var ret ClusterSpec + return ret + }).(ClusterSpecOutput) } -type ClusterFile struct { - DirPerm *string `pulumi:"dirPerm"` - Dst *string `pulumi:"dst"` - DstDir *string `pulumi:"dstDir"` - Group *string `pulumi:"group"` - Name *string `pulumi:"name"` - Perm *string `pulumi:"perm"` - Src *string `pulumi:"src"` - User *string `pulumi:"user"` +func (o ClusterSpecPtrOutput) Hosts() ClusterHostArrayOutput { + return o.ApplyT(func(v *ClusterSpec) []ClusterHost { + if v == nil { + return nil + } + return v.Hosts + }).(ClusterHostArrayOutput) } -// ClusterFileInput is an input type that accepts ClusterFileArgs and ClusterFileOutput values. -// You can construct a concrete instance of `ClusterFileInput` via: -// -// ClusterFileArgs{...} -type ClusterFileInput interface { - pulumi.Input - - ToClusterFileOutput() ClusterFileOutput - ToClusterFileOutputWithContext(context.Context) ClusterFileOutput -} - -type ClusterFileArgs struct { - DirPerm pulumi.StringPtrInput `pulumi:"dirPerm"` - Dst pulumi.StringPtrInput `pulumi:"dst"` - DstDir pulumi.StringPtrInput `pulumi:"dstDir"` - Group pulumi.StringPtrInput `pulumi:"group"` - Name pulumi.StringPtrInput `pulumi:"name"` - Perm pulumi.StringPtrInput `pulumi:"perm"` - Src pulumi.StringPtrInput `pulumi:"src"` - User pulumi.StringPtrInput `pulumi:"user"` -} - -func (ClusterFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterFile)(nil)).Elem() -} - -func (i ClusterFileArgs) ToClusterFileOutput() ClusterFileOutput { - return i.ToClusterFileOutputWithContext(context.Background()) +func (o ClusterSpecPtrOutput) K0s() ClusterK0sPtrOutput { + return o.ApplyT(func(v *ClusterSpec) *ClusterK0s { + if v == nil { + return nil + } + return v.K0s + }).(ClusterK0sPtrOutput) } -func (i ClusterFileArgs) ToClusterFileOutputWithContext(ctx context.Context) ClusterFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterFileOutput) +type ClusterWinRM struct { + Address string `pulumi:"address"` + Bastion *ClusterSSH `pulumi:"bastion"` + CaCert *string `pulumi:"caCert"` + Cert *string `pulumi:"cert"` + Insecure *bool `pulumi:"insecure"` + Key *string `pulumi:"key"` + Password *string `pulumi:"password"` + Port *int `pulumi:"port"` + TlsServerName *string `pulumi:"tlsServerName"` + UseHTTPS *bool `pulumi:"useHTTPS"` + UseNTLM *bool `pulumi:"useNTLM"` + User *string `pulumi:"user"` } -// ClusterFileArrayInput is an input type that accepts ClusterFileArray and ClusterFileArrayOutput values. -// You can construct a concrete instance of `ClusterFileArrayInput` via: +// ClusterWinRMInput is an input type that accepts ClusterWinRMArgs and ClusterWinRMOutput values. +// You can construct a concrete instance of `ClusterWinRMInput` via: // -// ClusterFileArray{ ClusterFileArgs{...} } -type ClusterFileArrayInput interface { +// ClusterWinRMArgs{...} +type ClusterWinRMInput interface { pulumi.Input - ToClusterFileArrayOutput() ClusterFileArrayOutput - ToClusterFileArrayOutputWithContext(context.Context) ClusterFileArrayOutput -} - -type ClusterFileArray []ClusterFileInput - -func (ClusterFileArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ClusterFile)(nil)).Elem() + ToClusterWinRMOutput() ClusterWinRMOutput + ToClusterWinRMOutputWithContext(context.Context) ClusterWinRMOutput } -func (i ClusterFileArray) ToClusterFileArrayOutput() ClusterFileArrayOutput { - return i.ToClusterFileArrayOutputWithContext(context.Background()) +type ClusterWinRMArgs struct { + Address pulumi.StringInput `pulumi:"address"` + Bastion ClusterSSHPtrInput `pulumi:"bastion"` + CaCert pulumi.StringPtrInput `pulumi:"caCert"` + Cert pulumi.StringPtrInput `pulumi:"cert"` + Insecure pulumi.BoolPtrInput `pulumi:"insecure"` + Key pulumi.StringPtrInput `pulumi:"key"` + Password pulumi.StringPtrInput `pulumi:"password"` + Port pulumi.IntPtrInput `pulumi:"port"` + TlsServerName pulumi.StringPtrInput `pulumi:"tlsServerName"` + UseHTTPS pulumi.BoolPtrInput `pulumi:"useHTTPS"` + UseNTLM pulumi.BoolPtrInput `pulumi:"useNTLM"` + User pulumi.StringPtrInput `pulumi:"user"` } -func (i ClusterFileArray) ToClusterFileArrayOutputWithContext(ctx context.Context) ClusterFileArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterFileArrayOutput) +func (ClusterWinRMArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterWinRM)(nil)).Elem() } -type ClusterFileOutput struct{ *pulumi.OutputState } - -func (ClusterFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterFile)(nil)).Elem() +func (i ClusterWinRMArgs) ToClusterWinRMOutput() ClusterWinRMOutput { + return i.ToClusterWinRMOutputWithContext(context.Background()) } -func (o ClusterFileOutput) ToClusterFileOutput() ClusterFileOutput { - return o +func (i ClusterWinRMArgs) ToClusterWinRMOutputWithContext(ctx context.Context) ClusterWinRMOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterWinRMOutput) } -func (o ClusterFileOutput) ToClusterFileOutputWithContext(ctx context.Context) ClusterFileOutput { - return o +func (i ClusterWinRMArgs) ToClusterWinRMPtrOutput() ClusterWinRMPtrOutput { + return i.ToClusterWinRMPtrOutputWithContext(context.Background()) } -func (o ClusterFileOutput) DirPerm() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterFile) *string { return v.DirPerm }).(pulumi.StringPtrOutput) +func (i ClusterWinRMArgs) ToClusterWinRMPtrOutputWithContext(ctx context.Context) ClusterWinRMPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterWinRMOutput).ToClusterWinRMPtrOutputWithContext(ctx) } -func (o ClusterFileOutput) Dst() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterFile) *string { return v.Dst }).(pulumi.StringPtrOutput) -} +// ClusterWinRMPtrInput is an input type that accepts ClusterWinRMArgs, ClusterWinRMPtr and ClusterWinRMPtrOutput values. +// You can construct a concrete instance of `ClusterWinRMPtrInput` via: +// +// ClusterWinRMArgs{...} +// +// or: +// +// nil +type ClusterWinRMPtrInput interface { + pulumi.Input -func (o ClusterFileOutput) DstDir() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterFile) *string { return v.DstDir }).(pulumi.StringPtrOutput) + ToClusterWinRMPtrOutput() ClusterWinRMPtrOutput + ToClusterWinRMPtrOutputWithContext(context.Context) ClusterWinRMPtrOutput } -func (o ClusterFileOutput) Group() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterFile) *string { return v.Group }).(pulumi.StringPtrOutput) -} +type clusterWinRMPtrType ClusterWinRMArgs -func (o ClusterFileOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterFile) *string { return v.Name }).(pulumi.StringPtrOutput) +func ClusterWinRMPtr(v *ClusterWinRMArgs) ClusterWinRMPtrInput { + return (*clusterWinRMPtrType)(v) } -func (o ClusterFileOutput) Perm() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterFile) *string { return v.Perm }).(pulumi.StringPtrOutput) +func (*clusterWinRMPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterWinRM)(nil)).Elem() } -func (o ClusterFileOutput) Src() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterFile) *string { return v.Src }).(pulumi.StringPtrOutput) +func (i *clusterWinRMPtrType) ToClusterWinRMPtrOutput() ClusterWinRMPtrOutput { + return i.ToClusterWinRMPtrOutputWithContext(context.Background()) } -func (o ClusterFileOutput) User() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterFile) *string { return v.User }).(pulumi.StringPtrOutput) +func (i *clusterWinRMPtrType) ToClusterWinRMPtrOutputWithContext(ctx context.Context) ClusterWinRMPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterWinRMPtrOutput) } -type ClusterFileArrayOutput struct{ *pulumi.OutputState } +type ClusterWinRMOutput struct{ *pulumi.OutputState } -func (ClusterFileArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ClusterFile)(nil)).Elem() +func (ClusterWinRMOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterWinRM)(nil)).Elem() } -func (o ClusterFileArrayOutput) ToClusterFileArrayOutput() ClusterFileArrayOutput { +func (o ClusterWinRMOutput) ToClusterWinRMOutput() ClusterWinRMOutput { return o } -func (o ClusterFileArrayOutput) ToClusterFileArrayOutputWithContext(ctx context.Context) ClusterFileArrayOutput { +func (o ClusterWinRMOutput) ToClusterWinRMOutputWithContext(ctx context.Context) ClusterWinRMOutput { return o } -func (o ClusterFileArrayOutput) Index(i pulumi.IntInput) ClusterFileOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterFile { - return vs[0].([]ClusterFile)[vs[1].(int)] - }).(ClusterFileOutput) +func (o ClusterWinRMOutput) ToClusterWinRMPtrOutput() ClusterWinRMPtrOutput { + return o.ToClusterWinRMPtrOutputWithContext(context.Background()) } -type ClusterHook struct { - After []string `pulumi:"after"` - Before []string `pulumi:"before"` +func (o ClusterWinRMOutput) ToClusterWinRMPtrOutputWithContext(ctx context.Context) ClusterWinRMPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterWinRM) *ClusterWinRM { + return &v + }).(ClusterWinRMPtrOutput) } -// ClusterHookInput is an input type that accepts ClusterHookArgs and ClusterHookOutput values. -// You can construct a concrete instance of `ClusterHookInput` via: -// -// ClusterHookArgs{...} -type ClusterHookInput interface { - pulumi.Input - - ToClusterHookOutput() ClusterHookOutput - ToClusterHookOutputWithContext(context.Context) ClusterHookOutput +func (o ClusterWinRMOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v ClusterWinRM) string { return v.Address }).(pulumi.StringOutput) } -type ClusterHookArgs struct { - After pulumi.StringArrayInput `pulumi:"after"` - Before pulumi.StringArrayInput `pulumi:"before"` +func (o ClusterWinRMOutput) Bastion() ClusterSSHPtrOutput { + return o.ApplyT(func(v ClusterWinRM) *ClusterSSH { return v.Bastion }).(ClusterSSHPtrOutput) } -func (ClusterHookArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterHook)(nil)).Elem() +func (o ClusterWinRMOutput) CaCert() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterWinRM) *string { return v.CaCert }).(pulumi.StringPtrOutput) } -func (i ClusterHookArgs) ToClusterHookOutput() ClusterHookOutput { - return i.ToClusterHookOutputWithContext(context.Background()) +func (o ClusterWinRMOutput) Cert() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterWinRM) *string { return v.Cert }).(pulumi.StringPtrOutput) } -func (i ClusterHookArgs) ToClusterHookOutputWithContext(ctx context.Context) ClusterHookOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterHookOutput) +func (o ClusterWinRMOutput) Insecure() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterWinRM) *bool { return v.Insecure }).(pulumi.BoolPtrOutput) } -func (i ClusterHookArgs) ToClusterHookPtrOutput() ClusterHookPtrOutput { - return i.ToClusterHookPtrOutputWithContext(context.Background()) +func (o ClusterWinRMOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterWinRM) *string { return v.Key }).(pulumi.StringPtrOutput) } -func (i ClusterHookArgs) ToClusterHookPtrOutputWithContext(ctx context.Context) ClusterHookPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterHookOutput).ToClusterHookPtrOutputWithContext(ctx) +func (o ClusterWinRMOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterWinRM) *string { return v.Password }).(pulumi.StringPtrOutput) } -// ClusterHookPtrInput is an input type that accepts ClusterHookArgs, ClusterHookPtr and ClusterHookPtrOutput values. -// You can construct a concrete instance of `ClusterHookPtrInput` via: -// -// ClusterHookArgs{...} -// -// or: -// -// nil -type ClusterHookPtrInput interface { - pulumi.Input - - ToClusterHookPtrOutput() ClusterHookPtrOutput - ToClusterHookPtrOutputWithContext(context.Context) ClusterHookPtrOutput +func (o ClusterWinRMOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterWinRM) *int { return v.Port }).(pulumi.IntPtrOutput) } -type clusterHookPtrType ClusterHookArgs - -func ClusterHookPtr(v *ClusterHookArgs) ClusterHookPtrInput { - return (*clusterHookPtrType)(v) +func (o ClusterWinRMOutput) TlsServerName() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterWinRM) *string { return v.TlsServerName }).(pulumi.StringPtrOutput) } -func (*clusterHookPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterHook)(nil)).Elem() +func (o ClusterWinRMOutput) UseHTTPS() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterWinRM) *bool { return v.UseHTTPS }).(pulumi.BoolPtrOutput) } -func (i *clusterHookPtrType) ToClusterHookPtrOutput() ClusterHookPtrOutput { - return i.ToClusterHookPtrOutputWithContext(context.Background()) +func (o ClusterWinRMOutput) UseNTLM() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterWinRM) *bool { return v.UseNTLM }).(pulumi.BoolPtrOutput) } -func (i *clusterHookPtrType) ToClusterHookPtrOutputWithContext(ctx context.Context) ClusterHookPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterHookPtrOutput) +func (o ClusterWinRMOutput) User() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterWinRM) *string { return v.User }).(pulumi.StringPtrOutput) } -type ClusterHookOutput struct{ *pulumi.OutputState } +type ClusterWinRMPtrOutput struct{ *pulumi.OutputState } -func (ClusterHookOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterHook)(nil)).Elem() +func (ClusterWinRMPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterWinRM)(nil)).Elem() } -func (o ClusterHookOutput) ToClusterHookOutput() ClusterHookOutput { +func (o ClusterWinRMPtrOutput) ToClusterWinRMPtrOutput() ClusterWinRMPtrOutput { return o } -func (o ClusterHookOutput) ToClusterHookOutputWithContext(ctx context.Context) ClusterHookOutput { +func (o ClusterWinRMPtrOutput) ToClusterWinRMPtrOutputWithContext(ctx context.Context) ClusterWinRMPtrOutput { return o } -func (o ClusterHookOutput) ToClusterHookPtrOutput() ClusterHookPtrOutput { - return o.ToClusterHookPtrOutputWithContext(context.Background()) +func (o ClusterWinRMPtrOutput) Elem() ClusterWinRMOutput { + return o.ApplyT(func(v *ClusterWinRM) ClusterWinRM { + if v != nil { + return *v + } + var ret ClusterWinRM + return ret + }).(ClusterWinRMOutput) } -func (o ClusterHookOutput) ToClusterHookPtrOutputWithContext(ctx context.Context) ClusterHookPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterHook) *ClusterHook { - return &v - }).(ClusterHookPtrOutput) +func (o ClusterWinRMPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterWinRM) *string { + if v == nil { + return nil + } + return &v.Address + }).(pulumi.StringPtrOutput) } -func (o ClusterHookOutput) After() pulumi.StringArrayOutput { - return o.ApplyT(func(v ClusterHook) []string { return v.After }).(pulumi.StringArrayOutput) +func (o ClusterWinRMPtrOutput) Bastion() ClusterSSHPtrOutput { + return o.ApplyT(func(v *ClusterWinRM) *ClusterSSH { + if v == nil { + return nil + } + return v.Bastion + }).(ClusterSSHPtrOutput) } -func (o ClusterHookOutput) Before() pulumi.StringArrayOutput { - return o.ApplyT(func(v ClusterHook) []string { return v.Before }).(pulumi.StringArrayOutput) +func (o ClusterWinRMPtrOutput) CaCert() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterWinRM) *string { + if v == nil { + return nil + } + return v.CaCert + }).(pulumi.StringPtrOutput) } -type ClusterHookPtrOutput struct{ *pulumi.OutputState } +func (o ClusterWinRMPtrOutput) Cert() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterWinRM) *string { + if v == nil { + return nil + } + return v.Cert + }).(pulumi.StringPtrOutput) +} -func (ClusterHookPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterHook)(nil)).Elem() +func (o ClusterWinRMPtrOutput) Insecure() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterWinRM) *bool { + if v == nil { + return nil + } + return v.Insecure + }).(pulumi.BoolPtrOutput) } -func (o ClusterHookPtrOutput) ToClusterHookPtrOutput() ClusterHookPtrOutput { - return o +func (o ClusterWinRMPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterWinRM) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) } -func (o ClusterHookPtrOutput) ToClusterHookPtrOutputWithContext(ctx context.Context) ClusterHookPtrOutput { - return o +func (o ClusterWinRMPtrOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterWinRM) *string { + if v == nil { + return nil + } + return v.Password + }).(pulumi.StringPtrOutput) } -func (o ClusterHookPtrOutput) Elem() ClusterHookOutput { - return o.ApplyT(func(v *ClusterHook) ClusterHook { - if v != nil { - return *v +func (o ClusterWinRMPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ClusterWinRM) *int { + if v == nil { + return nil } - var ret ClusterHook - return ret - }).(ClusterHookOutput) + return v.Port + }).(pulumi.IntPtrOutput) } -func (o ClusterHookPtrOutput) After() pulumi.StringArrayOutput { - return o.ApplyT(func(v *ClusterHook) []string { +func (o ClusterWinRMPtrOutput) TlsServerName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterWinRM) *string { if v == nil { return nil } - return v.After - }).(pulumi.StringArrayOutput) + return v.TlsServerName + }).(pulumi.StringPtrOutput) } -func (o ClusterHookPtrOutput) Before() pulumi.StringArrayOutput { - return o.ApplyT(func(v *ClusterHook) []string { +func (o ClusterWinRMPtrOutput) UseHTTPS() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterWinRM) *bool { if v == nil { return nil } - return v.Before - }).(pulumi.StringArrayOutput) + return v.UseHTTPS + }).(pulumi.BoolPtrOutput) } -type ClusterHooks struct { - Apply *ClusterHook `pulumi:"apply"` - Backup *ClusterHook `pulumi:"backup"` - Reset *ClusterHook `pulumi:"reset"` +func (o ClusterWinRMPtrOutput) UseNTLM() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterWinRM) *bool { + if v == nil { + return nil + } + return v.UseNTLM + }).(pulumi.BoolPtrOutput) } -// ClusterHooksInput is an input type that accepts ClusterHooksArgs and ClusterHooksOutput values. -// You can construct a concrete instance of `ClusterHooksInput` via: +func (o ClusterWinRMPtrOutput) User() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterWinRM) *string { + if v == nil { + return nil + } + return v.User + }).(pulumi.StringPtrOutput) +} + +type K0s struct { + ApiVersion *string `pulumi:"apiVersion"` + Kind *string `pulumi:"kind"` + Metadata *K0sMetadata `pulumi:"metadata"` + Spec *K0sSpec `pulumi:"spec"` +} + +// K0sInput is an input type that accepts K0sArgs and K0sOutput values. +// You can construct a concrete instance of `K0sInput` via: // -// ClusterHooksArgs{...} -type ClusterHooksInput interface { +// K0sArgs{...} +type K0sInput interface { pulumi.Input - ToClusterHooksOutput() ClusterHooksOutput - ToClusterHooksOutputWithContext(context.Context) ClusterHooksOutput + ToK0sOutput() K0sOutput + ToK0sOutputWithContext(context.Context) K0sOutput } -type ClusterHooksArgs struct { - Apply ClusterHookPtrInput `pulumi:"apply"` - Backup ClusterHookPtrInput `pulumi:"backup"` - Reset ClusterHookPtrInput `pulumi:"reset"` +type K0sArgs struct { + ApiVersion pulumi.StringPtrInput `pulumi:"apiVersion"` + Kind pulumi.StringPtrInput `pulumi:"kind"` + Metadata K0sMetadataPtrInput `pulumi:"metadata"` + Spec K0sSpecPtrInput `pulumi:"spec"` } -func (ClusterHooksArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterHooks)(nil)).Elem() +func (K0sArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0s)(nil)).Elem() } -func (i ClusterHooksArgs) ToClusterHooksOutput() ClusterHooksOutput { - return i.ToClusterHooksOutputWithContext(context.Background()) +func (i K0sArgs) ToK0sOutput() K0sOutput { + return i.ToK0sOutputWithContext(context.Background()) } -func (i ClusterHooksArgs) ToClusterHooksOutputWithContext(ctx context.Context) ClusterHooksOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterHooksOutput) +func (i K0sArgs) ToK0sOutputWithContext(ctx context.Context) K0sOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sOutput) } -func (i ClusterHooksArgs) ToClusterHooksPtrOutput() ClusterHooksPtrOutput { - return i.ToClusterHooksPtrOutputWithContext(context.Background()) +func (i K0sArgs) ToK0sPtrOutput() K0sPtrOutput { + return i.ToK0sPtrOutputWithContext(context.Background()) } -func (i ClusterHooksArgs) ToClusterHooksPtrOutputWithContext(ctx context.Context) ClusterHooksPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterHooksOutput).ToClusterHooksPtrOutputWithContext(ctx) +func (i K0sArgs) ToK0sPtrOutputWithContext(ctx context.Context) K0sPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sOutput).ToK0sPtrOutputWithContext(ctx) } -// ClusterHooksPtrInput is an input type that accepts ClusterHooksArgs, ClusterHooksPtr and ClusterHooksPtrOutput values. -// You can construct a concrete instance of `ClusterHooksPtrInput` via: +// K0sPtrInput is an input type that accepts K0sArgs, K0sPtr and K0sPtrOutput values. +// You can construct a concrete instance of `K0sPtrInput` via: // -// ClusterHooksArgs{...} +// K0sArgs{...} // // or: // // nil -type ClusterHooksPtrInput interface { +type K0sPtrInput interface { pulumi.Input - ToClusterHooksPtrOutput() ClusterHooksPtrOutput - ToClusterHooksPtrOutputWithContext(context.Context) ClusterHooksPtrOutput + ToK0sPtrOutput() K0sPtrOutput + ToK0sPtrOutputWithContext(context.Context) K0sPtrOutput } -type clusterHooksPtrType ClusterHooksArgs +type k0sPtrType K0sArgs -func ClusterHooksPtr(v *ClusterHooksArgs) ClusterHooksPtrInput { - return (*clusterHooksPtrType)(v) +func K0sPtr(v *K0sArgs) K0sPtrInput { + return (*k0sPtrType)(v) } -func (*clusterHooksPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterHooks)(nil)).Elem() +func (*k0sPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0s)(nil)).Elem() } -func (i *clusterHooksPtrType) ToClusterHooksPtrOutput() ClusterHooksPtrOutput { - return i.ToClusterHooksPtrOutputWithContext(context.Background()) +func (i *k0sPtrType) ToK0sPtrOutput() K0sPtrOutput { + return i.ToK0sPtrOutputWithContext(context.Background()) } -func (i *clusterHooksPtrType) ToClusterHooksPtrOutputWithContext(ctx context.Context) ClusterHooksPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterHooksPtrOutput) +func (i *k0sPtrType) ToK0sPtrOutputWithContext(ctx context.Context) K0sPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sPtrOutput) } -type ClusterHooksOutput struct{ *pulumi.OutputState } +type K0sOutput struct{ *pulumi.OutputState } -func (ClusterHooksOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterHooks)(nil)).Elem() +func (K0sOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0s)(nil)).Elem() } -func (o ClusterHooksOutput) ToClusterHooksOutput() ClusterHooksOutput { +func (o K0sOutput) ToK0sOutput() K0sOutput { return o } -func (o ClusterHooksOutput) ToClusterHooksOutputWithContext(ctx context.Context) ClusterHooksOutput { +func (o K0sOutput) ToK0sOutputWithContext(ctx context.Context) K0sOutput { return o } -func (o ClusterHooksOutput) ToClusterHooksPtrOutput() ClusterHooksPtrOutput { - return o.ToClusterHooksPtrOutputWithContext(context.Background()) +func (o K0sOutput) ToK0sPtrOutput() K0sPtrOutput { + return o.ToK0sPtrOutputWithContext(context.Background()) } -func (o ClusterHooksOutput) ToClusterHooksPtrOutputWithContext(ctx context.Context) ClusterHooksPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterHooks) *ClusterHooks { +func (o K0sOutput) ToK0sPtrOutputWithContext(ctx context.Context) K0sPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0s) *K0s { return &v - }).(ClusterHooksPtrOutput) + }).(K0sPtrOutput) } -func (o ClusterHooksOutput) Apply() ClusterHookPtrOutput { - return o.ApplyT(func(v ClusterHooks) *ClusterHook { return v.Apply }).(ClusterHookPtrOutput) +func (o K0sOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0s) *string { return v.ApiVersion }).(pulumi.StringPtrOutput) } -func (o ClusterHooksOutput) Backup() ClusterHookPtrOutput { - return o.ApplyT(func(v ClusterHooks) *ClusterHook { return v.Backup }).(ClusterHookPtrOutput) +func (o K0sOutput) Kind() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0s) *string { return v.Kind }).(pulumi.StringPtrOutput) } -func (o ClusterHooksOutput) Reset() ClusterHookPtrOutput { - return o.ApplyT(func(v ClusterHooks) *ClusterHook { return v.Reset }).(ClusterHookPtrOutput) +func (o K0sOutput) Metadata() K0sMetadataPtrOutput { + return o.ApplyT(func(v K0s) *K0sMetadata { return v.Metadata }).(K0sMetadataPtrOutput) } -type ClusterHooksPtrOutput struct{ *pulumi.OutputState } +func (o K0sOutput) Spec() K0sSpecPtrOutput { + return o.ApplyT(func(v K0s) *K0sSpec { return v.Spec }).(K0sSpecPtrOutput) +} -func (ClusterHooksPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterHooks)(nil)).Elem() +type K0sPtrOutput struct{ *pulumi.OutputState } + +func (K0sPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0s)(nil)).Elem() } -func (o ClusterHooksPtrOutput) ToClusterHooksPtrOutput() ClusterHooksPtrOutput { +func (o K0sPtrOutput) ToK0sPtrOutput() K0sPtrOutput { return o } -func (o ClusterHooksPtrOutput) ToClusterHooksPtrOutputWithContext(ctx context.Context) ClusterHooksPtrOutput { +func (o K0sPtrOutput) ToK0sPtrOutputWithContext(ctx context.Context) K0sPtrOutput { return o } -func (o ClusterHooksPtrOutput) Elem() ClusterHooksOutput { - return o.ApplyT(func(v *ClusterHooks) ClusterHooks { +func (o K0sPtrOutput) Elem() K0sOutput { + return o.ApplyT(func(v *K0s) K0s { if v != nil { return *v } - var ret ClusterHooks + var ret K0s return ret - }).(ClusterHooksOutput) + }).(K0sOutput) } -func (o ClusterHooksPtrOutput) Apply() ClusterHookPtrOutput { - return o.ApplyT(func(v *ClusterHooks) *ClusterHook { +func (o K0sPtrOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0s) *string { if v == nil { return nil } - return v.Apply - }).(ClusterHookPtrOutput) + return v.ApiVersion + }).(pulumi.StringPtrOutput) } -func (o ClusterHooksPtrOutput) Backup() ClusterHookPtrOutput { - return o.ApplyT(func(v *ClusterHooks) *ClusterHook { +func (o K0sPtrOutput) Kind() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0s) *string { if v == nil { return nil } - return v.Backup - }).(ClusterHookPtrOutput) + return v.Kind + }).(pulumi.StringPtrOutput) } -func (o ClusterHooksPtrOutput) Reset() ClusterHookPtrOutput { - return o.ApplyT(func(v *ClusterHooks) *ClusterHook { +func (o K0sPtrOutput) Metadata() K0sMetadataPtrOutput { + return o.ApplyT(func(v *K0s) *K0sMetadata { if v == nil { return nil } - return v.Reset - }).(ClusterHookPtrOutput) + return v.Metadata + }).(K0sMetadataPtrOutput) } -type ClusterHost struct { - Environment map[string]string `pulumi:"environment"` - Files []ClusterFile `pulumi:"files"` - Hooks *ClusterHooks `pulumi:"hooks"` - Hostname *string `pulumi:"hostname"` - InstallFlags []string `pulumi:"installFlags"` - K0sBinaryPath *string `pulumi:"k0sBinaryPath"` - Localhost *ClusterLocalhost `pulumi:"localhost"` - NoTaints *bool `pulumi:"noTaints"` - Os *string `pulumi:"os"` - PrivateAddress *string `pulumi:"privateAddress"` - PrivateInterface *string `pulumi:"privateInterface"` - Role string `pulumi:"role"` - Ssh *ClusterSSH `pulumi:"ssh"` - UploadBinary *bool `pulumi:"uploadBinary"` - WinRM *ClusterWinRM `pulumi:"winRM"` +func (o K0sPtrOutput) Spec() K0sSpecPtrOutput { + return o.ApplyT(func(v *K0s) *K0sSpec { + if v == nil { + return nil + } + return v.Spec + }).(K0sSpecPtrOutput) } -// ClusterHostInput is an input type that accepts ClusterHostArgs and ClusterHostOutput values. -// You can construct a concrete instance of `ClusterHostInput` via: +type K0sAPI struct { + Address *string `pulumi:"address"` + ExternalAddress *string `pulumi:"externalAddress"` + ExtraArgs map[string]string `pulumi:"extraArgs"` + K0sApiPort *int `pulumi:"k0sApiPort"` + Port *int `pulumi:"port"` + Sans []string `pulumi:"sans"` +} + +// K0sAPIInput is an input type that accepts K0sAPIArgs and K0sAPIOutput values. +// You can construct a concrete instance of `K0sAPIInput` via: // -// ClusterHostArgs{...} -type ClusterHostInput interface { +// K0sAPIArgs{...} +type K0sAPIInput interface { pulumi.Input - ToClusterHostOutput() ClusterHostOutput - ToClusterHostOutputWithContext(context.Context) ClusterHostOutput + ToK0sAPIOutput() K0sAPIOutput + ToK0sAPIOutputWithContext(context.Context) K0sAPIOutput } -type ClusterHostArgs struct { - Environment pulumi.StringMapInput `pulumi:"environment"` - Files ClusterFileArrayInput `pulumi:"files"` - Hooks ClusterHooksPtrInput `pulumi:"hooks"` - Hostname pulumi.StringPtrInput `pulumi:"hostname"` - InstallFlags pulumi.StringArrayInput `pulumi:"installFlags"` - K0sBinaryPath pulumi.StringPtrInput `pulumi:"k0sBinaryPath"` - Localhost ClusterLocalhostPtrInput `pulumi:"localhost"` - NoTaints pulumi.BoolPtrInput `pulumi:"noTaints"` - Os pulumi.StringPtrInput `pulumi:"os"` - PrivateAddress pulumi.StringPtrInput `pulumi:"privateAddress"` - PrivateInterface pulumi.StringPtrInput `pulumi:"privateInterface"` - Role pulumi.StringInput `pulumi:"role"` - Ssh ClusterSSHPtrInput `pulumi:"ssh"` - UploadBinary pulumi.BoolPtrInput `pulumi:"uploadBinary"` - WinRM ClusterWinRMPtrInput `pulumi:"winRM"` +type K0sAPIArgs struct { + Address pulumi.StringPtrInput `pulumi:"address"` + ExternalAddress pulumi.StringPtrInput `pulumi:"externalAddress"` + ExtraArgs pulumi.StringMapInput `pulumi:"extraArgs"` + K0sApiPort pulumi.IntPtrInput `pulumi:"k0sApiPort"` + Port pulumi.IntPtrInput `pulumi:"port"` + Sans pulumi.StringArrayInput `pulumi:"sans"` } -func (ClusterHostArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterHost)(nil)).Elem() +func (K0sAPIArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sAPI)(nil)).Elem() } -func (i ClusterHostArgs) ToClusterHostOutput() ClusterHostOutput { - return i.ToClusterHostOutputWithContext(context.Background()) +func (i K0sAPIArgs) ToK0sAPIOutput() K0sAPIOutput { + return i.ToK0sAPIOutputWithContext(context.Background()) } -func (i ClusterHostArgs) ToClusterHostOutputWithContext(ctx context.Context) ClusterHostOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterHostOutput) +func (i K0sAPIArgs) ToK0sAPIOutputWithContext(ctx context.Context) K0sAPIOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sAPIOutput) +} + +func (i K0sAPIArgs) ToK0sAPIPtrOutput() K0sAPIPtrOutput { + return i.ToK0sAPIPtrOutputWithContext(context.Background()) +} + +func (i K0sAPIArgs) ToK0sAPIPtrOutputWithContext(ctx context.Context) K0sAPIPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sAPIOutput).ToK0sAPIPtrOutputWithContext(ctx) } -// ClusterHostArrayInput is an input type that accepts ClusterHostArray and ClusterHostArrayOutput values. -// You can construct a concrete instance of `ClusterHostArrayInput` via: +// K0sAPIPtrInput is an input type that accepts K0sAPIArgs, K0sAPIPtr and K0sAPIPtrOutput values. +// You can construct a concrete instance of `K0sAPIPtrInput` via: // -// ClusterHostArray{ ClusterHostArgs{...} } -type ClusterHostArrayInput interface { +// K0sAPIArgs{...} +// +// or: +// +// nil +type K0sAPIPtrInput interface { pulumi.Input - ToClusterHostArrayOutput() ClusterHostArrayOutput - ToClusterHostArrayOutputWithContext(context.Context) ClusterHostArrayOutput + ToK0sAPIPtrOutput() K0sAPIPtrOutput + ToK0sAPIPtrOutputWithContext(context.Context) K0sAPIPtrOutput } -type ClusterHostArray []ClusterHostInput +type k0sAPIPtrType K0sAPIArgs -func (ClusterHostArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ClusterHost)(nil)).Elem() +func K0sAPIPtr(v *K0sAPIArgs) K0sAPIPtrInput { + return (*k0sAPIPtrType)(v) } -func (i ClusterHostArray) ToClusterHostArrayOutput() ClusterHostArrayOutput { - return i.ToClusterHostArrayOutputWithContext(context.Background()) +func (*k0sAPIPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sAPI)(nil)).Elem() } -func (i ClusterHostArray) ToClusterHostArrayOutputWithContext(ctx context.Context) ClusterHostArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterHostArrayOutput) +func (i *k0sAPIPtrType) ToK0sAPIPtrOutput() K0sAPIPtrOutput { + return i.ToK0sAPIPtrOutputWithContext(context.Background()) } -type ClusterHostOutput struct{ *pulumi.OutputState } +func (i *k0sAPIPtrType) ToK0sAPIPtrOutputWithContext(ctx context.Context) K0sAPIPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sAPIPtrOutput) +} -func (ClusterHostOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterHost)(nil)).Elem() +type K0sAPIOutput struct{ *pulumi.OutputState } + +func (K0sAPIOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sAPI)(nil)).Elem() } -func (o ClusterHostOutput) ToClusterHostOutput() ClusterHostOutput { +func (o K0sAPIOutput) ToK0sAPIOutput() K0sAPIOutput { return o } -func (o ClusterHostOutput) ToClusterHostOutputWithContext(ctx context.Context) ClusterHostOutput { +func (o K0sAPIOutput) ToK0sAPIOutputWithContext(ctx context.Context) K0sAPIOutput { return o } -func (o ClusterHostOutput) Environment() pulumi.StringMapOutput { - return o.ApplyT(func(v ClusterHost) map[string]string { return v.Environment }).(pulumi.StringMapOutput) +func (o K0sAPIOutput) ToK0sAPIPtrOutput() K0sAPIPtrOutput { + return o.ToK0sAPIPtrOutputWithContext(context.Background()) } -func (o ClusterHostOutput) Files() ClusterFileArrayOutput { - return o.ApplyT(func(v ClusterHost) []ClusterFile { return v.Files }).(ClusterFileArrayOutput) +func (o K0sAPIOutput) ToK0sAPIPtrOutputWithContext(ctx context.Context) K0sAPIPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sAPI) *K0sAPI { + return &v + }).(K0sAPIPtrOutput) } -func (o ClusterHostOutput) Hooks() ClusterHooksPtrOutput { - return o.ApplyT(func(v ClusterHost) *ClusterHooks { return v.Hooks }).(ClusterHooksPtrOutput) +func (o K0sAPIOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sAPI) *string { return v.Address }).(pulumi.StringPtrOutput) } -func (o ClusterHostOutput) Hostname() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterHost) *string { return v.Hostname }).(pulumi.StringPtrOutput) +func (o K0sAPIOutput) ExternalAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sAPI) *string { return v.ExternalAddress }).(pulumi.StringPtrOutput) } -func (o ClusterHostOutput) InstallFlags() pulumi.StringArrayOutput { - return o.ApplyT(func(v ClusterHost) []string { return v.InstallFlags }).(pulumi.StringArrayOutput) +func (o K0sAPIOutput) ExtraArgs() pulumi.StringMapOutput { + return o.ApplyT(func(v K0sAPI) map[string]string { return v.ExtraArgs }).(pulumi.StringMapOutput) } -func (o ClusterHostOutput) K0sBinaryPath() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterHost) *string { return v.K0sBinaryPath }).(pulumi.StringPtrOutput) +func (o K0sAPIOutput) K0sApiPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v K0sAPI) *int { return v.K0sApiPort }).(pulumi.IntPtrOutput) } -func (o ClusterHostOutput) Localhost() ClusterLocalhostPtrOutput { - return o.ApplyT(func(v ClusterHost) *ClusterLocalhost { return v.Localhost }).(ClusterLocalhostPtrOutput) +func (o K0sAPIOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v K0sAPI) *int { return v.Port }).(pulumi.IntPtrOutput) } -func (o ClusterHostOutput) NoTaints() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterHost) *bool { return v.NoTaints }).(pulumi.BoolPtrOutput) +func (o K0sAPIOutput) Sans() pulumi.StringArrayOutput { + return o.ApplyT(func(v K0sAPI) []string { return v.Sans }).(pulumi.StringArrayOutput) } -func (o ClusterHostOutput) Os() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterHost) *string { return v.Os }).(pulumi.StringPtrOutput) -} +type K0sAPIPtrOutput struct{ *pulumi.OutputState } -func (o ClusterHostOutput) PrivateAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterHost) *string { return v.PrivateAddress }).(pulumi.StringPtrOutput) +func (K0sAPIPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sAPI)(nil)).Elem() } -func (o ClusterHostOutput) PrivateInterface() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterHost) *string { return v.PrivateInterface }).(pulumi.StringPtrOutput) +func (o K0sAPIPtrOutput) ToK0sAPIPtrOutput() K0sAPIPtrOutput { + return o } -func (o ClusterHostOutput) Role() pulumi.StringOutput { - return o.ApplyT(func(v ClusterHost) string { return v.Role }).(pulumi.StringOutput) +func (o K0sAPIPtrOutput) ToK0sAPIPtrOutputWithContext(ctx context.Context) K0sAPIPtrOutput { + return o } -func (o ClusterHostOutput) Ssh() ClusterSSHPtrOutput { - return o.ApplyT(func(v ClusterHost) *ClusterSSH { return v.Ssh }).(ClusterSSHPtrOutput) +func (o K0sAPIPtrOutput) Elem() K0sAPIOutput { + return o.ApplyT(func(v *K0sAPI) K0sAPI { + if v != nil { + return *v + } + var ret K0sAPI + return ret + }).(K0sAPIOutput) } -func (o ClusterHostOutput) UploadBinary() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterHost) *bool { return v.UploadBinary }).(pulumi.BoolPtrOutput) +func (o K0sAPIPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sAPI) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) } -func (o ClusterHostOutput) WinRM() ClusterWinRMPtrOutput { - return o.ApplyT(func(v ClusterHost) *ClusterWinRM { return v.WinRM }).(ClusterWinRMPtrOutput) +func (o K0sAPIPtrOutput) ExternalAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sAPI) *string { + if v == nil { + return nil + } + return v.ExternalAddress + }).(pulumi.StringPtrOutput) } -type ClusterHostArrayOutput struct{ *pulumi.OutputState } - -func (ClusterHostArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ClusterHost)(nil)).Elem() +func (o K0sAPIPtrOutput) ExtraArgs() pulumi.StringMapOutput { + return o.ApplyT(func(v *K0sAPI) map[string]string { + if v == nil { + return nil + } + return v.ExtraArgs + }).(pulumi.StringMapOutput) } -func (o ClusterHostArrayOutput) ToClusterHostArrayOutput() ClusterHostArrayOutput { - return o +func (o K0sAPIPtrOutput) K0sApiPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *K0sAPI) *int { + if v == nil { + return nil + } + return v.K0sApiPort + }).(pulumi.IntPtrOutput) } -func (o ClusterHostArrayOutput) ToClusterHostArrayOutputWithContext(ctx context.Context) ClusterHostArrayOutput { - return o +func (o K0sAPIPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *K0sAPI) *int { + if v == nil { + return nil + } + return v.Port + }).(pulumi.IntPtrOutput) } -func (o ClusterHostArrayOutput) Index(i pulumi.IntInput) ClusterHostOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterHost { - return vs[0].([]ClusterHost)[vs[1].(int)] - }).(ClusterHostOutput) +func (o K0sAPIPtrOutput) Sans() pulumi.StringArrayOutput { + return o.ApplyT(func(v *K0sAPI) []string { + if v == nil { + return nil + } + return v.Sans + }).(pulumi.StringArrayOutput) } -type ClusterImage struct { - Image *string `pulumi:"image"` - Version *string `pulumi:"version"` +type K0sCalico struct { + EnvVars map[string]string `pulumi:"envVars"` + FlexVolumeDriverPath *string `pulumi:"flexVolumeDriverPath"` + IpAutodetectionMethod *string `pulumi:"ipAutodetectionMethod"` + Mode *string `pulumi:"mode"` + Mtu *int `pulumi:"mtu"` + Overlay *string `pulumi:"overlay"` + VxlanPort *int `pulumi:"vxlanPort"` + VxlanVNI *int `pulumi:"vxlanVNI"` + Wireguard *bool `pulumi:"wireguard"` } -// ClusterImageInput is an input type that accepts ClusterImageArgs and ClusterImageOutput values. -// You can construct a concrete instance of `ClusterImageInput` via: +// K0sCalicoInput is an input type that accepts K0sCalicoArgs and K0sCalicoOutput values. +// You can construct a concrete instance of `K0sCalicoInput` via: // -// ClusterImageArgs{...} -type ClusterImageInput interface { +// K0sCalicoArgs{...} +type K0sCalicoInput interface { pulumi.Input - ToClusterImageOutput() ClusterImageOutput - ToClusterImageOutputWithContext(context.Context) ClusterImageOutput + ToK0sCalicoOutput() K0sCalicoOutput + ToK0sCalicoOutputWithContext(context.Context) K0sCalicoOutput } -type ClusterImageArgs struct { - Image pulumi.StringPtrInput `pulumi:"image"` - Version pulumi.StringPtrInput `pulumi:"version"` +type K0sCalicoArgs struct { + EnvVars pulumi.StringMapInput `pulumi:"envVars"` + FlexVolumeDriverPath pulumi.StringPtrInput `pulumi:"flexVolumeDriverPath"` + IpAutodetectionMethod pulumi.StringPtrInput `pulumi:"ipAutodetectionMethod"` + Mode pulumi.StringPtrInput `pulumi:"mode"` + Mtu pulumi.IntPtrInput `pulumi:"mtu"` + Overlay pulumi.StringPtrInput `pulumi:"overlay"` + VxlanPort pulumi.IntPtrInput `pulumi:"vxlanPort"` + VxlanVNI pulumi.IntPtrInput `pulumi:"vxlanVNI"` + Wireguard pulumi.BoolPtrInput `pulumi:"wireguard"` } -func (ClusterImageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterImage)(nil)).Elem() +func (K0sCalicoArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sCalico)(nil)).Elem() } -func (i ClusterImageArgs) ToClusterImageOutput() ClusterImageOutput { - return i.ToClusterImageOutputWithContext(context.Background()) +func (i K0sCalicoArgs) ToK0sCalicoOutput() K0sCalicoOutput { + return i.ToK0sCalicoOutputWithContext(context.Background()) } -func (i ClusterImageArgs) ToClusterImageOutputWithContext(ctx context.Context) ClusterImageOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterImageOutput) +func (i K0sCalicoArgs) ToK0sCalicoOutputWithContext(ctx context.Context) K0sCalicoOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sCalicoOutput) } -func (i ClusterImageArgs) ToClusterImagePtrOutput() ClusterImagePtrOutput { - return i.ToClusterImagePtrOutputWithContext(context.Background()) +func (i K0sCalicoArgs) ToK0sCalicoPtrOutput() K0sCalicoPtrOutput { + return i.ToK0sCalicoPtrOutputWithContext(context.Background()) } -func (i ClusterImageArgs) ToClusterImagePtrOutputWithContext(ctx context.Context) ClusterImagePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterImageOutput).ToClusterImagePtrOutputWithContext(ctx) +func (i K0sCalicoArgs) ToK0sCalicoPtrOutputWithContext(ctx context.Context) K0sCalicoPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sCalicoOutput).ToK0sCalicoPtrOutputWithContext(ctx) } -// ClusterImagePtrInput is an input type that accepts ClusterImageArgs, ClusterImagePtr and ClusterImagePtrOutput values. -// You can construct a concrete instance of `ClusterImagePtrInput` via: +// K0sCalicoPtrInput is an input type that accepts K0sCalicoArgs, K0sCalicoPtr and K0sCalicoPtrOutput values. +// You can construct a concrete instance of `K0sCalicoPtrInput` via: // -// ClusterImageArgs{...} +// K0sCalicoArgs{...} // // or: // // nil -type ClusterImagePtrInput interface { +type K0sCalicoPtrInput interface { pulumi.Input - ToClusterImagePtrOutput() ClusterImagePtrOutput - ToClusterImagePtrOutputWithContext(context.Context) ClusterImagePtrOutput + ToK0sCalicoPtrOutput() K0sCalicoPtrOutput + ToK0sCalicoPtrOutputWithContext(context.Context) K0sCalicoPtrOutput } -type clusterImagePtrType ClusterImageArgs +type k0sCalicoPtrType K0sCalicoArgs -func ClusterImagePtr(v *ClusterImageArgs) ClusterImagePtrInput { - return (*clusterImagePtrType)(v) +func K0sCalicoPtr(v *K0sCalicoArgs) K0sCalicoPtrInput { + return (*k0sCalicoPtrType)(v) } -func (*clusterImagePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterImage)(nil)).Elem() +func (*k0sCalicoPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sCalico)(nil)).Elem() } -func (i *clusterImagePtrType) ToClusterImagePtrOutput() ClusterImagePtrOutput { - return i.ToClusterImagePtrOutputWithContext(context.Background()) +func (i *k0sCalicoPtrType) ToK0sCalicoPtrOutput() K0sCalicoPtrOutput { + return i.ToK0sCalicoPtrOutputWithContext(context.Background()) } -func (i *clusterImagePtrType) ToClusterImagePtrOutputWithContext(ctx context.Context) ClusterImagePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterImagePtrOutput) +func (i *k0sCalicoPtrType) ToK0sCalicoPtrOutputWithContext(ctx context.Context) K0sCalicoPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sCalicoPtrOutput) } -type ClusterImageOutput struct{ *pulumi.OutputState } +type K0sCalicoOutput struct{ *pulumi.OutputState } -func (ClusterImageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterImage)(nil)).Elem() +func (K0sCalicoOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sCalico)(nil)).Elem() } -func (o ClusterImageOutput) ToClusterImageOutput() ClusterImageOutput { +func (o K0sCalicoOutput) ToK0sCalicoOutput() K0sCalicoOutput { return o } -func (o ClusterImageOutput) ToClusterImageOutputWithContext(ctx context.Context) ClusterImageOutput { +func (o K0sCalicoOutput) ToK0sCalicoOutputWithContext(ctx context.Context) K0sCalicoOutput { return o } -func (o ClusterImageOutput) ToClusterImagePtrOutput() ClusterImagePtrOutput { - return o.ToClusterImagePtrOutputWithContext(context.Background()) +func (o K0sCalicoOutput) ToK0sCalicoPtrOutput() K0sCalicoPtrOutput { + return o.ToK0sCalicoPtrOutputWithContext(context.Background()) } -func (o ClusterImageOutput) ToClusterImagePtrOutputWithContext(ctx context.Context) ClusterImagePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterImage) *ClusterImage { +func (o K0sCalicoOutput) ToK0sCalicoPtrOutputWithContext(ctx context.Context) K0sCalicoPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sCalico) *K0sCalico { return &v - }).(ClusterImagePtrOutput) + }).(K0sCalicoPtrOutput) +} + +func (o K0sCalicoOutput) EnvVars() pulumi.StringMapOutput { + return o.ApplyT(func(v K0sCalico) map[string]string { return v.EnvVars }).(pulumi.StringMapOutput) } -func (o ClusterImageOutput) Image() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterImage) *string { return v.Image }).(pulumi.StringPtrOutput) +func (o K0sCalicoOutput) FlexVolumeDriverPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sCalico) *string { return v.FlexVolumeDriverPath }).(pulumi.StringPtrOutput) } -func (o ClusterImageOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterImage) *string { return v.Version }).(pulumi.StringPtrOutput) +func (o K0sCalicoOutput) IpAutodetectionMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sCalico) *string { return v.IpAutodetectionMethod }).(pulumi.StringPtrOutput) } -type ClusterImagePtrOutput struct{ *pulumi.OutputState } +func (o K0sCalicoOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sCalico) *string { return v.Mode }).(pulumi.StringPtrOutput) +} + +func (o K0sCalicoOutput) Mtu() pulumi.IntPtrOutput { + return o.ApplyT(func(v K0sCalico) *int { return v.Mtu }).(pulumi.IntPtrOutput) +} + +func (o K0sCalicoOutput) Overlay() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sCalico) *string { return v.Overlay }).(pulumi.StringPtrOutput) +} + +func (o K0sCalicoOutput) VxlanPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v K0sCalico) *int { return v.VxlanPort }).(pulumi.IntPtrOutput) +} + +func (o K0sCalicoOutput) VxlanVNI() pulumi.IntPtrOutput { + return o.ApplyT(func(v K0sCalico) *int { return v.VxlanVNI }).(pulumi.IntPtrOutput) +} + +func (o K0sCalicoOutput) Wireguard() pulumi.BoolPtrOutput { + return o.ApplyT(func(v K0sCalico) *bool { return v.Wireguard }).(pulumi.BoolPtrOutput) +} + +type K0sCalicoPtrOutput struct{ *pulumi.OutputState } -func (ClusterImagePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterImage)(nil)).Elem() +func (K0sCalicoPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sCalico)(nil)).Elem() } -func (o ClusterImagePtrOutput) ToClusterImagePtrOutput() ClusterImagePtrOutput { +func (o K0sCalicoPtrOutput) ToK0sCalicoPtrOutput() K0sCalicoPtrOutput { return o } -func (o ClusterImagePtrOutput) ToClusterImagePtrOutputWithContext(ctx context.Context) ClusterImagePtrOutput { +func (o K0sCalicoPtrOutput) ToK0sCalicoPtrOutputWithContext(ctx context.Context) K0sCalicoPtrOutput { return o } -func (o ClusterImagePtrOutput) Elem() ClusterImageOutput { - return o.ApplyT(func(v *ClusterImage) ClusterImage { +func (o K0sCalicoPtrOutput) Elem() K0sCalicoOutput { + return o.ApplyT(func(v *K0sCalico) K0sCalico { if v != nil { return *v } - var ret ClusterImage + var ret K0sCalico return ret - }).(ClusterImageOutput) + }).(K0sCalicoOutput) } -func (o ClusterImagePtrOutput) Image() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterImage) *string { +func (o K0sCalicoPtrOutput) EnvVars() pulumi.StringMapOutput { + return o.ApplyT(func(v *K0sCalico) map[string]string { if v == nil { return nil } - return v.Image + return v.EnvVars + }).(pulumi.StringMapOutput) +} + +func (o K0sCalicoPtrOutput) FlexVolumeDriverPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sCalico) *string { + if v == nil { + return nil + } + return v.FlexVolumeDriverPath }).(pulumi.StringPtrOutput) } -func (o ClusterImagePtrOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterImage) *string { +func (o K0sCalicoPtrOutput) IpAutodetectionMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sCalico) *string { if v == nil { return nil } - return v.Version + return v.IpAutodetectionMethod + }).(pulumi.StringPtrOutput) +} + +func (o K0sCalicoPtrOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sCalico) *string { + if v == nil { + return nil + } + return v.Mode + }).(pulumi.StringPtrOutput) +} + +func (o K0sCalicoPtrOutput) Mtu() pulumi.IntPtrOutput { + return o.ApplyT(func(v *K0sCalico) *int { + if v == nil { + return nil + } + return v.Mtu + }).(pulumi.IntPtrOutput) +} + +func (o K0sCalicoPtrOutput) Overlay() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sCalico) *string { + if v == nil { + return nil + } + return v.Overlay }).(pulumi.StringPtrOutput) } -type ClusterImages struct { - Calico *ClusterCalicoImage `pulumi:"calico"` - Coredns *ClusterImage `pulumi:"coredns"` - Default_pull_policy *string `pulumi:"default_pull_policy"` - Konnectivity *ClusterImage `pulumi:"konnectivity"` - Kubeproxy *ClusterImage `pulumi:"kubeproxy"` - Kuberouter *ClusterKubeRouterImage `pulumi:"kuberouter"` - Metricsserver *ClusterImage `pulumi:"metricsserver"` - Pause *ClusterImage `pulumi:"pause"` - Repository *string `pulumi:"repository"` +func (o K0sCalicoPtrOutput) VxlanPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *K0sCalico) *int { + if v == nil { + return nil + } + return v.VxlanPort + }).(pulumi.IntPtrOutput) +} + +func (o K0sCalicoPtrOutput) VxlanVNI() pulumi.IntPtrOutput { + return o.ApplyT(func(v *K0sCalico) *int { + if v == nil { + return nil + } + return v.VxlanVNI + }).(pulumi.IntPtrOutput) +} + +func (o K0sCalicoPtrOutput) Wireguard() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *K0sCalico) *bool { + if v == nil { + return nil + } + return v.Wireguard + }).(pulumi.BoolPtrOutput) +} + +type K0sCalicoImage struct { + Cni *K0sImage `pulumi:"cni"` + Flexvolume *K0sImage `pulumi:"flexvolume"` + Kubecontrollers *K0sImage `pulumi:"kubecontrollers"` + Node *K0sImage `pulumi:"node"` } -// ClusterImagesInput is an input type that accepts ClusterImagesArgs and ClusterImagesOutput values. -// You can construct a concrete instance of `ClusterImagesInput` via: +// K0sCalicoImageInput is an input type that accepts K0sCalicoImageArgs and K0sCalicoImageOutput values. +// You can construct a concrete instance of `K0sCalicoImageInput` via: // -// ClusterImagesArgs{...} -type ClusterImagesInput interface { +// K0sCalicoImageArgs{...} +type K0sCalicoImageInput interface { pulumi.Input - ToClusterImagesOutput() ClusterImagesOutput - ToClusterImagesOutputWithContext(context.Context) ClusterImagesOutput + ToK0sCalicoImageOutput() K0sCalicoImageOutput + ToK0sCalicoImageOutputWithContext(context.Context) K0sCalicoImageOutput } -type ClusterImagesArgs struct { - Calico ClusterCalicoImagePtrInput `pulumi:"calico"` - Coredns ClusterImagePtrInput `pulumi:"coredns"` - Default_pull_policy pulumi.StringPtrInput `pulumi:"default_pull_policy"` - Konnectivity ClusterImagePtrInput `pulumi:"konnectivity"` - Kubeproxy ClusterImagePtrInput `pulumi:"kubeproxy"` - Kuberouter ClusterKubeRouterImagePtrInput `pulumi:"kuberouter"` - Metricsserver ClusterImagePtrInput `pulumi:"metricsserver"` - Pause ClusterImagePtrInput `pulumi:"pause"` - Repository pulumi.StringPtrInput `pulumi:"repository"` +type K0sCalicoImageArgs struct { + Cni K0sImagePtrInput `pulumi:"cni"` + Flexvolume K0sImagePtrInput `pulumi:"flexvolume"` + Kubecontrollers K0sImagePtrInput `pulumi:"kubecontrollers"` + Node K0sImagePtrInput `pulumi:"node"` } -func (ClusterImagesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterImages)(nil)).Elem() +func (K0sCalicoImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sCalicoImage)(nil)).Elem() } -func (i ClusterImagesArgs) ToClusterImagesOutput() ClusterImagesOutput { - return i.ToClusterImagesOutputWithContext(context.Background()) +func (i K0sCalicoImageArgs) ToK0sCalicoImageOutput() K0sCalicoImageOutput { + return i.ToK0sCalicoImageOutputWithContext(context.Background()) } -func (i ClusterImagesArgs) ToClusterImagesOutputWithContext(ctx context.Context) ClusterImagesOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterImagesOutput) +func (i K0sCalicoImageArgs) ToK0sCalicoImageOutputWithContext(ctx context.Context) K0sCalicoImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sCalicoImageOutput) } -func (i ClusterImagesArgs) ToClusterImagesPtrOutput() ClusterImagesPtrOutput { - return i.ToClusterImagesPtrOutputWithContext(context.Background()) +func (i K0sCalicoImageArgs) ToK0sCalicoImagePtrOutput() K0sCalicoImagePtrOutput { + return i.ToK0sCalicoImagePtrOutputWithContext(context.Background()) } -func (i ClusterImagesArgs) ToClusterImagesPtrOutputWithContext(ctx context.Context) ClusterImagesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterImagesOutput).ToClusterImagesPtrOutputWithContext(ctx) +func (i K0sCalicoImageArgs) ToK0sCalicoImagePtrOutputWithContext(ctx context.Context) K0sCalicoImagePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sCalicoImageOutput).ToK0sCalicoImagePtrOutputWithContext(ctx) } -// ClusterImagesPtrInput is an input type that accepts ClusterImagesArgs, ClusterImagesPtr and ClusterImagesPtrOutput values. -// You can construct a concrete instance of `ClusterImagesPtrInput` via: +// K0sCalicoImagePtrInput is an input type that accepts K0sCalicoImageArgs, K0sCalicoImagePtr and K0sCalicoImagePtrOutput values. +// You can construct a concrete instance of `K0sCalicoImagePtrInput` via: // -// ClusterImagesArgs{...} +// K0sCalicoImageArgs{...} // // or: // // nil -type ClusterImagesPtrInput interface { +type K0sCalicoImagePtrInput interface { pulumi.Input - ToClusterImagesPtrOutput() ClusterImagesPtrOutput - ToClusterImagesPtrOutputWithContext(context.Context) ClusterImagesPtrOutput + ToK0sCalicoImagePtrOutput() K0sCalicoImagePtrOutput + ToK0sCalicoImagePtrOutputWithContext(context.Context) K0sCalicoImagePtrOutput } -type clusterImagesPtrType ClusterImagesArgs +type k0sCalicoImagePtrType K0sCalicoImageArgs -func ClusterImagesPtr(v *ClusterImagesArgs) ClusterImagesPtrInput { - return (*clusterImagesPtrType)(v) +func K0sCalicoImagePtr(v *K0sCalicoImageArgs) K0sCalicoImagePtrInput { + return (*k0sCalicoImagePtrType)(v) } -func (*clusterImagesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterImages)(nil)).Elem() +func (*k0sCalicoImagePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sCalicoImage)(nil)).Elem() } -func (i *clusterImagesPtrType) ToClusterImagesPtrOutput() ClusterImagesPtrOutput { - return i.ToClusterImagesPtrOutputWithContext(context.Background()) +func (i *k0sCalicoImagePtrType) ToK0sCalicoImagePtrOutput() K0sCalicoImagePtrOutput { + return i.ToK0sCalicoImagePtrOutputWithContext(context.Background()) } -func (i *clusterImagesPtrType) ToClusterImagesPtrOutputWithContext(ctx context.Context) ClusterImagesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterImagesPtrOutput) +func (i *k0sCalicoImagePtrType) ToK0sCalicoImagePtrOutputWithContext(ctx context.Context) K0sCalicoImagePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sCalicoImagePtrOutput) } -type ClusterImagesOutput struct{ *pulumi.OutputState } +type K0sCalicoImageOutput struct{ *pulumi.OutputState } -func (ClusterImagesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterImages)(nil)).Elem() +func (K0sCalicoImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sCalicoImage)(nil)).Elem() } -func (o ClusterImagesOutput) ToClusterImagesOutput() ClusterImagesOutput { +func (o K0sCalicoImageOutput) ToK0sCalicoImageOutput() K0sCalicoImageOutput { return o } -func (o ClusterImagesOutput) ToClusterImagesOutputWithContext(ctx context.Context) ClusterImagesOutput { +func (o K0sCalicoImageOutput) ToK0sCalicoImageOutputWithContext(ctx context.Context) K0sCalicoImageOutput { return o } -func (o ClusterImagesOutput) ToClusterImagesPtrOutput() ClusterImagesPtrOutput { - return o.ToClusterImagesPtrOutputWithContext(context.Background()) +func (o K0sCalicoImageOutput) ToK0sCalicoImagePtrOutput() K0sCalicoImagePtrOutput { + return o.ToK0sCalicoImagePtrOutputWithContext(context.Background()) } -func (o ClusterImagesOutput) ToClusterImagesPtrOutputWithContext(ctx context.Context) ClusterImagesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterImages) *ClusterImages { +func (o K0sCalicoImageOutput) ToK0sCalicoImagePtrOutputWithContext(ctx context.Context) K0sCalicoImagePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sCalicoImage) *K0sCalicoImage { return &v - }).(ClusterImagesPtrOutput) -} - -func (o ClusterImagesOutput) Calico() ClusterCalicoImagePtrOutput { - return o.ApplyT(func(v ClusterImages) *ClusterCalicoImage { return v.Calico }).(ClusterCalicoImagePtrOutput) -} - -func (o ClusterImagesOutput) Coredns() ClusterImagePtrOutput { - return o.ApplyT(func(v ClusterImages) *ClusterImage { return v.Coredns }).(ClusterImagePtrOutput) -} - -func (o ClusterImagesOutput) Default_pull_policy() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterImages) *string { return v.Default_pull_policy }).(pulumi.StringPtrOutput) -} - -func (o ClusterImagesOutput) Konnectivity() ClusterImagePtrOutput { - return o.ApplyT(func(v ClusterImages) *ClusterImage { return v.Konnectivity }).(ClusterImagePtrOutput) -} - -func (o ClusterImagesOutput) Kubeproxy() ClusterImagePtrOutput { - return o.ApplyT(func(v ClusterImages) *ClusterImage { return v.Kubeproxy }).(ClusterImagePtrOutput) + }).(K0sCalicoImagePtrOutput) } -func (o ClusterImagesOutput) Kuberouter() ClusterKubeRouterImagePtrOutput { - return o.ApplyT(func(v ClusterImages) *ClusterKubeRouterImage { return v.Kuberouter }).(ClusterKubeRouterImagePtrOutput) +func (o K0sCalicoImageOutput) Cni() K0sImagePtrOutput { + return o.ApplyT(func(v K0sCalicoImage) *K0sImage { return v.Cni }).(K0sImagePtrOutput) } -func (o ClusterImagesOutput) Metricsserver() ClusterImagePtrOutput { - return o.ApplyT(func(v ClusterImages) *ClusterImage { return v.Metricsserver }).(ClusterImagePtrOutput) +func (o K0sCalicoImageOutput) Flexvolume() K0sImagePtrOutput { + return o.ApplyT(func(v K0sCalicoImage) *K0sImage { return v.Flexvolume }).(K0sImagePtrOutput) } -func (o ClusterImagesOutput) Pause() ClusterImagePtrOutput { - return o.ApplyT(func(v ClusterImages) *ClusterImage { return v.Pause }).(ClusterImagePtrOutput) +func (o K0sCalicoImageOutput) Kubecontrollers() K0sImagePtrOutput { + return o.ApplyT(func(v K0sCalicoImage) *K0sImage { return v.Kubecontrollers }).(K0sImagePtrOutput) } -func (o ClusterImagesOutput) Repository() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterImages) *string { return v.Repository }).(pulumi.StringPtrOutput) +func (o K0sCalicoImageOutput) Node() K0sImagePtrOutput { + return o.ApplyT(func(v K0sCalicoImage) *K0sImage { return v.Node }).(K0sImagePtrOutput) } -type ClusterImagesPtrOutput struct{ *pulumi.OutputState } +type K0sCalicoImagePtrOutput struct{ *pulumi.OutputState } -func (ClusterImagesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterImages)(nil)).Elem() +func (K0sCalicoImagePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sCalicoImage)(nil)).Elem() } -func (o ClusterImagesPtrOutput) ToClusterImagesPtrOutput() ClusterImagesPtrOutput { +func (o K0sCalicoImagePtrOutput) ToK0sCalicoImagePtrOutput() K0sCalicoImagePtrOutput { return o } -func (o ClusterImagesPtrOutput) ToClusterImagesPtrOutputWithContext(ctx context.Context) ClusterImagesPtrOutput { +func (o K0sCalicoImagePtrOutput) ToK0sCalicoImagePtrOutputWithContext(ctx context.Context) K0sCalicoImagePtrOutput { return o } -func (o ClusterImagesPtrOutput) Elem() ClusterImagesOutput { - return o.ApplyT(func(v *ClusterImages) ClusterImages { +func (o K0sCalicoImagePtrOutput) Elem() K0sCalicoImageOutput { + return o.ApplyT(func(v *K0sCalicoImage) K0sCalicoImage { if v != nil { return *v } - var ret ClusterImages + var ret K0sCalicoImage return ret - }).(ClusterImagesOutput) -} - -func (o ClusterImagesPtrOutput) Calico() ClusterCalicoImagePtrOutput { - return o.ApplyT(func(v *ClusterImages) *ClusterCalicoImage { - if v == nil { - return nil - } - return v.Calico - }).(ClusterCalicoImagePtrOutput) -} - -func (o ClusterImagesPtrOutput) Coredns() ClusterImagePtrOutput { - return o.ApplyT(func(v *ClusterImages) *ClusterImage { - if v == nil { - return nil - } - return v.Coredns - }).(ClusterImagePtrOutput) -} - -func (o ClusterImagesPtrOutput) Default_pull_policy() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterImages) *string { - if v == nil { - return nil - } - return v.Default_pull_policy - }).(pulumi.StringPtrOutput) -} - -func (o ClusterImagesPtrOutput) Konnectivity() ClusterImagePtrOutput { - return o.ApplyT(func(v *ClusterImages) *ClusterImage { - if v == nil { - return nil - } - return v.Konnectivity - }).(ClusterImagePtrOutput) -} - -func (o ClusterImagesPtrOutput) Kubeproxy() ClusterImagePtrOutput { - return o.ApplyT(func(v *ClusterImages) *ClusterImage { - if v == nil { - return nil - } - return v.Kubeproxy - }).(ClusterImagePtrOutput) + }).(K0sCalicoImageOutput) } -func (o ClusterImagesPtrOutput) Kuberouter() ClusterKubeRouterImagePtrOutput { - return o.ApplyT(func(v *ClusterImages) *ClusterKubeRouterImage { +func (o K0sCalicoImagePtrOutput) Cni() K0sImagePtrOutput { + return o.ApplyT(func(v *K0sCalicoImage) *K0sImage { if v == nil { return nil } - return v.Kuberouter - }).(ClusterKubeRouterImagePtrOutput) + return v.Cni + }).(K0sImagePtrOutput) } -func (o ClusterImagesPtrOutput) Metricsserver() ClusterImagePtrOutput { - return o.ApplyT(func(v *ClusterImages) *ClusterImage { +func (o K0sCalicoImagePtrOutput) Flexvolume() K0sImagePtrOutput { + return o.ApplyT(func(v *K0sCalicoImage) *K0sImage { if v == nil { return nil } - return v.Metricsserver - }).(ClusterImagePtrOutput) + return v.Flexvolume + }).(K0sImagePtrOutput) } -func (o ClusterImagesPtrOutput) Pause() ClusterImagePtrOutput { - return o.ApplyT(func(v *ClusterImages) *ClusterImage { +func (o K0sCalicoImagePtrOutput) Kubecontrollers() K0sImagePtrOutput { + return o.ApplyT(func(v *K0sCalicoImage) *K0sImage { if v == nil { return nil } - return v.Pause - }).(ClusterImagePtrOutput) + return v.Kubecontrollers + }).(K0sImagePtrOutput) } -func (o ClusterImagesPtrOutput) Repository() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterImages) *string { +func (o K0sCalicoImagePtrOutput) Node() K0sImagePtrOutput { + return o.ApplyT(func(v *K0sCalicoImage) *K0sImage { if v == nil { return nil } - return v.Repository - }).(pulumi.StringPtrOutput) + return v.Node + }).(K0sImagePtrOutput) } -type ClusterInstallConfig struct { - Users *ClusterInstallConfigUser `pulumi:"users"` +type K0sControllerManager struct { + ExtraArgs map[string]string `pulumi:"extraArgs"` } -// ClusterInstallConfigInput is an input type that accepts ClusterInstallConfigArgs and ClusterInstallConfigOutput values. -// You can construct a concrete instance of `ClusterInstallConfigInput` via: +// K0sControllerManagerInput is an input type that accepts K0sControllerManagerArgs and K0sControllerManagerOutput values. +// You can construct a concrete instance of `K0sControllerManagerInput` via: // -// ClusterInstallConfigArgs{...} -type ClusterInstallConfigInput interface { +// K0sControllerManagerArgs{...} +type K0sControllerManagerInput interface { pulumi.Input - ToClusterInstallConfigOutput() ClusterInstallConfigOutput - ToClusterInstallConfigOutputWithContext(context.Context) ClusterInstallConfigOutput + ToK0sControllerManagerOutput() K0sControllerManagerOutput + ToK0sControllerManagerOutputWithContext(context.Context) K0sControllerManagerOutput } -type ClusterInstallConfigArgs struct { - Users ClusterInstallConfigUserPtrInput `pulumi:"users"` +type K0sControllerManagerArgs struct { + ExtraArgs pulumi.StringMapInput `pulumi:"extraArgs"` } -func (ClusterInstallConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterInstallConfig)(nil)).Elem() +func (K0sControllerManagerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sControllerManager)(nil)).Elem() } -func (i ClusterInstallConfigArgs) ToClusterInstallConfigOutput() ClusterInstallConfigOutput { - return i.ToClusterInstallConfigOutputWithContext(context.Background()) +func (i K0sControllerManagerArgs) ToK0sControllerManagerOutput() K0sControllerManagerOutput { + return i.ToK0sControllerManagerOutputWithContext(context.Background()) } -func (i ClusterInstallConfigArgs) ToClusterInstallConfigOutputWithContext(ctx context.Context) ClusterInstallConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterInstallConfigOutput) +func (i K0sControllerManagerArgs) ToK0sControllerManagerOutputWithContext(ctx context.Context) K0sControllerManagerOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sControllerManagerOutput) } -func (i ClusterInstallConfigArgs) ToClusterInstallConfigPtrOutput() ClusterInstallConfigPtrOutput { - return i.ToClusterInstallConfigPtrOutputWithContext(context.Background()) +func (i K0sControllerManagerArgs) ToK0sControllerManagerPtrOutput() K0sControllerManagerPtrOutput { + return i.ToK0sControllerManagerPtrOutputWithContext(context.Background()) } -func (i ClusterInstallConfigArgs) ToClusterInstallConfigPtrOutputWithContext(ctx context.Context) ClusterInstallConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterInstallConfigOutput).ToClusterInstallConfigPtrOutputWithContext(ctx) +func (i K0sControllerManagerArgs) ToK0sControllerManagerPtrOutputWithContext(ctx context.Context) K0sControllerManagerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sControllerManagerOutput).ToK0sControllerManagerPtrOutputWithContext(ctx) } -// ClusterInstallConfigPtrInput is an input type that accepts ClusterInstallConfigArgs, ClusterInstallConfigPtr and ClusterInstallConfigPtrOutput values. -// You can construct a concrete instance of `ClusterInstallConfigPtrInput` via: +// K0sControllerManagerPtrInput is an input type that accepts K0sControllerManagerArgs, K0sControllerManagerPtr and K0sControllerManagerPtrOutput values. +// You can construct a concrete instance of `K0sControllerManagerPtrInput` via: // -// ClusterInstallConfigArgs{...} +// K0sControllerManagerArgs{...} // // or: // // nil -type ClusterInstallConfigPtrInput interface { +type K0sControllerManagerPtrInput interface { pulumi.Input - ToClusterInstallConfigPtrOutput() ClusterInstallConfigPtrOutput - ToClusterInstallConfigPtrOutputWithContext(context.Context) ClusterInstallConfigPtrOutput + ToK0sControllerManagerPtrOutput() K0sControllerManagerPtrOutput + ToK0sControllerManagerPtrOutputWithContext(context.Context) K0sControllerManagerPtrOutput } -type clusterInstallConfigPtrType ClusterInstallConfigArgs +type k0sControllerManagerPtrType K0sControllerManagerArgs -func ClusterInstallConfigPtr(v *ClusterInstallConfigArgs) ClusterInstallConfigPtrInput { - return (*clusterInstallConfigPtrType)(v) +func K0sControllerManagerPtr(v *K0sControllerManagerArgs) K0sControllerManagerPtrInput { + return (*k0sControllerManagerPtrType)(v) } -func (*clusterInstallConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterInstallConfig)(nil)).Elem() +func (*k0sControllerManagerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sControllerManager)(nil)).Elem() } -func (i *clusterInstallConfigPtrType) ToClusterInstallConfigPtrOutput() ClusterInstallConfigPtrOutput { - return i.ToClusterInstallConfigPtrOutputWithContext(context.Background()) +func (i *k0sControllerManagerPtrType) ToK0sControllerManagerPtrOutput() K0sControllerManagerPtrOutput { + return i.ToK0sControllerManagerPtrOutputWithContext(context.Background()) } -func (i *clusterInstallConfigPtrType) ToClusterInstallConfigPtrOutputWithContext(ctx context.Context) ClusterInstallConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterInstallConfigPtrOutput) +func (i *k0sControllerManagerPtrType) ToK0sControllerManagerPtrOutputWithContext(ctx context.Context) K0sControllerManagerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sControllerManagerPtrOutput) } -type ClusterInstallConfigOutput struct{ *pulumi.OutputState } +type K0sControllerManagerOutput struct{ *pulumi.OutputState } -func (ClusterInstallConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterInstallConfig)(nil)).Elem() +func (K0sControllerManagerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sControllerManager)(nil)).Elem() } -func (o ClusterInstallConfigOutput) ToClusterInstallConfigOutput() ClusterInstallConfigOutput { +func (o K0sControllerManagerOutput) ToK0sControllerManagerOutput() K0sControllerManagerOutput { return o } -func (o ClusterInstallConfigOutput) ToClusterInstallConfigOutputWithContext(ctx context.Context) ClusterInstallConfigOutput { +func (o K0sControllerManagerOutput) ToK0sControllerManagerOutputWithContext(ctx context.Context) K0sControllerManagerOutput { return o } -func (o ClusterInstallConfigOutput) ToClusterInstallConfigPtrOutput() ClusterInstallConfigPtrOutput { - return o.ToClusterInstallConfigPtrOutputWithContext(context.Background()) +func (o K0sControllerManagerOutput) ToK0sControllerManagerPtrOutput() K0sControllerManagerPtrOutput { + return o.ToK0sControllerManagerPtrOutputWithContext(context.Background()) } -func (o ClusterInstallConfigOutput) ToClusterInstallConfigPtrOutputWithContext(ctx context.Context) ClusterInstallConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterInstallConfig) *ClusterInstallConfig { +func (o K0sControllerManagerOutput) ToK0sControllerManagerPtrOutputWithContext(ctx context.Context) K0sControllerManagerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sControllerManager) *K0sControllerManager { return &v - }).(ClusterInstallConfigPtrOutput) + }).(K0sControllerManagerPtrOutput) } -func (o ClusterInstallConfigOutput) Users() ClusterInstallConfigUserPtrOutput { - return o.ApplyT(func(v ClusterInstallConfig) *ClusterInstallConfigUser { return v.Users }).(ClusterInstallConfigUserPtrOutput) +func (o K0sControllerManagerOutput) ExtraArgs() pulumi.StringMapOutput { + return o.ApplyT(func(v K0sControllerManager) map[string]string { return v.ExtraArgs }).(pulumi.StringMapOutput) } -type ClusterInstallConfigPtrOutput struct{ *pulumi.OutputState } +type K0sControllerManagerPtrOutput struct{ *pulumi.OutputState } -func (ClusterInstallConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterInstallConfig)(nil)).Elem() +func (K0sControllerManagerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sControllerManager)(nil)).Elem() } -func (o ClusterInstallConfigPtrOutput) ToClusterInstallConfigPtrOutput() ClusterInstallConfigPtrOutput { +func (o K0sControllerManagerPtrOutput) ToK0sControllerManagerPtrOutput() K0sControllerManagerPtrOutput { return o } -func (o ClusterInstallConfigPtrOutput) ToClusterInstallConfigPtrOutputWithContext(ctx context.Context) ClusterInstallConfigPtrOutput { +func (o K0sControllerManagerPtrOutput) ToK0sControllerManagerPtrOutputWithContext(ctx context.Context) K0sControllerManagerPtrOutput { return o } -func (o ClusterInstallConfigPtrOutput) Elem() ClusterInstallConfigOutput { - return o.ApplyT(func(v *ClusterInstallConfig) ClusterInstallConfig { +func (o K0sControllerManagerPtrOutput) Elem() K0sControllerManagerOutput { + return o.ApplyT(func(v *K0sControllerManager) K0sControllerManager { if v != nil { return *v } - var ret ClusterInstallConfig + var ret K0sControllerManager return ret - }).(ClusterInstallConfigOutput) + }).(K0sControllerManagerOutput) } -func (o ClusterInstallConfigPtrOutput) Users() ClusterInstallConfigUserPtrOutput { - return o.ApplyT(func(v *ClusterInstallConfig) *ClusterInstallConfigUser { +func (o K0sControllerManagerPtrOutput) ExtraArgs() pulumi.StringMapOutput { + return o.ApplyT(func(v *K0sControllerManager) map[string]string { if v == nil { return nil } - return v.Users - }).(ClusterInstallConfigUserPtrOutput) + return v.ExtraArgs + }).(pulumi.StringMapOutput) } -type ClusterInstallConfigUser struct { - EtcdUser *string `pulumi:"etcdUser"` - KineUser *string `pulumi:"kineUser"` - KonnectivityUser *string `pulumi:"konnectivityUser"` - KubeAPIserverUser *string `pulumi:"kubeAPIserverUser"` - KubeSchedulerUser *string `pulumi:"kubeSchedulerUser"` +type K0sDualStack struct { + IPv6podCIDR *string `pulumi:"IPv6podCIDR"` + IPv6serviceCIDR *string `pulumi:"IPv6serviceCIDR"` + Enabled *bool `pulumi:"enabled"` } -// ClusterInstallConfigUserInput is an input type that accepts ClusterInstallConfigUserArgs and ClusterInstallConfigUserOutput values. -// You can construct a concrete instance of `ClusterInstallConfigUserInput` via: +// K0sDualStackInput is an input type that accepts K0sDualStackArgs and K0sDualStackOutput values. +// You can construct a concrete instance of `K0sDualStackInput` via: // -// ClusterInstallConfigUserArgs{...} -type ClusterInstallConfigUserInput interface { +// K0sDualStackArgs{...} +type K0sDualStackInput interface { pulumi.Input - ToClusterInstallConfigUserOutput() ClusterInstallConfigUserOutput - ToClusterInstallConfigUserOutputWithContext(context.Context) ClusterInstallConfigUserOutput + ToK0sDualStackOutput() K0sDualStackOutput + ToK0sDualStackOutputWithContext(context.Context) K0sDualStackOutput } -type ClusterInstallConfigUserArgs struct { - EtcdUser pulumi.StringPtrInput `pulumi:"etcdUser"` - KineUser pulumi.StringPtrInput `pulumi:"kineUser"` - KonnectivityUser pulumi.StringPtrInput `pulumi:"konnectivityUser"` - KubeAPIserverUser pulumi.StringPtrInput `pulumi:"kubeAPIserverUser"` - KubeSchedulerUser pulumi.StringPtrInput `pulumi:"kubeSchedulerUser"` +type K0sDualStackArgs struct { + IPv6podCIDR pulumi.StringPtrInput `pulumi:"IPv6podCIDR"` + IPv6serviceCIDR pulumi.StringPtrInput `pulumi:"IPv6serviceCIDR"` + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` } -func (ClusterInstallConfigUserArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterInstallConfigUser)(nil)).Elem() +func (K0sDualStackArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sDualStack)(nil)).Elem() } -func (i ClusterInstallConfigUserArgs) ToClusterInstallConfigUserOutput() ClusterInstallConfigUserOutput { - return i.ToClusterInstallConfigUserOutputWithContext(context.Background()) +func (i K0sDualStackArgs) ToK0sDualStackOutput() K0sDualStackOutput { + return i.ToK0sDualStackOutputWithContext(context.Background()) } -func (i ClusterInstallConfigUserArgs) ToClusterInstallConfigUserOutputWithContext(ctx context.Context) ClusterInstallConfigUserOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterInstallConfigUserOutput) +func (i K0sDualStackArgs) ToK0sDualStackOutputWithContext(ctx context.Context) K0sDualStackOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sDualStackOutput) } -func (i ClusterInstallConfigUserArgs) ToClusterInstallConfigUserPtrOutput() ClusterInstallConfigUserPtrOutput { - return i.ToClusterInstallConfigUserPtrOutputWithContext(context.Background()) +func (i K0sDualStackArgs) ToK0sDualStackPtrOutput() K0sDualStackPtrOutput { + return i.ToK0sDualStackPtrOutputWithContext(context.Background()) } -func (i ClusterInstallConfigUserArgs) ToClusterInstallConfigUserPtrOutputWithContext(ctx context.Context) ClusterInstallConfigUserPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterInstallConfigUserOutput).ToClusterInstallConfigUserPtrOutputWithContext(ctx) +func (i K0sDualStackArgs) ToK0sDualStackPtrOutputWithContext(ctx context.Context) K0sDualStackPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sDualStackOutput).ToK0sDualStackPtrOutputWithContext(ctx) } -// ClusterInstallConfigUserPtrInput is an input type that accepts ClusterInstallConfigUserArgs, ClusterInstallConfigUserPtr and ClusterInstallConfigUserPtrOutput values. -// You can construct a concrete instance of `ClusterInstallConfigUserPtrInput` via: +// K0sDualStackPtrInput is an input type that accepts K0sDualStackArgs, K0sDualStackPtr and K0sDualStackPtrOutput values. +// You can construct a concrete instance of `K0sDualStackPtrInput` via: // -// ClusterInstallConfigUserArgs{...} +// K0sDualStackArgs{...} // // or: // // nil -type ClusterInstallConfigUserPtrInput interface { +type K0sDualStackPtrInput interface { pulumi.Input - ToClusterInstallConfigUserPtrOutput() ClusterInstallConfigUserPtrOutput - ToClusterInstallConfigUserPtrOutputWithContext(context.Context) ClusterInstallConfigUserPtrOutput + ToK0sDualStackPtrOutput() K0sDualStackPtrOutput + ToK0sDualStackPtrOutputWithContext(context.Context) K0sDualStackPtrOutput } -type clusterInstallConfigUserPtrType ClusterInstallConfigUserArgs +type k0sDualStackPtrType K0sDualStackArgs -func ClusterInstallConfigUserPtr(v *ClusterInstallConfigUserArgs) ClusterInstallConfigUserPtrInput { - return (*clusterInstallConfigUserPtrType)(v) +func K0sDualStackPtr(v *K0sDualStackArgs) K0sDualStackPtrInput { + return (*k0sDualStackPtrType)(v) } -func (*clusterInstallConfigUserPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterInstallConfigUser)(nil)).Elem() +func (*k0sDualStackPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sDualStack)(nil)).Elem() } -func (i *clusterInstallConfigUserPtrType) ToClusterInstallConfigUserPtrOutput() ClusterInstallConfigUserPtrOutput { - return i.ToClusterInstallConfigUserPtrOutputWithContext(context.Background()) +func (i *k0sDualStackPtrType) ToK0sDualStackPtrOutput() K0sDualStackPtrOutput { + return i.ToK0sDualStackPtrOutputWithContext(context.Background()) } -func (i *clusterInstallConfigUserPtrType) ToClusterInstallConfigUserPtrOutputWithContext(ctx context.Context) ClusterInstallConfigUserPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterInstallConfigUserPtrOutput) +func (i *k0sDualStackPtrType) ToK0sDualStackPtrOutputWithContext(ctx context.Context) K0sDualStackPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sDualStackPtrOutput) } -type ClusterInstallConfigUserOutput struct{ *pulumi.OutputState } +type K0sDualStackOutput struct{ *pulumi.OutputState } -func (ClusterInstallConfigUserOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterInstallConfigUser)(nil)).Elem() +func (K0sDualStackOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sDualStack)(nil)).Elem() } -func (o ClusterInstallConfigUserOutput) ToClusterInstallConfigUserOutput() ClusterInstallConfigUserOutput { +func (o K0sDualStackOutput) ToK0sDualStackOutput() K0sDualStackOutput { return o } -func (o ClusterInstallConfigUserOutput) ToClusterInstallConfigUserOutputWithContext(ctx context.Context) ClusterInstallConfigUserOutput { +func (o K0sDualStackOutput) ToK0sDualStackOutputWithContext(ctx context.Context) K0sDualStackOutput { return o } -func (o ClusterInstallConfigUserOutput) ToClusterInstallConfigUserPtrOutput() ClusterInstallConfigUserPtrOutput { - return o.ToClusterInstallConfigUserPtrOutputWithContext(context.Background()) +func (o K0sDualStackOutput) ToK0sDualStackPtrOutput() K0sDualStackPtrOutput { + return o.ToK0sDualStackPtrOutputWithContext(context.Background()) } -func (o ClusterInstallConfigUserOutput) ToClusterInstallConfigUserPtrOutputWithContext(ctx context.Context) ClusterInstallConfigUserPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterInstallConfigUser) *ClusterInstallConfigUser { +func (o K0sDualStackOutput) ToK0sDualStackPtrOutputWithContext(ctx context.Context) K0sDualStackPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sDualStack) *K0sDualStack { return &v - }).(ClusterInstallConfigUserPtrOutput) + }).(K0sDualStackPtrOutput) } -func (o ClusterInstallConfigUserOutput) EtcdUser() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterInstallConfigUser) *string { return v.EtcdUser }).(pulumi.StringPtrOutput) +func (o K0sDualStackOutput) IPv6podCIDR() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sDualStack) *string { return v.IPv6podCIDR }).(pulumi.StringPtrOutput) } -func (o ClusterInstallConfigUserOutput) KineUser() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterInstallConfigUser) *string { return v.KineUser }).(pulumi.StringPtrOutput) +func (o K0sDualStackOutput) IPv6serviceCIDR() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sDualStack) *string { return v.IPv6serviceCIDR }).(pulumi.StringPtrOutput) } -func (o ClusterInstallConfigUserOutput) KonnectivityUser() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterInstallConfigUser) *string { return v.KonnectivityUser }).(pulumi.StringPtrOutput) +func (o K0sDualStackOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v K0sDualStack) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -func (o ClusterInstallConfigUserOutput) KubeAPIserverUser() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterInstallConfigUser) *string { return v.KubeAPIserverUser }).(pulumi.StringPtrOutput) -} - -func (o ClusterInstallConfigUserOutput) KubeSchedulerUser() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterInstallConfigUser) *string { return v.KubeSchedulerUser }).(pulumi.StringPtrOutput) -} - -type ClusterInstallConfigUserPtrOutput struct{ *pulumi.OutputState } +type K0sDualStackPtrOutput struct{ *pulumi.OutputState } -func (ClusterInstallConfigUserPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterInstallConfigUser)(nil)).Elem() +func (K0sDualStackPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sDualStack)(nil)).Elem() } -func (o ClusterInstallConfigUserPtrOutput) ToClusterInstallConfigUserPtrOutput() ClusterInstallConfigUserPtrOutput { +func (o K0sDualStackPtrOutput) ToK0sDualStackPtrOutput() K0sDualStackPtrOutput { return o } -func (o ClusterInstallConfigUserPtrOutput) ToClusterInstallConfigUserPtrOutputWithContext(ctx context.Context) ClusterInstallConfigUserPtrOutput { +func (o K0sDualStackPtrOutput) ToK0sDualStackPtrOutputWithContext(ctx context.Context) K0sDualStackPtrOutput { return o } -func (o ClusterInstallConfigUserPtrOutput) Elem() ClusterInstallConfigUserOutput { - return o.ApplyT(func(v *ClusterInstallConfigUser) ClusterInstallConfigUser { +func (o K0sDualStackPtrOutput) Elem() K0sDualStackOutput { + return o.ApplyT(func(v *K0sDualStack) K0sDualStack { if v != nil { return *v } - var ret ClusterInstallConfigUser + var ret K0sDualStack return ret - }).(ClusterInstallConfigUserOutput) -} - -func (o ClusterInstallConfigUserPtrOutput) EtcdUser() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterInstallConfigUser) *string { - if v == nil { - return nil - } - return v.EtcdUser - }).(pulumi.StringPtrOutput) -} - -func (o ClusterInstallConfigUserPtrOutput) KineUser() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterInstallConfigUser) *string { - if v == nil { - return nil - } - return v.KineUser - }).(pulumi.StringPtrOutput) + }).(K0sDualStackOutput) } -func (o ClusterInstallConfigUserPtrOutput) KonnectivityUser() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterInstallConfigUser) *string { +func (o K0sDualStackPtrOutput) IPv6podCIDR() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sDualStack) *string { if v == nil { return nil } - return v.KonnectivityUser + return v.IPv6podCIDR }).(pulumi.StringPtrOutput) } -func (o ClusterInstallConfigUserPtrOutput) KubeAPIserverUser() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterInstallConfigUser) *string { +func (o K0sDualStackPtrOutput) IPv6serviceCIDR() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sDualStack) *string { if v == nil { return nil } - return v.KubeAPIserverUser + return v.IPv6serviceCIDR }).(pulumi.StringPtrOutput) } -func (o ClusterInstallConfigUserPtrOutput) KubeSchedulerUser() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterInstallConfigUser) *string { +func (o K0sDualStackPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *K0sDualStack) *bool { if v == nil { return nil } - return v.KubeSchedulerUser - }).(pulumi.StringPtrOutput) + return v.Enabled + }).(pulumi.BoolPtrOutput) } -type ClusterK0s struct { - Config *ClusterK0sConfig `pulumi:"config"` - DynamicConfig *bool `pulumi:"dynamicConfig"` - Version *string `pulumi:"version"` - VersionChannel *string `pulumi:"versionChannel"` +type K0sEnvoyProxy struct { + ApiServerBindPort *int `pulumi:"apiServerBindPort"` + Image *string `pulumi:"image"` + ImagePullPolicy *string `pulumi:"imagePullPolicy"` + KonnectivityServerBindPort *int `pulumi:"konnectivityServerBindPort"` } -// ClusterK0sInput is an input type that accepts ClusterK0sArgs and ClusterK0sOutput values. -// You can construct a concrete instance of `ClusterK0sInput` via: +// K0sEnvoyProxyInput is an input type that accepts K0sEnvoyProxyArgs and K0sEnvoyProxyOutput values. +// You can construct a concrete instance of `K0sEnvoyProxyInput` via: // -// ClusterK0sArgs{...} -type ClusterK0sInput interface { +// K0sEnvoyProxyArgs{...} +type K0sEnvoyProxyInput interface { pulumi.Input - ToClusterK0sOutput() ClusterK0sOutput - ToClusterK0sOutputWithContext(context.Context) ClusterK0sOutput + ToK0sEnvoyProxyOutput() K0sEnvoyProxyOutput + ToK0sEnvoyProxyOutputWithContext(context.Context) K0sEnvoyProxyOutput } -type ClusterK0sArgs struct { - Config ClusterK0sConfigPtrInput `pulumi:"config"` - DynamicConfig pulumi.BoolPtrInput `pulumi:"dynamicConfig"` - Version pulumi.StringPtrInput `pulumi:"version"` - VersionChannel pulumi.StringPtrInput `pulumi:"versionChannel"` +type K0sEnvoyProxyArgs struct { + ApiServerBindPort pulumi.IntPtrInput `pulumi:"apiServerBindPort"` + Image pulumi.StringPtrInput `pulumi:"image"` + ImagePullPolicy pulumi.StringPtrInput `pulumi:"imagePullPolicy"` + KonnectivityServerBindPort pulumi.IntPtrInput `pulumi:"konnectivityServerBindPort"` } -func (ClusterK0sArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterK0s)(nil)).Elem() +func (K0sEnvoyProxyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sEnvoyProxy)(nil)).Elem() } -func (i ClusterK0sArgs) ToClusterK0sOutput() ClusterK0sOutput { - return i.ToClusterK0sOutputWithContext(context.Background()) +func (i K0sEnvoyProxyArgs) ToK0sEnvoyProxyOutput() K0sEnvoyProxyOutput { + return i.ToK0sEnvoyProxyOutputWithContext(context.Background()) } -func (i ClusterK0sArgs) ToClusterK0sOutputWithContext(ctx context.Context) ClusterK0sOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterK0sOutput) +func (i K0sEnvoyProxyArgs) ToK0sEnvoyProxyOutputWithContext(ctx context.Context) K0sEnvoyProxyOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sEnvoyProxyOutput) } -func (i ClusterK0sArgs) ToClusterK0sPtrOutput() ClusterK0sPtrOutput { - return i.ToClusterK0sPtrOutputWithContext(context.Background()) +func (i K0sEnvoyProxyArgs) ToK0sEnvoyProxyPtrOutput() K0sEnvoyProxyPtrOutput { + return i.ToK0sEnvoyProxyPtrOutputWithContext(context.Background()) } -func (i ClusterK0sArgs) ToClusterK0sPtrOutputWithContext(ctx context.Context) ClusterK0sPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterK0sOutput).ToClusterK0sPtrOutputWithContext(ctx) +func (i K0sEnvoyProxyArgs) ToK0sEnvoyProxyPtrOutputWithContext(ctx context.Context) K0sEnvoyProxyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sEnvoyProxyOutput).ToK0sEnvoyProxyPtrOutputWithContext(ctx) } -// ClusterK0sPtrInput is an input type that accepts ClusterK0sArgs, ClusterK0sPtr and ClusterK0sPtrOutput values. -// You can construct a concrete instance of `ClusterK0sPtrInput` via: +// K0sEnvoyProxyPtrInput is an input type that accepts K0sEnvoyProxyArgs, K0sEnvoyProxyPtr and K0sEnvoyProxyPtrOutput values. +// You can construct a concrete instance of `K0sEnvoyProxyPtrInput` via: // -// ClusterK0sArgs{...} +// K0sEnvoyProxyArgs{...} // // or: // // nil -type ClusterK0sPtrInput interface { +type K0sEnvoyProxyPtrInput interface { pulumi.Input - ToClusterK0sPtrOutput() ClusterK0sPtrOutput - ToClusterK0sPtrOutputWithContext(context.Context) ClusterK0sPtrOutput + ToK0sEnvoyProxyPtrOutput() K0sEnvoyProxyPtrOutput + ToK0sEnvoyProxyPtrOutputWithContext(context.Context) K0sEnvoyProxyPtrOutput } -type clusterK0sPtrType ClusterK0sArgs +type k0sEnvoyProxyPtrType K0sEnvoyProxyArgs -func ClusterK0sPtr(v *ClusterK0sArgs) ClusterK0sPtrInput { - return (*clusterK0sPtrType)(v) +func K0sEnvoyProxyPtr(v *K0sEnvoyProxyArgs) K0sEnvoyProxyPtrInput { + return (*k0sEnvoyProxyPtrType)(v) } -func (*clusterK0sPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterK0s)(nil)).Elem() +func (*k0sEnvoyProxyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sEnvoyProxy)(nil)).Elem() } -func (i *clusterK0sPtrType) ToClusterK0sPtrOutput() ClusterK0sPtrOutput { - return i.ToClusterK0sPtrOutputWithContext(context.Background()) +func (i *k0sEnvoyProxyPtrType) ToK0sEnvoyProxyPtrOutput() K0sEnvoyProxyPtrOutput { + return i.ToK0sEnvoyProxyPtrOutputWithContext(context.Background()) } -func (i *clusterK0sPtrType) ToClusterK0sPtrOutputWithContext(ctx context.Context) ClusterK0sPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterK0sPtrOutput) +func (i *k0sEnvoyProxyPtrType) ToK0sEnvoyProxyPtrOutputWithContext(ctx context.Context) K0sEnvoyProxyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sEnvoyProxyPtrOutput) } -type ClusterK0sOutput struct{ *pulumi.OutputState } +type K0sEnvoyProxyOutput struct{ *pulumi.OutputState } -func (ClusterK0sOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterK0s)(nil)).Elem() +func (K0sEnvoyProxyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sEnvoyProxy)(nil)).Elem() } -func (o ClusterK0sOutput) ToClusterK0sOutput() ClusterK0sOutput { +func (o K0sEnvoyProxyOutput) ToK0sEnvoyProxyOutput() K0sEnvoyProxyOutput { return o } -func (o ClusterK0sOutput) ToClusterK0sOutputWithContext(ctx context.Context) ClusterK0sOutput { +func (o K0sEnvoyProxyOutput) ToK0sEnvoyProxyOutputWithContext(ctx context.Context) K0sEnvoyProxyOutput { return o } -func (o ClusterK0sOutput) ToClusterK0sPtrOutput() ClusterK0sPtrOutput { - return o.ToClusterK0sPtrOutputWithContext(context.Background()) +func (o K0sEnvoyProxyOutput) ToK0sEnvoyProxyPtrOutput() K0sEnvoyProxyPtrOutput { + return o.ToK0sEnvoyProxyPtrOutputWithContext(context.Background()) } -func (o ClusterK0sOutput) ToClusterK0sPtrOutputWithContext(ctx context.Context) ClusterK0sPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterK0s) *ClusterK0s { +func (o K0sEnvoyProxyOutput) ToK0sEnvoyProxyPtrOutputWithContext(ctx context.Context) K0sEnvoyProxyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sEnvoyProxy) *K0sEnvoyProxy { return &v - }).(ClusterK0sPtrOutput) + }).(K0sEnvoyProxyPtrOutput) } -func (o ClusterK0sOutput) Config() ClusterK0sConfigPtrOutput { - return o.ApplyT(func(v ClusterK0s) *ClusterK0sConfig { return v.Config }).(ClusterK0sConfigPtrOutput) +func (o K0sEnvoyProxyOutput) ApiServerBindPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v K0sEnvoyProxy) *int { return v.ApiServerBindPort }).(pulumi.IntPtrOutput) } -func (o ClusterK0sOutput) DynamicConfig() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterK0s) *bool { return v.DynamicConfig }).(pulumi.BoolPtrOutput) +func (o K0sEnvoyProxyOutput) Image() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sEnvoyProxy) *string { return v.Image }).(pulumi.StringPtrOutput) } -func (o ClusterK0sOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterK0s) *string { return v.Version }).(pulumi.StringPtrOutput) +func (o K0sEnvoyProxyOutput) ImagePullPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sEnvoyProxy) *string { return v.ImagePullPolicy }).(pulumi.StringPtrOutput) } -func (o ClusterK0sOutput) VersionChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterK0s) *string { return v.VersionChannel }).(pulumi.StringPtrOutput) +func (o K0sEnvoyProxyOutput) KonnectivityServerBindPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v K0sEnvoyProxy) *int { return v.KonnectivityServerBindPort }).(pulumi.IntPtrOutput) } -type ClusterK0sPtrOutput struct{ *pulumi.OutputState } +type K0sEnvoyProxyPtrOutput struct{ *pulumi.OutputState } -func (ClusterK0sPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterK0s)(nil)).Elem() +func (K0sEnvoyProxyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sEnvoyProxy)(nil)).Elem() } -func (o ClusterK0sPtrOutput) ToClusterK0sPtrOutput() ClusterK0sPtrOutput { +func (o K0sEnvoyProxyPtrOutput) ToK0sEnvoyProxyPtrOutput() K0sEnvoyProxyPtrOutput { return o } -func (o ClusterK0sPtrOutput) ToClusterK0sPtrOutputWithContext(ctx context.Context) ClusterK0sPtrOutput { +func (o K0sEnvoyProxyPtrOutput) ToK0sEnvoyProxyPtrOutputWithContext(ctx context.Context) K0sEnvoyProxyPtrOutput { return o } -func (o ClusterK0sPtrOutput) Elem() ClusterK0sOutput { - return o.ApplyT(func(v *ClusterK0s) ClusterK0s { +func (o K0sEnvoyProxyPtrOutput) Elem() K0sEnvoyProxyOutput { + return o.ApplyT(func(v *K0sEnvoyProxy) K0sEnvoyProxy { if v != nil { return *v } - var ret ClusterK0s + var ret K0sEnvoyProxy return ret - }).(ClusterK0sOutput) + }).(K0sEnvoyProxyOutput) } -func (o ClusterK0sPtrOutput) Config() ClusterK0sConfigPtrOutput { - return o.ApplyT(func(v *ClusterK0s) *ClusterK0sConfig { +func (o K0sEnvoyProxyPtrOutput) ApiServerBindPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *K0sEnvoyProxy) *int { if v == nil { return nil } - return v.Config - }).(ClusterK0sConfigPtrOutput) + return v.ApiServerBindPort + }).(pulumi.IntPtrOutput) } -func (o ClusterK0sPtrOutput) DynamicConfig() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterK0s) *bool { +func (o K0sEnvoyProxyPtrOutput) Image() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sEnvoyProxy) *string { if v == nil { return nil } - return v.DynamicConfig - }).(pulumi.BoolPtrOutput) + return v.Image + }).(pulumi.StringPtrOutput) } -func (o ClusterK0sPtrOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterK0s) *string { +func (o K0sEnvoyProxyPtrOutput) ImagePullPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sEnvoyProxy) *string { if v == nil { return nil } - return v.Version + return v.ImagePullPolicy }).(pulumi.StringPtrOutput) } -func (o ClusterK0sPtrOutput) VersionChannel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterK0s) *string { +func (o K0sEnvoyProxyPtrOutput) KonnectivityServerBindPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *K0sEnvoyProxy) *int { if v == nil { return nil } - return v.VersionChannel - }).(pulumi.StringPtrOutput) + return v.KonnectivityServerBindPort + }).(pulumi.IntPtrOutput) } -type ClusterK0sConfig struct { - Metadata *ClusterMetadata `pulumi:"metadata"` - Spec *ClusterK0sSpec `pulumi:"spec"` +type K0sEtcd struct { + ExternalCluster *K0sEtcdExternalCluster `pulumi:"externalCluster"` + ExtraArgs map[string]string `pulumi:"extraArgs"` + PeerAddress *string `pulumi:"peerAddress"` } -// ClusterK0sConfigInput is an input type that accepts ClusterK0sConfigArgs and ClusterK0sConfigOutput values. -// You can construct a concrete instance of `ClusterK0sConfigInput` via: +// K0sEtcdInput is an input type that accepts K0sEtcdArgs and K0sEtcdOutput values. +// You can construct a concrete instance of `K0sEtcdInput` via: // -// ClusterK0sConfigArgs{...} -type ClusterK0sConfigInput interface { +// K0sEtcdArgs{...} +type K0sEtcdInput interface { pulumi.Input - ToClusterK0sConfigOutput() ClusterK0sConfigOutput - ToClusterK0sConfigOutputWithContext(context.Context) ClusterK0sConfigOutput + ToK0sEtcdOutput() K0sEtcdOutput + ToK0sEtcdOutputWithContext(context.Context) K0sEtcdOutput } -type ClusterK0sConfigArgs struct { - Metadata ClusterMetadataPtrInput `pulumi:"metadata"` - Spec ClusterK0sSpecPtrInput `pulumi:"spec"` +type K0sEtcdArgs struct { + ExternalCluster K0sEtcdExternalClusterPtrInput `pulumi:"externalCluster"` + ExtraArgs pulumi.StringMapInput `pulumi:"extraArgs"` + PeerAddress pulumi.StringPtrInput `pulumi:"peerAddress"` } -func (ClusterK0sConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterK0sConfig)(nil)).Elem() +func (K0sEtcdArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sEtcd)(nil)).Elem() } -func (i ClusterK0sConfigArgs) ToClusterK0sConfigOutput() ClusterK0sConfigOutput { - return i.ToClusterK0sConfigOutputWithContext(context.Background()) +func (i K0sEtcdArgs) ToK0sEtcdOutput() K0sEtcdOutput { + return i.ToK0sEtcdOutputWithContext(context.Background()) } -func (i ClusterK0sConfigArgs) ToClusterK0sConfigOutputWithContext(ctx context.Context) ClusterK0sConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterK0sConfigOutput) +func (i K0sEtcdArgs) ToK0sEtcdOutputWithContext(ctx context.Context) K0sEtcdOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sEtcdOutput) } -func (i ClusterK0sConfigArgs) ToClusterK0sConfigPtrOutput() ClusterK0sConfigPtrOutput { - return i.ToClusterK0sConfigPtrOutputWithContext(context.Background()) +func (i K0sEtcdArgs) ToK0sEtcdPtrOutput() K0sEtcdPtrOutput { + return i.ToK0sEtcdPtrOutputWithContext(context.Background()) } -func (i ClusterK0sConfigArgs) ToClusterK0sConfigPtrOutputWithContext(ctx context.Context) ClusterK0sConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterK0sConfigOutput).ToClusterK0sConfigPtrOutputWithContext(ctx) +func (i K0sEtcdArgs) ToK0sEtcdPtrOutputWithContext(ctx context.Context) K0sEtcdPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sEtcdOutput).ToK0sEtcdPtrOutputWithContext(ctx) } -// ClusterK0sConfigPtrInput is an input type that accepts ClusterK0sConfigArgs, ClusterK0sConfigPtr and ClusterK0sConfigPtrOutput values. -// You can construct a concrete instance of `ClusterK0sConfigPtrInput` via: +// K0sEtcdPtrInput is an input type that accepts K0sEtcdArgs, K0sEtcdPtr and K0sEtcdPtrOutput values. +// You can construct a concrete instance of `K0sEtcdPtrInput` via: // -// ClusterK0sConfigArgs{...} +// K0sEtcdArgs{...} // // or: // // nil -type ClusterK0sConfigPtrInput interface { +type K0sEtcdPtrInput interface { pulumi.Input - ToClusterK0sConfigPtrOutput() ClusterK0sConfigPtrOutput - ToClusterK0sConfigPtrOutputWithContext(context.Context) ClusterK0sConfigPtrOutput + ToK0sEtcdPtrOutput() K0sEtcdPtrOutput + ToK0sEtcdPtrOutputWithContext(context.Context) K0sEtcdPtrOutput } -type clusterK0sConfigPtrType ClusterK0sConfigArgs +type k0sEtcdPtrType K0sEtcdArgs -func ClusterK0sConfigPtr(v *ClusterK0sConfigArgs) ClusterK0sConfigPtrInput { - return (*clusterK0sConfigPtrType)(v) +func K0sEtcdPtr(v *K0sEtcdArgs) K0sEtcdPtrInput { + return (*k0sEtcdPtrType)(v) } -func (*clusterK0sConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterK0sConfig)(nil)).Elem() +func (*k0sEtcdPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sEtcd)(nil)).Elem() } -func (i *clusterK0sConfigPtrType) ToClusterK0sConfigPtrOutput() ClusterK0sConfigPtrOutput { - return i.ToClusterK0sConfigPtrOutputWithContext(context.Background()) +func (i *k0sEtcdPtrType) ToK0sEtcdPtrOutput() K0sEtcdPtrOutput { + return i.ToK0sEtcdPtrOutputWithContext(context.Background()) } -func (i *clusterK0sConfigPtrType) ToClusterK0sConfigPtrOutputWithContext(ctx context.Context) ClusterK0sConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterK0sConfigPtrOutput) +func (i *k0sEtcdPtrType) ToK0sEtcdPtrOutputWithContext(ctx context.Context) K0sEtcdPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sEtcdPtrOutput) } -type ClusterK0sConfigOutput struct{ *pulumi.OutputState } +type K0sEtcdOutput struct{ *pulumi.OutputState } -func (ClusterK0sConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterK0sConfig)(nil)).Elem() +func (K0sEtcdOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sEtcd)(nil)).Elem() } -func (o ClusterK0sConfigOutput) ToClusterK0sConfigOutput() ClusterK0sConfigOutput { +func (o K0sEtcdOutput) ToK0sEtcdOutput() K0sEtcdOutput { return o } -func (o ClusterK0sConfigOutput) ToClusterK0sConfigOutputWithContext(ctx context.Context) ClusterK0sConfigOutput { +func (o K0sEtcdOutput) ToK0sEtcdOutputWithContext(ctx context.Context) K0sEtcdOutput { return o } -func (o ClusterK0sConfigOutput) ToClusterK0sConfigPtrOutput() ClusterK0sConfigPtrOutput { - return o.ToClusterK0sConfigPtrOutputWithContext(context.Background()) +func (o K0sEtcdOutput) ToK0sEtcdPtrOutput() K0sEtcdPtrOutput { + return o.ToK0sEtcdPtrOutputWithContext(context.Background()) } -func (o ClusterK0sConfigOutput) ToClusterK0sConfigPtrOutputWithContext(ctx context.Context) ClusterK0sConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterK0sConfig) *ClusterK0sConfig { +func (o K0sEtcdOutput) ToK0sEtcdPtrOutputWithContext(ctx context.Context) K0sEtcdPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sEtcd) *K0sEtcd { return &v - }).(ClusterK0sConfigPtrOutput) + }).(K0sEtcdPtrOutput) +} + +func (o K0sEtcdOutput) ExternalCluster() K0sEtcdExternalClusterPtrOutput { + return o.ApplyT(func(v K0sEtcd) *K0sEtcdExternalCluster { return v.ExternalCluster }).(K0sEtcdExternalClusterPtrOutput) } -func (o ClusterK0sConfigOutput) Metadata() ClusterMetadataPtrOutput { - return o.ApplyT(func(v ClusterK0sConfig) *ClusterMetadata { return v.Metadata }).(ClusterMetadataPtrOutput) +func (o K0sEtcdOutput) ExtraArgs() pulumi.StringMapOutput { + return o.ApplyT(func(v K0sEtcd) map[string]string { return v.ExtraArgs }).(pulumi.StringMapOutput) } -func (o ClusterK0sConfigOutput) Spec() ClusterK0sSpecPtrOutput { - return o.ApplyT(func(v ClusterK0sConfig) *ClusterK0sSpec { return v.Spec }).(ClusterK0sSpecPtrOutput) +func (o K0sEtcdOutput) PeerAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sEtcd) *string { return v.PeerAddress }).(pulumi.StringPtrOutput) } -type ClusterK0sConfigPtrOutput struct{ *pulumi.OutputState } +type K0sEtcdPtrOutput struct{ *pulumi.OutputState } -func (ClusterK0sConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterK0sConfig)(nil)).Elem() +func (K0sEtcdPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sEtcd)(nil)).Elem() } -func (o ClusterK0sConfigPtrOutput) ToClusterK0sConfigPtrOutput() ClusterK0sConfigPtrOutput { +func (o K0sEtcdPtrOutput) ToK0sEtcdPtrOutput() K0sEtcdPtrOutput { return o } -func (o ClusterK0sConfigPtrOutput) ToClusterK0sConfigPtrOutputWithContext(ctx context.Context) ClusterK0sConfigPtrOutput { +func (o K0sEtcdPtrOutput) ToK0sEtcdPtrOutputWithContext(ctx context.Context) K0sEtcdPtrOutput { return o } -func (o ClusterK0sConfigPtrOutput) Elem() ClusterK0sConfigOutput { - return o.ApplyT(func(v *ClusterK0sConfig) ClusterK0sConfig { +func (o K0sEtcdPtrOutput) Elem() K0sEtcdOutput { + return o.ApplyT(func(v *K0sEtcd) K0sEtcd { if v != nil { return *v } - var ret ClusterK0sConfig + var ret K0sEtcd return ret - }).(ClusterK0sConfigOutput) + }).(K0sEtcdOutput) } -func (o ClusterK0sConfigPtrOutput) Metadata() ClusterMetadataPtrOutput { - return o.ApplyT(func(v *ClusterK0sConfig) *ClusterMetadata { +func (o K0sEtcdPtrOutput) ExternalCluster() K0sEtcdExternalClusterPtrOutput { + return o.ApplyT(func(v *K0sEtcd) *K0sEtcdExternalCluster { if v == nil { return nil } - return v.Metadata - }).(ClusterMetadataPtrOutput) + return v.ExternalCluster + }).(K0sEtcdExternalClusterPtrOutput) } -func (o ClusterK0sConfigPtrOutput) Spec() ClusterK0sSpecPtrOutput { - return o.ApplyT(func(v *ClusterK0sConfig) *ClusterK0sSpec { +func (o K0sEtcdPtrOutput) ExtraArgs() pulumi.StringMapOutput { + return o.ApplyT(func(v *K0sEtcd) map[string]string { if v == nil { return nil } - return v.Spec - }).(ClusterK0sSpecPtrOutput) + return v.ExtraArgs + }).(pulumi.StringMapOutput) +} + +func (o K0sEtcdPtrOutput) PeerAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sEtcd) *string { + if v == nil { + return nil + } + return v.PeerAddress + }).(pulumi.StringPtrOutput) } -type ClusterK0sSpec struct { - Api *ClusterAPI `pulumi:"api"` - ControllerManager *ClusterControllerManager `pulumi:"controllerManager"` - FeatureGates []ClusterFeatureGate `pulumi:"featureGates"` - Images *ClusterImages `pulumi:"images"` - InstallConfig *ClusterInstallConfig `pulumi:"installConfig"` - Konnectivity *ClusterKonnectivity `pulumi:"konnectivity"` - Network *ClusterNetwork `pulumi:"network"` - PodSecurityPolicy *ClusterPodSecurityPolicy `pulumi:"podSecurityPolicy"` - Scheduler *ClusterScheduler `pulumi:"scheduler"` - Storage *ClusterStorage `pulumi:"storage"` - Telemetry *ClusterTelemetry `pulumi:"telemetry"` - WorkerProfiles []ClusterWorkerProfile `pulumi:"workerProfiles"` +type K0sEtcdExternalCluster struct { + Ca *string `pulumi:"ca"` + ClientCert *string `pulumi:"clientCert"` + ClientKey *string `pulumi:"clientKey"` + Endpoints []string `pulumi:"endpoints"` + EtcdPrefix *string `pulumi:"etcdPrefix"` } -// ClusterK0sSpecInput is an input type that accepts ClusterK0sSpecArgs and ClusterK0sSpecOutput values. -// You can construct a concrete instance of `ClusterK0sSpecInput` via: +// K0sEtcdExternalClusterInput is an input type that accepts K0sEtcdExternalClusterArgs and K0sEtcdExternalClusterOutput values. +// You can construct a concrete instance of `K0sEtcdExternalClusterInput` via: // -// ClusterK0sSpecArgs{...} -type ClusterK0sSpecInput interface { +// K0sEtcdExternalClusterArgs{...} +type K0sEtcdExternalClusterInput interface { pulumi.Input - ToClusterK0sSpecOutput() ClusterK0sSpecOutput - ToClusterK0sSpecOutputWithContext(context.Context) ClusterK0sSpecOutput + ToK0sEtcdExternalClusterOutput() K0sEtcdExternalClusterOutput + ToK0sEtcdExternalClusterOutputWithContext(context.Context) K0sEtcdExternalClusterOutput } -type ClusterK0sSpecArgs struct { - Api ClusterAPIPtrInput `pulumi:"api"` - ControllerManager ClusterControllerManagerPtrInput `pulumi:"controllerManager"` - FeatureGates ClusterFeatureGateArrayInput `pulumi:"featureGates"` - Images ClusterImagesPtrInput `pulumi:"images"` - InstallConfig ClusterInstallConfigPtrInput `pulumi:"installConfig"` - Konnectivity ClusterKonnectivityPtrInput `pulumi:"konnectivity"` - Network ClusterNetworkPtrInput `pulumi:"network"` - PodSecurityPolicy ClusterPodSecurityPolicyPtrInput `pulumi:"podSecurityPolicy"` - Scheduler ClusterSchedulerPtrInput `pulumi:"scheduler"` - Storage ClusterStoragePtrInput `pulumi:"storage"` - Telemetry ClusterTelemetryPtrInput `pulumi:"telemetry"` - WorkerProfiles ClusterWorkerProfileArrayInput `pulumi:"workerProfiles"` +type K0sEtcdExternalClusterArgs struct { + Ca pulumi.StringPtrInput `pulumi:"ca"` + ClientCert pulumi.StringPtrInput `pulumi:"clientCert"` + ClientKey pulumi.StringPtrInput `pulumi:"clientKey"` + Endpoints pulumi.StringArrayInput `pulumi:"endpoints"` + EtcdPrefix pulumi.StringPtrInput `pulumi:"etcdPrefix"` } -func (ClusterK0sSpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterK0sSpec)(nil)).Elem() +func (K0sEtcdExternalClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sEtcdExternalCluster)(nil)).Elem() } -func (i ClusterK0sSpecArgs) ToClusterK0sSpecOutput() ClusterK0sSpecOutput { - return i.ToClusterK0sSpecOutputWithContext(context.Background()) +func (i K0sEtcdExternalClusterArgs) ToK0sEtcdExternalClusterOutput() K0sEtcdExternalClusterOutput { + return i.ToK0sEtcdExternalClusterOutputWithContext(context.Background()) } -func (i ClusterK0sSpecArgs) ToClusterK0sSpecOutputWithContext(ctx context.Context) ClusterK0sSpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterK0sSpecOutput) +func (i K0sEtcdExternalClusterArgs) ToK0sEtcdExternalClusterOutputWithContext(ctx context.Context) K0sEtcdExternalClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sEtcdExternalClusterOutput) } -func (i ClusterK0sSpecArgs) ToClusterK0sSpecPtrOutput() ClusterK0sSpecPtrOutput { - return i.ToClusterK0sSpecPtrOutputWithContext(context.Background()) +func (i K0sEtcdExternalClusterArgs) ToK0sEtcdExternalClusterPtrOutput() K0sEtcdExternalClusterPtrOutput { + return i.ToK0sEtcdExternalClusterPtrOutputWithContext(context.Background()) } -func (i ClusterK0sSpecArgs) ToClusterK0sSpecPtrOutputWithContext(ctx context.Context) ClusterK0sSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterK0sSpecOutput).ToClusterK0sSpecPtrOutputWithContext(ctx) +func (i K0sEtcdExternalClusterArgs) ToK0sEtcdExternalClusterPtrOutputWithContext(ctx context.Context) K0sEtcdExternalClusterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sEtcdExternalClusterOutput).ToK0sEtcdExternalClusterPtrOutputWithContext(ctx) } -// ClusterK0sSpecPtrInput is an input type that accepts ClusterK0sSpecArgs, ClusterK0sSpecPtr and ClusterK0sSpecPtrOutput values. -// You can construct a concrete instance of `ClusterK0sSpecPtrInput` via: +// K0sEtcdExternalClusterPtrInput is an input type that accepts K0sEtcdExternalClusterArgs, K0sEtcdExternalClusterPtr and K0sEtcdExternalClusterPtrOutput values. +// You can construct a concrete instance of `K0sEtcdExternalClusterPtrInput` via: // -// ClusterK0sSpecArgs{...} +// K0sEtcdExternalClusterArgs{...} // // or: // // nil -type ClusterK0sSpecPtrInput interface { +type K0sEtcdExternalClusterPtrInput interface { pulumi.Input - ToClusterK0sSpecPtrOutput() ClusterK0sSpecPtrOutput - ToClusterK0sSpecPtrOutputWithContext(context.Context) ClusterK0sSpecPtrOutput + ToK0sEtcdExternalClusterPtrOutput() K0sEtcdExternalClusterPtrOutput + ToK0sEtcdExternalClusterPtrOutputWithContext(context.Context) K0sEtcdExternalClusterPtrOutput } -type clusterK0sSpecPtrType ClusterK0sSpecArgs +type k0sEtcdExternalClusterPtrType K0sEtcdExternalClusterArgs -func ClusterK0sSpecPtr(v *ClusterK0sSpecArgs) ClusterK0sSpecPtrInput { - return (*clusterK0sSpecPtrType)(v) +func K0sEtcdExternalClusterPtr(v *K0sEtcdExternalClusterArgs) K0sEtcdExternalClusterPtrInput { + return (*k0sEtcdExternalClusterPtrType)(v) } -func (*clusterK0sSpecPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterK0sSpec)(nil)).Elem() +func (*k0sEtcdExternalClusterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sEtcdExternalCluster)(nil)).Elem() } -func (i *clusterK0sSpecPtrType) ToClusterK0sSpecPtrOutput() ClusterK0sSpecPtrOutput { - return i.ToClusterK0sSpecPtrOutputWithContext(context.Background()) +func (i *k0sEtcdExternalClusterPtrType) ToK0sEtcdExternalClusterPtrOutput() K0sEtcdExternalClusterPtrOutput { + return i.ToK0sEtcdExternalClusterPtrOutputWithContext(context.Background()) } -func (i *clusterK0sSpecPtrType) ToClusterK0sSpecPtrOutputWithContext(ctx context.Context) ClusterK0sSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterK0sSpecPtrOutput) +func (i *k0sEtcdExternalClusterPtrType) ToK0sEtcdExternalClusterPtrOutputWithContext(ctx context.Context) K0sEtcdExternalClusterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sEtcdExternalClusterPtrOutput) } -type ClusterK0sSpecOutput struct{ *pulumi.OutputState } +type K0sEtcdExternalClusterOutput struct{ *pulumi.OutputState } -func (ClusterK0sSpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterK0sSpec)(nil)).Elem() +func (K0sEtcdExternalClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sEtcdExternalCluster)(nil)).Elem() } -func (o ClusterK0sSpecOutput) ToClusterK0sSpecOutput() ClusterK0sSpecOutput { +func (o K0sEtcdExternalClusterOutput) ToK0sEtcdExternalClusterOutput() K0sEtcdExternalClusterOutput { return o } -func (o ClusterK0sSpecOutput) ToClusterK0sSpecOutputWithContext(ctx context.Context) ClusterK0sSpecOutput { +func (o K0sEtcdExternalClusterOutput) ToK0sEtcdExternalClusterOutputWithContext(ctx context.Context) K0sEtcdExternalClusterOutput { return o } -func (o ClusterK0sSpecOutput) ToClusterK0sSpecPtrOutput() ClusterK0sSpecPtrOutput { - return o.ToClusterK0sSpecPtrOutputWithContext(context.Background()) +func (o K0sEtcdExternalClusterOutput) ToK0sEtcdExternalClusterPtrOutput() K0sEtcdExternalClusterPtrOutput { + return o.ToK0sEtcdExternalClusterPtrOutputWithContext(context.Background()) } -func (o ClusterK0sSpecOutput) ToClusterK0sSpecPtrOutputWithContext(ctx context.Context) ClusterK0sSpecPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterK0sSpec) *ClusterK0sSpec { +func (o K0sEtcdExternalClusterOutput) ToK0sEtcdExternalClusterPtrOutputWithContext(ctx context.Context) K0sEtcdExternalClusterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sEtcdExternalCluster) *K0sEtcdExternalCluster { return &v - }).(ClusterK0sSpecPtrOutput) + }).(K0sEtcdExternalClusterPtrOutput) } -func (o ClusterK0sSpecOutput) Api() ClusterAPIPtrOutput { - return o.ApplyT(func(v ClusterK0sSpec) *ClusterAPI { return v.Api }).(ClusterAPIPtrOutput) +func (o K0sEtcdExternalClusterOutput) Ca() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sEtcdExternalCluster) *string { return v.Ca }).(pulumi.StringPtrOutput) } -func (o ClusterK0sSpecOutput) ControllerManager() ClusterControllerManagerPtrOutput { - return o.ApplyT(func(v ClusterK0sSpec) *ClusterControllerManager { return v.ControllerManager }).(ClusterControllerManagerPtrOutput) +func (o K0sEtcdExternalClusterOutput) ClientCert() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sEtcdExternalCluster) *string { return v.ClientCert }).(pulumi.StringPtrOutput) } -func (o ClusterK0sSpecOutput) FeatureGates() ClusterFeatureGateArrayOutput { - return o.ApplyT(func(v ClusterK0sSpec) []ClusterFeatureGate { return v.FeatureGates }).(ClusterFeatureGateArrayOutput) +func (o K0sEtcdExternalClusterOutput) ClientKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sEtcdExternalCluster) *string { return v.ClientKey }).(pulumi.StringPtrOutput) } -func (o ClusterK0sSpecOutput) Images() ClusterImagesPtrOutput { - return o.ApplyT(func(v ClusterK0sSpec) *ClusterImages { return v.Images }).(ClusterImagesPtrOutput) +func (o K0sEtcdExternalClusterOutput) Endpoints() pulumi.StringArrayOutput { + return o.ApplyT(func(v K0sEtcdExternalCluster) []string { return v.Endpoints }).(pulumi.StringArrayOutput) } -func (o ClusterK0sSpecOutput) InstallConfig() ClusterInstallConfigPtrOutput { - return o.ApplyT(func(v ClusterK0sSpec) *ClusterInstallConfig { return v.InstallConfig }).(ClusterInstallConfigPtrOutput) +func (o K0sEtcdExternalClusterOutput) EtcdPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sEtcdExternalCluster) *string { return v.EtcdPrefix }).(pulumi.StringPtrOutput) } -func (o ClusterK0sSpecOutput) Konnectivity() ClusterKonnectivityPtrOutput { - return o.ApplyT(func(v ClusterK0sSpec) *ClusterKonnectivity { return v.Konnectivity }).(ClusterKonnectivityPtrOutput) -} - -func (o ClusterK0sSpecOutput) Network() ClusterNetworkPtrOutput { - return o.ApplyT(func(v ClusterK0sSpec) *ClusterNetwork { return v.Network }).(ClusterNetworkPtrOutput) -} - -func (o ClusterK0sSpecOutput) PodSecurityPolicy() ClusterPodSecurityPolicyPtrOutput { - return o.ApplyT(func(v ClusterK0sSpec) *ClusterPodSecurityPolicy { return v.PodSecurityPolicy }).(ClusterPodSecurityPolicyPtrOutput) -} - -func (o ClusterK0sSpecOutput) Scheduler() ClusterSchedulerPtrOutput { - return o.ApplyT(func(v ClusterK0sSpec) *ClusterScheduler { return v.Scheduler }).(ClusterSchedulerPtrOutput) -} - -func (o ClusterK0sSpecOutput) Storage() ClusterStoragePtrOutput { - return o.ApplyT(func(v ClusterK0sSpec) *ClusterStorage { return v.Storage }).(ClusterStoragePtrOutput) -} - -func (o ClusterK0sSpecOutput) Telemetry() ClusterTelemetryPtrOutput { - return o.ApplyT(func(v ClusterK0sSpec) *ClusterTelemetry { return v.Telemetry }).(ClusterTelemetryPtrOutput) -} - -func (o ClusterK0sSpecOutput) WorkerProfiles() ClusterWorkerProfileArrayOutput { - return o.ApplyT(func(v ClusterK0sSpec) []ClusterWorkerProfile { return v.WorkerProfiles }).(ClusterWorkerProfileArrayOutput) -} - -type ClusterK0sSpecPtrOutput struct{ *pulumi.OutputState } +type K0sEtcdExternalClusterPtrOutput struct{ *pulumi.OutputState } -func (ClusterK0sSpecPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterK0sSpec)(nil)).Elem() +func (K0sEtcdExternalClusterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sEtcdExternalCluster)(nil)).Elem() } -func (o ClusterK0sSpecPtrOutput) ToClusterK0sSpecPtrOutput() ClusterK0sSpecPtrOutput { +func (o K0sEtcdExternalClusterPtrOutput) ToK0sEtcdExternalClusterPtrOutput() K0sEtcdExternalClusterPtrOutput { return o } -func (o ClusterK0sSpecPtrOutput) ToClusterK0sSpecPtrOutputWithContext(ctx context.Context) ClusterK0sSpecPtrOutput { +func (o K0sEtcdExternalClusterPtrOutput) ToK0sEtcdExternalClusterPtrOutputWithContext(ctx context.Context) K0sEtcdExternalClusterPtrOutput { return o } -func (o ClusterK0sSpecPtrOutput) Elem() ClusterK0sSpecOutput { - return o.ApplyT(func(v *ClusterK0sSpec) ClusterK0sSpec { +func (o K0sEtcdExternalClusterPtrOutput) Elem() K0sEtcdExternalClusterOutput { + return o.ApplyT(func(v *K0sEtcdExternalCluster) K0sEtcdExternalCluster { if v != nil { return *v } - var ret ClusterK0sSpec + var ret K0sEtcdExternalCluster return ret - }).(ClusterK0sSpecOutput) -} - -func (o ClusterK0sSpecPtrOutput) Api() ClusterAPIPtrOutput { - return o.ApplyT(func(v *ClusterK0sSpec) *ClusterAPI { - if v == nil { - return nil - } - return v.Api - }).(ClusterAPIPtrOutput) -} - -func (o ClusterK0sSpecPtrOutput) ControllerManager() ClusterControllerManagerPtrOutput { - return o.ApplyT(func(v *ClusterK0sSpec) *ClusterControllerManager { - if v == nil { - return nil - } - return v.ControllerManager - }).(ClusterControllerManagerPtrOutput) -} - -func (o ClusterK0sSpecPtrOutput) FeatureGates() ClusterFeatureGateArrayOutput { - return o.ApplyT(func(v *ClusterK0sSpec) []ClusterFeatureGate { - if v == nil { - return nil - } - return v.FeatureGates - }).(ClusterFeatureGateArrayOutput) -} - -func (o ClusterK0sSpecPtrOutput) Images() ClusterImagesPtrOutput { - return o.ApplyT(func(v *ClusterK0sSpec) *ClusterImages { - if v == nil { - return nil - } - return v.Images - }).(ClusterImagesPtrOutput) -} - -func (o ClusterK0sSpecPtrOutput) InstallConfig() ClusterInstallConfigPtrOutput { - return o.ApplyT(func(v *ClusterK0sSpec) *ClusterInstallConfig { - if v == nil { - return nil - } - return v.InstallConfig - }).(ClusterInstallConfigPtrOutput) -} - -func (o ClusterK0sSpecPtrOutput) Konnectivity() ClusterKonnectivityPtrOutput { - return o.ApplyT(func(v *ClusterK0sSpec) *ClusterKonnectivity { - if v == nil { - return nil - } - return v.Konnectivity - }).(ClusterKonnectivityPtrOutput) -} - -func (o ClusterK0sSpecPtrOutput) Network() ClusterNetworkPtrOutput { - return o.ApplyT(func(v *ClusterK0sSpec) *ClusterNetwork { - if v == nil { - return nil - } - return v.Network - }).(ClusterNetworkPtrOutput) + }).(K0sEtcdExternalClusterOutput) } -func (o ClusterK0sSpecPtrOutput) PodSecurityPolicy() ClusterPodSecurityPolicyPtrOutput { - return o.ApplyT(func(v *ClusterK0sSpec) *ClusterPodSecurityPolicy { +func (o K0sEtcdExternalClusterPtrOutput) Ca() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sEtcdExternalCluster) *string { if v == nil { return nil } - return v.PodSecurityPolicy - }).(ClusterPodSecurityPolicyPtrOutput) + return v.Ca + }).(pulumi.StringPtrOutput) } -func (o ClusterK0sSpecPtrOutput) Scheduler() ClusterSchedulerPtrOutput { - return o.ApplyT(func(v *ClusterK0sSpec) *ClusterScheduler { +func (o K0sEtcdExternalClusterPtrOutput) ClientCert() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sEtcdExternalCluster) *string { if v == nil { return nil } - return v.Scheduler - }).(ClusterSchedulerPtrOutput) + return v.ClientCert + }).(pulumi.StringPtrOutput) } -func (o ClusterK0sSpecPtrOutput) Storage() ClusterStoragePtrOutput { - return o.ApplyT(func(v *ClusterK0sSpec) *ClusterStorage { +func (o K0sEtcdExternalClusterPtrOutput) ClientKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sEtcdExternalCluster) *string { if v == nil { return nil } - return v.Storage - }).(ClusterStoragePtrOutput) + return v.ClientKey + }).(pulumi.StringPtrOutput) } -func (o ClusterK0sSpecPtrOutput) Telemetry() ClusterTelemetryPtrOutput { - return o.ApplyT(func(v *ClusterK0sSpec) *ClusterTelemetry { +func (o K0sEtcdExternalClusterPtrOutput) Endpoints() pulumi.StringArrayOutput { + return o.ApplyT(func(v *K0sEtcdExternalCluster) []string { if v == nil { return nil } - return v.Telemetry - }).(ClusterTelemetryPtrOutput) + return v.Endpoints + }).(pulumi.StringArrayOutput) } -func (o ClusterK0sSpecPtrOutput) WorkerProfiles() ClusterWorkerProfileArrayOutput { - return o.ApplyT(func(v *ClusterK0sSpec) []ClusterWorkerProfile { +func (o K0sEtcdExternalClusterPtrOutput) EtcdPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sEtcdExternalCluster) *string { if v == nil { return nil } - return v.WorkerProfiles - }).(ClusterWorkerProfileArrayOutput) + return v.EtcdPrefix + }).(pulumi.StringPtrOutput) } -type ClusterKine struct { - DataSource string `pulumi:"dataSource"` +type K0sFeatureGate struct { + Components []string `pulumi:"components"` + Enabled *bool `pulumi:"enabled"` + Name string `pulumi:"name"` } -// ClusterKineInput is an input type that accepts ClusterKineArgs and ClusterKineOutput values. -// You can construct a concrete instance of `ClusterKineInput` via: +// K0sFeatureGateInput is an input type that accepts K0sFeatureGateArgs and K0sFeatureGateOutput values. +// You can construct a concrete instance of `K0sFeatureGateInput` via: // -// ClusterKineArgs{...} -type ClusterKineInput interface { +// K0sFeatureGateArgs{...} +type K0sFeatureGateInput interface { pulumi.Input - ToClusterKineOutput() ClusterKineOutput - ToClusterKineOutputWithContext(context.Context) ClusterKineOutput -} - -type ClusterKineArgs struct { - DataSource pulumi.StringInput `pulumi:"dataSource"` -} - -func (ClusterKineArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterKine)(nil)).Elem() + ToK0sFeatureGateOutput() K0sFeatureGateOutput + ToK0sFeatureGateOutputWithContext(context.Context) K0sFeatureGateOutput } -func (i ClusterKineArgs) ToClusterKineOutput() ClusterKineOutput { - return i.ToClusterKineOutputWithContext(context.Background()) +type K0sFeatureGateArgs struct { + Components pulumi.StringArrayInput `pulumi:"components"` + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + Name pulumi.StringInput `pulumi:"name"` } -func (i ClusterKineArgs) ToClusterKineOutputWithContext(ctx context.Context) ClusterKineOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKineOutput) +func (K0sFeatureGateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sFeatureGate)(nil)).Elem() } -func (i ClusterKineArgs) ToClusterKinePtrOutput() ClusterKinePtrOutput { - return i.ToClusterKinePtrOutputWithContext(context.Background()) +func (i K0sFeatureGateArgs) ToK0sFeatureGateOutput() K0sFeatureGateOutput { + return i.ToK0sFeatureGateOutputWithContext(context.Background()) } -func (i ClusterKineArgs) ToClusterKinePtrOutputWithContext(ctx context.Context) ClusterKinePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKineOutput).ToClusterKinePtrOutputWithContext(ctx) +func (i K0sFeatureGateArgs) ToK0sFeatureGateOutputWithContext(ctx context.Context) K0sFeatureGateOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sFeatureGateOutput) } -// ClusterKinePtrInput is an input type that accepts ClusterKineArgs, ClusterKinePtr and ClusterKinePtrOutput values. -// You can construct a concrete instance of `ClusterKinePtrInput` via: -// -// ClusterKineArgs{...} +// K0sFeatureGateArrayInput is an input type that accepts K0sFeatureGateArray and K0sFeatureGateArrayOutput values. +// You can construct a concrete instance of `K0sFeatureGateArrayInput` via: // -// or: -// -// nil -type ClusterKinePtrInput interface { +// K0sFeatureGateArray{ K0sFeatureGateArgs{...} } +type K0sFeatureGateArrayInput interface { pulumi.Input - ToClusterKinePtrOutput() ClusterKinePtrOutput - ToClusterKinePtrOutputWithContext(context.Context) ClusterKinePtrOutput + ToK0sFeatureGateArrayOutput() K0sFeatureGateArrayOutput + ToK0sFeatureGateArrayOutputWithContext(context.Context) K0sFeatureGateArrayOutput } -type clusterKinePtrType ClusterKineArgs - -func ClusterKinePtr(v *ClusterKineArgs) ClusterKinePtrInput { - return (*clusterKinePtrType)(v) -} +type K0sFeatureGateArray []K0sFeatureGateInput -func (*clusterKinePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterKine)(nil)).Elem() +func (K0sFeatureGateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]K0sFeatureGate)(nil)).Elem() } -func (i *clusterKinePtrType) ToClusterKinePtrOutput() ClusterKinePtrOutput { - return i.ToClusterKinePtrOutputWithContext(context.Background()) +func (i K0sFeatureGateArray) ToK0sFeatureGateArrayOutput() K0sFeatureGateArrayOutput { + return i.ToK0sFeatureGateArrayOutputWithContext(context.Background()) } -func (i *clusterKinePtrType) ToClusterKinePtrOutputWithContext(ctx context.Context) ClusterKinePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKinePtrOutput) +func (i K0sFeatureGateArray) ToK0sFeatureGateArrayOutputWithContext(ctx context.Context) K0sFeatureGateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sFeatureGateArrayOutput) } -type ClusterKineOutput struct{ *pulumi.OutputState } +type K0sFeatureGateOutput struct{ *pulumi.OutputState } -func (ClusterKineOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterKine)(nil)).Elem() +func (K0sFeatureGateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sFeatureGate)(nil)).Elem() } -func (o ClusterKineOutput) ToClusterKineOutput() ClusterKineOutput { +func (o K0sFeatureGateOutput) ToK0sFeatureGateOutput() K0sFeatureGateOutput { return o } -func (o ClusterKineOutput) ToClusterKineOutputWithContext(ctx context.Context) ClusterKineOutput { +func (o K0sFeatureGateOutput) ToK0sFeatureGateOutputWithContext(ctx context.Context) K0sFeatureGateOutput { return o } -func (o ClusterKineOutput) ToClusterKinePtrOutput() ClusterKinePtrOutput { - return o.ToClusterKinePtrOutputWithContext(context.Background()) +func (o K0sFeatureGateOutput) Components() pulumi.StringArrayOutput { + return o.ApplyT(func(v K0sFeatureGate) []string { return v.Components }).(pulumi.StringArrayOutput) } -func (o ClusterKineOutput) ToClusterKinePtrOutputWithContext(ctx context.Context) ClusterKinePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterKine) *ClusterKine { - return &v - }).(ClusterKinePtrOutput) +func (o K0sFeatureGateOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v K0sFeatureGate) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -func (o ClusterKineOutput) DataSource() pulumi.StringOutput { - return o.ApplyT(func(v ClusterKine) string { return v.DataSource }).(pulumi.StringOutput) +func (o K0sFeatureGateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v K0sFeatureGate) string { return v.Name }).(pulumi.StringOutput) } -type ClusterKinePtrOutput struct{ *pulumi.OutputState } +type K0sFeatureGateArrayOutput struct{ *pulumi.OutputState } -func (ClusterKinePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterKine)(nil)).Elem() +func (K0sFeatureGateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]K0sFeatureGate)(nil)).Elem() } -func (o ClusterKinePtrOutput) ToClusterKinePtrOutput() ClusterKinePtrOutput { +func (o K0sFeatureGateArrayOutput) ToK0sFeatureGateArrayOutput() K0sFeatureGateArrayOutput { return o } -func (o ClusterKinePtrOutput) ToClusterKinePtrOutputWithContext(ctx context.Context) ClusterKinePtrOutput { +func (o K0sFeatureGateArrayOutput) ToK0sFeatureGateArrayOutputWithContext(ctx context.Context) K0sFeatureGateArrayOutput { return o } -func (o ClusterKinePtrOutput) Elem() ClusterKineOutput { - return o.ApplyT(func(v *ClusterKine) ClusterKine { - if v != nil { - return *v - } - var ret ClusterKine - return ret - }).(ClusterKineOutput) -} - -func (o ClusterKinePtrOutput) DataSource() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterKine) *string { - if v == nil { - return nil - } - return &v.DataSource - }).(pulumi.StringPtrOutput) +func (o K0sFeatureGateArrayOutput) Index(i pulumi.IntInput) K0sFeatureGateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) K0sFeatureGate { + return vs[0].([]K0sFeatureGate)[vs[1].(int)] + }).(K0sFeatureGateOutput) } -type ClusterKonnectivity struct { - AdminPort *int `pulumi:"adminPort"` - AgentPort *int `pulumi:"agentPort"` +type K0sImage struct { + Image *string `pulumi:"image"` + Version *string `pulumi:"version"` } -// ClusterKonnectivityInput is an input type that accepts ClusterKonnectivityArgs and ClusterKonnectivityOutput values. -// You can construct a concrete instance of `ClusterKonnectivityInput` via: +// K0sImageInput is an input type that accepts K0sImageArgs and K0sImageOutput values. +// You can construct a concrete instance of `K0sImageInput` via: // -// ClusterKonnectivityArgs{...} -type ClusterKonnectivityInput interface { +// K0sImageArgs{...} +type K0sImageInput interface { pulumi.Input - ToClusterKonnectivityOutput() ClusterKonnectivityOutput - ToClusterKonnectivityOutputWithContext(context.Context) ClusterKonnectivityOutput + ToK0sImageOutput() K0sImageOutput + ToK0sImageOutputWithContext(context.Context) K0sImageOutput } -type ClusterKonnectivityArgs struct { - AdminPort pulumi.IntPtrInput `pulumi:"adminPort"` - AgentPort pulumi.IntPtrInput `pulumi:"agentPort"` +type K0sImageArgs struct { + Image pulumi.StringPtrInput `pulumi:"image"` + Version pulumi.StringPtrInput `pulumi:"version"` } -func (ClusterKonnectivityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterKonnectivity)(nil)).Elem() +func (K0sImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sImage)(nil)).Elem() } -func (i ClusterKonnectivityArgs) ToClusterKonnectivityOutput() ClusterKonnectivityOutput { - return i.ToClusterKonnectivityOutputWithContext(context.Background()) +func (i K0sImageArgs) ToK0sImageOutput() K0sImageOutput { + return i.ToK0sImageOutputWithContext(context.Background()) } -func (i ClusterKonnectivityArgs) ToClusterKonnectivityOutputWithContext(ctx context.Context) ClusterKonnectivityOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKonnectivityOutput) +func (i K0sImageArgs) ToK0sImageOutputWithContext(ctx context.Context) K0sImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sImageOutput) } -func (i ClusterKonnectivityArgs) ToClusterKonnectivityPtrOutput() ClusterKonnectivityPtrOutput { - return i.ToClusterKonnectivityPtrOutputWithContext(context.Background()) +func (i K0sImageArgs) ToK0sImagePtrOutput() K0sImagePtrOutput { + return i.ToK0sImagePtrOutputWithContext(context.Background()) } -func (i ClusterKonnectivityArgs) ToClusterKonnectivityPtrOutputWithContext(ctx context.Context) ClusterKonnectivityPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKonnectivityOutput).ToClusterKonnectivityPtrOutputWithContext(ctx) +func (i K0sImageArgs) ToK0sImagePtrOutputWithContext(ctx context.Context) K0sImagePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sImageOutput).ToK0sImagePtrOutputWithContext(ctx) } -// ClusterKonnectivityPtrInput is an input type that accepts ClusterKonnectivityArgs, ClusterKonnectivityPtr and ClusterKonnectivityPtrOutput values. -// You can construct a concrete instance of `ClusterKonnectivityPtrInput` via: +// K0sImagePtrInput is an input type that accepts K0sImageArgs, K0sImagePtr and K0sImagePtrOutput values. +// You can construct a concrete instance of `K0sImagePtrInput` via: // -// ClusterKonnectivityArgs{...} +// K0sImageArgs{...} // // or: // // nil -type ClusterKonnectivityPtrInput interface { +type K0sImagePtrInput interface { pulumi.Input - ToClusterKonnectivityPtrOutput() ClusterKonnectivityPtrOutput - ToClusterKonnectivityPtrOutputWithContext(context.Context) ClusterKonnectivityPtrOutput + ToK0sImagePtrOutput() K0sImagePtrOutput + ToK0sImagePtrOutputWithContext(context.Context) K0sImagePtrOutput } -type clusterKonnectivityPtrType ClusterKonnectivityArgs +type k0sImagePtrType K0sImageArgs -func ClusterKonnectivityPtr(v *ClusterKonnectivityArgs) ClusterKonnectivityPtrInput { - return (*clusterKonnectivityPtrType)(v) +func K0sImagePtr(v *K0sImageArgs) K0sImagePtrInput { + return (*k0sImagePtrType)(v) } -func (*clusterKonnectivityPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterKonnectivity)(nil)).Elem() +func (*k0sImagePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sImage)(nil)).Elem() } -func (i *clusterKonnectivityPtrType) ToClusterKonnectivityPtrOutput() ClusterKonnectivityPtrOutput { - return i.ToClusterKonnectivityPtrOutputWithContext(context.Background()) +func (i *k0sImagePtrType) ToK0sImagePtrOutput() K0sImagePtrOutput { + return i.ToK0sImagePtrOutputWithContext(context.Background()) } -func (i *clusterKonnectivityPtrType) ToClusterKonnectivityPtrOutputWithContext(ctx context.Context) ClusterKonnectivityPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKonnectivityPtrOutput) +func (i *k0sImagePtrType) ToK0sImagePtrOutputWithContext(ctx context.Context) K0sImagePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sImagePtrOutput) } -type ClusterKonnectivityOutput struct{ *pulumi.OutputState } +type K0sImageOutput struct{ *pulumi.OutputState } -func (ClusterKonnectivityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterKonnectivity)(nil)).Elem() +func (K0sImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sImage)(nil)).Elem() } -func (o ClusterKonnectivityOutput) ToClusterKonnectivityOutput() ClusterKonnectivityOutput { +func (o K0sImageOutput) ToK0sImageOutput() K0sImageOutput { return o } -func (o ClusterKonnectivityOutput) ToClusterKonnectivityOutputWithContext(ctx context.Context) ClusterKonnectivityOutput { +func (o K0sImageOutput) ToK0sImageOutputWithContext(ctx context.Context) K0sImageOutput { return o } -func (o ClusterKonnectivityOutput) ToClusterKonnectivityPtrOutput() ClusterKonnectivityPtrOutput { - return o.ToClusterKonnectivityPtrOutputWithContext(context.Background()) +func (o K0sImageOutput) ToK0sImagePtrOutput() K0sImagePtrOutput { + return o.ToK0sImagePtrOutputWithContext(context.Background()) } -func (o ClusterKonnectivityOutput) ToClusterKonnectivityPtrOutputWithContext(ctx context.Context) ClusterKonnectivityPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterKonnectivity) *ClusterKonnectivity { +func (o K0sImageOutput) ToK0sImagePtrOutputWithContext(ctx context.Context) K0sImagePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sImage) *K0sImage { return &v - }).(ClusterKonnectivityPtrOutput) + }).(K0sImagePtrOutput) } -func (o ClusterKonnectivityOutput) AdminPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v ClusterKonnectivity) *int { return v.AdminPort }).(pulumi.IntPtrOutput) +func (o K0sImageOutput) Image() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sImage) *string { return v.Image }).(pulumi.StringPtrOutput) } -func (o ClusterKonnectivityOutput) AgentPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v ClusterKonnectivity) *int { return v.AgentPort }).(pulumi.IntPtrOutput) +func (o K0sImageOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sImage) *string { return v.Version }).(pulumi.StringPtrOutput) } -type ClusterKonnectivityPtrOutput struct{ *pulumi.OutputState } +type K0sImagePtrOutput struct{ *pulumi.OutputState } -func (ClusterKonnectivityPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterKonnectivity)(nil)).Elem() +func (K0sImagePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sImage)(nil)).Elem() } -func (o ClusterKonnectivityPtrOutput) ToClusterKonnectivityPtrOutput() ClusterKonnectivityPtrOutput { +func (o K0sImagePtrOutput) ToK0sImagePtrOutput() K0sImagePtrOutput { return o } -func (o ClusterKonnectivityPtrOutput) ToClusterKonnectivityPtrOutputWithContext(ctx context.Context) ClusterKonnectivityPtrOutput { +func (o K0sImagePtrOutput) ToK0sImagePtrOutputWithContext(ctx context.Context) K0sImagePtrOutput { return o } -func (o ClusterKonnectivityPtrOutput) Elem() ClusterKonnectivityOutput { - return o.ApplyT(func(v *ClusterKonnectivity) ClusterKonnectivity { +func (o K0sImagePtrOutput) Elem() K0sImageOutput { + return o.ApplyT(func(v *K0sImage) K0sImage { if v != nil { return *v } - var ret ClusterKonnectivity + var ret K0sImage return ret - }).(ClusterKonnectivityOutput) + }).(K0sImageOutput) } -func (o ClusterKonnectivityPtrOutput) AdminPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ClusterKonnectivity) *int { +func (o K0sImagePtrOutput) Image() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sImage) *string { if v == nil { return nil - } - return v.AdminPort - }).(pulumi.IntPtrOutput) + } + return v.Image + }).(pulumi.StringPtrOutput) } -func (o ClusterKonnectivityPtrOutput) AgentPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ClusterKonnectivity) *int { +func (o K0sImagePtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sImage) *string { if v == nil { return nil } - return v.AgentPort - }).(pulumi.IntPtrOutput) + return v.Version + }).(pulumi.StringPtrOutput) } -type ClusterKubeProxy struct { - Disabled *bool `pulumi:"disabled"` - Iptables *ClusterKubeProxyIPTables `pulumi:"iptables"` - Ipvs *ClusterKubeProxyIPVS `pulumi:"ipvs"` - Mode *string `pulumi:"mode"` - NodePortAddresses *string `pulumi:"nodePortAddresses"` +type K0sImages struct { + Calico *K0sCalicoImage `pulumi:"calico"` + Coredns *K0sImage `pulumi:"coredns"` + Default_pull_policy *string `pulumi:"default_pull_policy"` + Konnectivity *K0sImage `pulumi:"konnectivity"` + Kubeproxy *K0sImage `pulumi:"kubeproxy"` + Kuberouter *K0sKubeRouterImage `pulumi:"kuberouter"` + Metricsserver *K0sImage `pulumi:"metricsserver"` + Pause *K0sImage `pulumi:"pause"` + Repository *string `pulumi:"repository"` } -// ClusterKubeProxyInput is an input type that accepts ClusterKubeProxyArgs and ClusterKubeProxyOutput values. -// You can construct a concrete instance of `ClusterKubeProxyInput` via: +// K0sImagesInput is an input type that accepts K0sImagesArgs and K0sImagesOutput values. +// You can construct a concrete instance of `K0sImagesInput` via: // -// ClusterKubeProxyArgs{...} -type ClusterKubeProxyInput interface { +// K0sImagesArgs{...} +type K0sImagesInput interface { pulumi.Input - ToClusterKubeProxyOutput() ClusterKubeProxyOutput - ToClusterKubeProxyOutputWithContext(context.Context) ClusterKubeProxyOutput + ToK0sImagesOutput() K0sImagesOutput + ToK0sImagesOutputWithContext(context.Context) K0sImagesOutput } -type ClusterKubeProxyArgs struct { - Disabled pulumi.BoolPtrInput `pulumi:"disabled"` - Iptables ClusterKubeProxyIPTablesPtrInput `pulumi:"iptables"` - Ipvs ClusterKubeProxyIPVSPtrInput `pulumi:"ipvs"` - Mode pulumi.StringPtrInput `pulumi:"mode"` - NodePortAddresses pulumi.StringPtrInput `pulumi:"nodePortAddresses"` +type K0sImagesArgs struct { + Calico K0sCalicoImagePtrInput `pulumi:"calico"` + Coredns K0sImagePtrInput `pulumi:"coredns"` + Default_pull_policy pulumi.StringPtrInput `pulumi:"default_pull_policy"` + Konnectivity K0sImagePtrInput `pulumi:"konnectivity"` + Kubeproxy K0sImagePtrInput `pulumi:"kubeproxy"` + Kuberouter K0sKubeRouterImagePtrInput `pulumi:"kuberouter"` + Metricsserver K0sImagePtrInput `pulumi:"metricsserver"` + Pause K0sImagePtrInput `pulumi:"pause"` + Repository pulumi.StringPtrInput `pulumi:"repository"` } -func (ClusterKubeProxyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterKubeProxy)(nil)).Elem() +func (K0sImagesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sImages)(nil)).Elem() } -func (i ClusterKubeProxyArgs) ToClusterKubeProxyOutput() ClusterKubeProxyOutput { - return i.ToClusterKubeProxyOutputWithContext(context.Background()) +func (i K0sImagesArgs) ToK0sImagesOutput() K0sImagesOutput { + return i.ToK0sImagesOutputWithContext(context.Background()) } -func (i ClusterKubeProxyArgs) ToClusterKubeProxyOutputWithContext(ctx context.Context) ClusterKubeProxyOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKubeProxyOutput) +func (i K0sImagesArgs) ToK0sImagesOutputWithContext(ctx context.Context) K0sImagesOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sImagesOutput) } -func (i ClusterKubeProxyArgs) ToClusterKubeProxyPtrOutput() ClusterKubeProxyPtrOutput { - return i.ToClusterKubeProxyPtrOutputWithContext(context.Background()) +func (i K0sImagesArgs) ToK0sImagesPtrOutput() K0sImagesPtrOutput { + return i.ToK0sImagesPtrOutputWithContext(context.Background()) } -func (i ClusterKubeProxyArgs) ToClusterKubeProxyPtrOutputWithContext(ctx context.Context) ClusterKubeProxyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKubeProxyOutput).ToClusterKubeProxyPtrOutputWithContext(ctx) +func (i K0sImagesArgs) ToK0sImagesPtrOutputWithContext(ctx context.Context) K0sImagesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sImagesOutput).ToK0sImagesPtrOutputWithContext(ctx) } -// ClusterKubeProxyPtrInput is an input type that accepts ClusterKubeProxyArgs, ClusterKubeProxyPtr and ClusterKubeProxyPtrOutput values. -// You can construct a concrete instance of `ClusterKubeProxyPtrInput` via: +// K0sImagesPtrInput is an input type that accepts K0sImagesArgs, K0sImagesPtr and K0sImagesPtrOutput values. +// You can construct a concrete instance of `K0sImagesPtrInput` via: // -// ClusterKubeProxyArgs{...} +// K0sImagesArgs{...} // // or: // // nil -type ClusterKubeProxyPtrInput interface { +type K0sImagesPtrInput interface { pulumi.Input - ToClusterKubeProxyPtrOutput() ClusterKubeProxyPtrOutput - ToClusterKubeProxyPtrOutputWithContext(context.Context) ClusterKubeProxyPtrOutput + ToK0sImagesPtrOutput() K0sImagesPtrOutput + ToK0sImagesPtrOutputWithContext(context.Context) K0sImagesPtrOutput } -type clusterKubeProxyPtrType ClusterKubeProxyArgs +type k0sImagesPtrType K0sImagesArgs -func ClusterKubeProxyPtr(v *ClusterKubeProxyArgs) ClusterKubeProxyPtrInput { - return (*clusterKubeProxyPtrType)(v) +func K0sImagesPtr(v *K0sImagesArgs) K0sImagesPtrInput { + return (*k0sImagesPtrType)(v) } -func (*clusterKubeProxyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterKubeProxy)(nil)).Elem() +func (*k0sImagesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sImages)(nil)).Elem() } -func (i *clusterKubeProxyPtrType) ToClusterKubeProxyPtrOutput() ClusterKubeProxyPtrOutput { - return i.ToClusterKubeProxyPtrOutputWithContext(context.Background()) +func (i *k0sImagesPtrType) ToK0sImagesPtrOutput() K0sImagesPtrOutput { + return i.ToK0sImagesPtrOutputWithContext(context.Background()) } -func (i *clusterKubeProxyPtrType) ToClusterKubeProxyPtrOutputWithContext(ctx context.Context) ClusterKubeProxyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKubeProxyPtrOutput) +func (i *k0sImagesPtrType) ToK0sImagesPtrOutputWithContext(ctx context.Context) K0sImagesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sImagesPtrOutput) } -type ClusterKubeProxyOutput struct{ *pulumi.OutputState } +type K0sImagesOutput struct{ *pulumi.OutputState } -func (ClusterKubeProxyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterKubeProxy)(nil)).Elem() +func (K0sImagesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sImages)(nil)).Elem() } -func (o ClusterKubeProxyOutput) ToClusterKubeProxyOutput() ClusterKubeProxyOutput { +func (o K0sImagesOutput) ToK0sImagesOutput() K0sImagesOutput { return o } -func (o ClusterKubeProxyOutput) ToClusterKubeProxyOutputWithContext(ctx context.Context) ClusterKubeProxyOutput { +func (o K0sImagesOutput) ToK0sImagesOutputWithContext(ctx context.Context) K0sImagesOutput { return o } -func (o ClusterKubeProxyOutput) ToClusterKubeProxyPtrOutput() ClusterKubeProxyPtrOutput { - return o.ToClusterKubeProxyPtrOutputWithContext(context.Background()) +func (o K0sImagesOutput) ToK0sImagesPtrOutput() K0sImagesPtrOutput { + return o.ToK0sImagesPtrOutputWithContext(context.Background()) } -func (o ClusterKubeProxyOutput) ToClusterKubeProxyPtrOutputWithContext(ctx context.Context) ClusterKubeProxyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterKubeProxy) *ClusterKubeProxy { +func (o K0sImagesOutput) ToK0sImagesPtrOutputWithContext(ctx context.Context) K0sImagesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sImages) *K0sImages { return &v - }).(ClusterKubeProxyPtrOutput) + }).(K0sImagesPtrOutput) +} + +func (o K0sImagesOutput) Calico() K0sCalicoImagePtrOutput { + return o.ApplyT(func(v K0sImages) *K0sCalicoImage { return v.Calico }).(K0sCalicoImagePtrOutput) +} + +func (o K0sImagesOutput) Coredns() K0sImagePtrOutput { + return o.ApplyT(func(v K0sImages) *K0sImage { return v.Coredns }).(K0sImagePtrOutput) +} + +func (o K0sImagesOutput) Default_pull_policy() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sImages) *string { return v.Default_pull_policy }).(pulumi.StringPtrOutput) +} + +func (o K0sImagesOutput) Konnectivity() K0sImagePtrOutput { + return o.ApplyT(func(v K0sImages) *K0sImage { return v.Konnectivity }).(K0sImagePtrOutput) } -func (o ClusterKubeProxyOutput) Disabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterKubeProxy) *bool { return v.Disabled }).(pulumi.BoolPtrOutput) +func (o K0sImagesOutput) Kubeproxy() K0sImagePtrOutput { + return o.ApplyT(func(v K0sImages) *K0sImage { return v.Kubeproxy }).(K0sImagePtrOutput) } -func (o ClusterKubeProxyOutput) Iptables() ClusterKubeProxyIPTablesPtrOutput { - return o.ApplyT(func(v ClusterKubeProxy) *ClusterKubeProxyIPTables { return v.Iptables }).(ClusterKubeProxyIPTablesPtrOutput) +func (o K0sImagesOutput) Kuberouter() K0sKubeRouterImagePtrOutput { + return o.ApplyT(func(v K0sImages) *K0sKubeRouterImage { return v.Kuberouter }).(K0sKubeRouterImagePtrOutput) } -func (o ClusterKubeProxyOutput) Ipvs() ClusterKubeProxyIPVSPtrOutput { - return o.ApplyT(func(v ClusterKubeProxy) *ClusterKubeProxyIPVS { return v.Ipvs }).(ClusterKubeProxyIPVSPtrOutput) +func (o K0sImagesOutput) Metricsserver() K0sImagePtrOutput { + return o.ApplyT(func(v K0sImages) *K0sImage { return v.Metricsserver }).(K0sImagePtrOutput) } -func (o ClusterKubeProxyOutput) Mode() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterKubeProxy) *string { return v.Mode }).(pulumi.StringPtrOutput) +func (o K0sImagesOutput) Pause() K0sImagePtrOutput { + return o.ApplyT(func(v K0sImages) *K0sImage { return v.Pause }).(K0sImagePtrOutput) } -func (o ClusterKubeProxyOutput) NodePortAddresses() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterKubeProxy) *string { return v.NodePortAddresses }).(pulumi.StringPtrOutput) +func (o K0sImagesOutput) Repository() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sImages) *string { return v.Repository }).(pulumi.StringPtrOutput) } -type ClusterKubeProxyPtrOutput struct{ *pulumi.OutputState } +type K0sImagesPtrOutput struct{ *pulumi.OutputState } -func (ClusterKubeProxyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterKubeProxy)(nil)).Elem() +func (K0sImagesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sImages)(nil)).Elem() } -func (o ClusterKubeProxyPtrOutput) ToClusterKubeProxyPtrOutput() ClusterKubeProxyPtrOutput { +func (o K0sImagesPtrOutput) ToK0sImagesPtrOutput() K0sImagesPtrOutput { return o } -func (o ClusterKubeProxyPtrOutput) ToClusterKubeProxyPtrOutputWithContext(ctx context.Context) ClusterKubeProxyPtrOutput { +func (o K0sImagesPtrOutput) ToK0sImagesPtrOutputWithContext(ctx context.Context) K0sImagesPtrOutput { return o } -func (o ClusterKubeProxyPtrOutput) Elem() ClusterKubeProxyOutput { - return o.ApplyT(func(v *ClusterKubeProxy) ClusterKubeProxy { +func (o K0sImagesPtrOutput) Elem() K0sImagesOutput { + return o.ApplyT(func(v *K0sImages) K0sImages { if v != nil { return *v } - var ret ClusterKubeProxy + var ret K0sImages return ret - }).(ClusterKubeProxyOutput) + }).(K0sImagesOutput) } -func (o ClusterKubeProxyPtrOutput) Disabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxy) *bool { +func (o K0sImagesPtrOutput) Calico() K0sCalicoImagePtrOutput { + return o.ApplyT(func(v *K0sImages) *K0sCalicoImage { if v == nil { return nil } - return v.Disabled - }).(pulumi.BoolPtrOutput) + return v.Calico + }).(K0sCalicoImagePtrOutput) } -func (o ClusterKubeProxyPtrOutput) Iptables() ClusterKubeProxyIPTablesPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxy) *ClusterKubeProxyIPTables { +func (o K0sImagesPtrOutput) Coredns() K0sImagePtrOutput { + return o.ApplyT(func(v *K0sImages) *K0sImage { if v == nil { return nil } - return v.Iptables - }).(ClusterKubeProxyIPTablesPtrOutput) + return v.Coredns + }).(K0sImagePtrOutput) } -func (o ClusterKubeProxyPtrOutput) Ipvs() ClusterKubeProxyIPVSPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxy) *ClusterKubeProxyIPVS { +func (o K0sImagesPtrOutput) Default_pull_policy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sImages) *string { if v == nil { return nil } - return v.Ipvs - }).(ClusterKubeProxyIPVSPtrOutput) + return v.Default_pull_policy + }).(pulumi.StringPtrOutput) } -func (o ClusterKubeProxyPtrOutput) Mode() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxy) *string { +func (o K0sImagesPtrOutput) Konnectivity() K0sImagePtrOutput { + return o.ApplyT(func(v *K0sImages) *K0sImage { if v == nil { return nil } - return v.Mode - }).(pulumi.StringPtrOutput) + return v.Konnectivity + }).(K0sImagePtrOutput) } -func (o ClusterKubeProxyPtrOutput) NodePortAddresses() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxy) *string { +func (o K0sImagesPtrOutput) Kubeproxy() K0sImagePtrOutput { + return o.ApplyT(func(v *K0sImages) *K0sImage { if v == nil { return nil } - return v.NodePortAddresses + return v.Kubeproxy + }).(K0sImagePtrOutput) +} + +func (o K0sImagesPtrOutput) Kuberouter() K0sKubeRouterImagePtrOutput { + return o.ApplyT(func(v *K0sImages) *K0sKubeRouterImage { + if v == nil { + return nil + } + return v.Kuberouter + }).(K0sKubeRouterImagePtrOutput) +} + +func (o K0sImagesPtrOutput) Metricsserver() K0sImagePtrOutput { + return o.ApplyT(func(v *K0sImages) *K0sImage { + if v == nil { + return nil + } + return v.Metricsserver + }).(K0sImagePtrOutput) +} + +func (o K0sImagesPtrOutput) Pause() K0sImagePtrOutput { + return o.ApplyT(func(v *K0sImages) *K0sImage { + if v == nil { + return nil + } + return v.Pause + }).(K0sImagePtrOutput) +} + +func (o K0sImagesPtrOutput) Repository() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sImages) *string { + if v == nil { + return nil + } + return v.Repository }).(pulumi.StringPtrOutput) } -type ClusterKubeProxyIPTables struct { - MasqueradeAll *bool `pulumi:"masqueradeAll"` - MasqueradeBit *int `pulumi:"masqueradeBit"` - MinSyncPeriod *string `pulumi:"minSyncPeriod"` - SyncPeriod *string `pulumi:"syncPeriod"` +type K0sInstallConfig struct { + Users *K0sInstallConfigUser `pulumi:"users"` } -// ClusterKubeProxyIPTablesInput is an input type that accepts ClusterKubeProxyIPTablesArgs and ClusterKubeProxyIPTablesOutput values. -// You can construct a concrete instance of `ClusterKubeProxyIPTablesInput` via: +// K0sInstallConfigInput is an input type that accepts K0sInstallConfigArgs and K0sInstallConfigOutput values. +// You can construct a concrete instance of `K0sInstallConfigInput` via: // -// ClusterKubeProxyIPTablesArgs{...} -type ClusterKubeProxyIPTablesInput interface { +// K0sInstallConfigArgs{...} +type K0sInstallConfigInput interface { pulumi.Input - ToClusterKubeProxyIPTablesOutput() ClusterKubeProxyIPTablesOutput - ToClusterKubeProxyIPTablesOutputWithContext(context.Context) ClusterKubeProxyIPTablesOutput + ToK0sInstallConfigOutput() K0sInstallConfigOutput + ToK0sInstallConfigOutputWithContext(context.Context) K0sInstallConfigOutput } -type ClusterKubeProxyIPTablesArgs struct { - MasqueradeAll pulumi.BoolPtrInput `pulumi:"masqueradeAll"` - MasqueradeBit pulumi.IntPtrInput `pulumi:"masqueradeBit"` - MinSyncPeriod pulumi.StringPtrInput `pulumi:"minSyncPeriod"` - SyncPeriod pulumi.StringPtrInput `pulumi:"syncPeriod"` +type K0sInstallConfigArgs struct { + Users K0sInstallConfigUserPtrInput `pulumi:"users"` } -func (ClusterKubeProxyIPTablesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterKubeProxyIPTables)(nil)).Elem() +func (K0sInstallConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sInstallConfig)(nil)).Elem() } -func (i ClusterKubeProxyIPTablesArgs) ToClusterKubeProxyIPTablesOutput() ClusterKubeProxyIPTablesOutput { - return i.ToClusterKubeProxyIPTablesOutputWithContext(context.Background()) +func (i K0sInstallConfigArgs) ToK0sInstallConfigOutput() K0sInstallConfigOutput { + return i.ToK0sInstallConfigOutputWithContext(context.Background()) } -func (i ClusterKubeProxyIPTablesArgs) ToClusterKubeProxyIPTablesOutputWithContext(ctx context.Context) ClusterKubeProxyIPTablesOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKubeProxyIPTablesOutput) +func (i K0sInstallConfigArgs) ToK0sInstallConfigOutputWithContext(ctx context.Context) K0sInstallConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sInstallConfigOutput) } -func (i ClusterKubeProxyIPTablesArgs) ToClusterKubeProxyIPTablesPtrOutput() ClusterKubeProxyIPTablesPtrOutput { - return i.ToClusterKubeProxyIPTablesPtrOutputWithContext(context.Background()) +func (i K0sInstallConfigArgs) ToK0sInstallConfigPtrOutput() K0sInstallConfigPtrOutput { + return i.ToK0sInstallConfigPtrOutputWithContext(context.Background()) } -func (i ClusterKubeProxyIPTablesArgs) ToClusterKubeProxyIPTablesPtrOutputWithContext(ctx context.Context) ClusterKubeProxyIPTablesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKubeProxyIPTablesOutput).ToClusterKubeProxyIPTablesPtrOutputWithContext(ctx) +func (i K0sInstallConfigArgs) ToK0sInstallConfigPtrOutputWithContext(ctx context.Context) K0sInstallConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sInstallConfigOutput).ToK0sInstallConfigPtrOutputWithContext(ctx) } -// ClusterKubeProxyIPTablesPtrInput is an input type that accepts ClusterKubeProxyIPTablesArgs, ClusterKubeProxyIPTablesPtr and ClusterKubeProxyIPTablesPtrOutput values. -// You can construct a concrete instance of `ClusterKubeProxyIPTablesPtrInput` via: +// K0sInstallConfigPtrInput is an input type that accepts K0sInstallConfigArgs, K0sInstallConfigPtr and K0sInstallConfigPtrOutput values. +// You can construct a concrete instance of `K0sInstallConfigPtrInput` via: // -// ClusterKubeProxyIPTablesArgs{...} +// K0sInstallConfigArgs{...} // // or: // // nil -type ClusterKubeProxyIPTablesPtrInput interface { +type K0sInstallConfigPtrInput interface { pulumi.Input - ToClusterKubeProxyIPTablesPtrOutput() ClusterKubeProxyIPTablesPtrOutput - ToClusterKubeProxyIPTablesPtrOutputWithContext(context.Context) ClusterKubeProxyIPTablesPtrOutput + ToK0sInstallConfigPtrOutput() K0sInstallConfigPtrOutput + ToK0sInstallConfigPtrOutputWithContext(context.Context) K0sInstallConfigPtrOutput } -type clusterKubeProxyIPTablesPtrType ClusterKubeProxyIPTablesArgs +type k0sInstallConfigPtrType K0sInstallConfigArgs -func ClusterKubeProxyIPTablesPtr(v *ClusterKubeProxyIPTablesArgs) ClusterKubeProxyIPTablesPtrInput { - return (*clusterKubeProxyIPTablesPtrType)(v) +func K0sInstallConfigPtr(v *K0sInstallConfigArgs) K0sInstallConfigPtrInput { + return (*k0sInstallConfigPtrType)(v) } -func (*clusterKubeProxyIPTablesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterKubeProxyIPTables)(nil)).Elem() +func (*k0sInstallConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sInstallConfig)(nil)).Elem() } -func (i *clusterKubeProxyIPTablesPtrType) ToClusterKubeProxyIPTablesPtrOutput() ClusterKubeProxyIPTablesPtrOutput { - return i.ToClusterKubeProxyIPTablesPtrOutputWithContext(context.Background()) +func (i *k0sInstallConfigPtrType) ToK0sInstallConfigPtrOutput() K0sInstallConfigPtrOutput { + return i.ToK0sInstallConfigPtrOutputWithContext(context.Background()) } -func (i *clusterKubeProxyIPTablesPtrType) ToClusterKubeProxyIPTablesPtrOutputWithContext(ctx context.Context) ClusterKubeProxyIPTablesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKubeProxyIPTablesPtrOutput) +func (i *k0sInstallConfigPtrType) ToK0sInstallConfigPtrOutputWithContext(ctx context.Context) K0sInstallConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sInstallConfigPtrOutput) } -type ClusterKubeProxyIPTablesOutput struct{ *pulumi.OutputState } +type K0sInstallConfigOutput struct{ *pulumi.OutputState } -func (ClusterKubeProxyIPTablesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterKubeProxyIPTables)(nil)).Elem() +func (K0sInstallConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sInstallConfig)(nil)).Elem() } -func (o ClusterKubeProxyIPTablesOutput) ToClusterKubeProxyIPTablesOutput() ClusterKubeProxyIPTablesOutput { +func (o K0sInstallConfigOutput) ToK0sInstallConfigOutput() K0sInstallConfigOutput { return o } -func (o ClusterKubeProxyIPTablesOutput) ToClusterKubeProxyIPTablesOutputWithContext(ctx context.Context) ClusterKubeProxyIPTablesOutput { +func (o K0sInstallConfigOutput) ToK0sInstallConfigOutputWithContext(ctx context.Context) K0sInstallConfigOutput { return o } -func (o ClusterKubeProxyIPTablesOutput) ToClusterKubeProxyIPTablesPtrOutput() ClusterKubeProxyIPTablesPtrOutput { - return o.ToClusterKubeProxyIPTablesPtrOutputWithContext(context.Background()) +func (o K0sInstallConfigOutput) ToK0sInstallConfigPtrOutput() K0sInstallConfigPtrOutput { + return o.ToK0sInstallConfigPtrOutputWithContext(context.Background()) } -func (o ClusterKubeProxyIPTablesOutput) ToClusterKubeProxyIPTablesPtrOutputWithContext(ctx context.Context) ClusterKubeProxyIPTablesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterKubeProxyIPTables) *ClusterKubeProxyIPTables { +func (o K0sInstallConfigOutput) ToK0sInstallConfigPtrOutputWithContext(ctx context.Context) K0sInstallConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sInstallConfig) *K0sInstallConfig { return &v - }).(ClusterKubeProxyIPTablesPtrOutput) -} - -func (o ClusterKubeProxyIPTablesOutput) MasqueradeAll() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterKubeProxyIPTables) *bool { return v.MasqueradeAll }).(pulumi.BoolPtrOutput) -} - -func (o ClusterKubeProxyIPTablesOutput) MasqueradeBit() pulumi.IntPtrOutput { - return o.ApplyT(func(v ClusterKubeProxyIPTables) *int { return v.MasqueradeBit }).(pulumi.IntPtrOutput) + }).(K0sInstallConfigPtrOutput) } -func (o ClusterKubeProxyIPTablesOutput) MinSyncPeriod() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterKubeProxyIPTables) *string { return v.MinSyncPeriod }).(pulumi.StringPtrOutput) +func (o K0sInstallConfigOutput) Users() K0sInstallConfigUserPtrOutput { + return o.ApplyT(func(v K0sInstallConfig) *K0sInstallConfigUser { return v.Users }).(K0sInstallConfigUserPtrOutput) } -func (o ClusterKubeProxyIPTablesOutput) SyncPeriod() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterKubeProxyIPTables) *string { return v.SyncPeriod }).(pulumi.StringPtrOutput) -} - -type ClusterKubeProxyIPTablesPtrOutput struct{ *pulumi.OutputState } +type K0sInstallConfigPtrOutput struct{ *pulumi.OutputState } -func (ClusterKubeProxyIPTablesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterKubeProxyIPTables)(nil)).Elem() +func (K0sInstallConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sInstallConfig)(nil)).Elem() } -func (o ClusterKubeProxyIPTablesPtrOutput) ToClusterKubeProxyIPTablesPtrOutput() ClusterKubeProxyIPTablesPtrOutput { +func (o K0sInstallConfigPtrOutput) ToK0sInstallConfigPtrOutput() K0sInstallConfigPtrOutput { return o } -func (o ClusterKubeProxyIPTablesPtrOutput) ToClusterKubeProxyIPTablesPtrOutputWithContext(ctx context.Context) ClusterKubeProxyIPTablesPtrOutput { +func (o K0sInstallConfigPtrOutput) ToK0sInstallConfigPtrOutputWithContext(ctx context.Context) K0sInstallConfigPtrOutput { return o } -func (o ClusterKubeProxyIPTablesPtrOutput) Elem() ClusterKubeProxyIPTablesOutput { - return o.ApplyT(func(v *ClusterKubeProxyIPTables) ClusterKubeProxyIPTables { +func (o K0sInstallConfigPtrOutput) Elem() K0sInstallConfigOutput { + return o.ApplyT(func(v *K0sInstallConfig) K0sInstallConfig { if v != nil { return *v } - var ret ClusterKubeProxyIPTables + var ret K0sInstallConfig return ret - }).(ClusterKubeProxyIPTablesOutput) -} - -func (o ClusterKubeProxyIPTablesPtrOutput) MasqueradeAll() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxyIPTables) *bool { - if v == nil { - return nil - } - return v.MasqueradeAll - }).(pulumi.BoolPtrOutput) -} - -func (o ClusterKubeProxyIPTablesPtrOutput) MasqueradeBit() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxyIPTables) *int { - if v == nil { - return nil - } - return v.MasqueradeBit - }).(pulumi.IntPtrOutput) + }).(K0sInstallConfigOutput) } -func (o ClusterKubeProxyIPTablesPtrOutput) MinSyncPeriod() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxyIPTables) *string { +func (o K0sInstallConfigPtrOutput) Users() K0sInstallConfigUserPtrOutput { + return o.ApplyT(func(v *K0sInstallConfig) *K0sInstallConfigUser { if v == nil { return nil } - return v.MinSyncPeriod - }).(pulumi.StringPtrOutput) -} - -func (o ClusterKubeProxyIPTablesPtrOutput) SyncPeriod() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxyIPTables) *string { - if v == nil { - return nil - } - return v.SyncPeriod - }).(pulumi.StringPtrOutput) + return v.Users + }).(K0sInstallConfigUserPtrOutput) } -type ClusterKubeProxyIPVS struct { - ExcludeCIDRs *string `pulumi:"excludeCIDRs"` - MinSyncPeriod *string `pulumi:"minSyncPeriod"` - Scheduler *string `pulumi:"scheduler"` - StrictARP *bool `pulumi:"strictARP"` - SyncPeriod *string `pulumi:"syncPeriod"` - TcpFinTimeout *string `pulumi:"tcpFinTimeout"` - TcpTimeout *string `pulumi:"tcpTimeout"` - UdpTimeout *string `pulumi:"udpTimeout"` +type K0sInstallConfigUser struct { + EtcdUser *string `pulumi:"etcdUser"` + KineUser *string `pulumi:"kineUser"` + KonnectivityUser *string `pulumi:"konnectivityUser"` + KubeAPIserverUser *string `pulumi:"kubeAPIserverUser"` + KubeSchedulerUser *string `pulumi:"kubeSchedulerUser"` } -// ClusterKubeProxyIPVSInput is an input type that accepts ClusterKubeProxyIPVSArgs and ClusterKubeProxyIPVSOutput values. -// You can construct a concrete instance of `ClusterKubeProxyIPVSInput` via: +// K0sInstallConfigUserInput is an input type that accepts K0sInstallConfigUserArgs and K0sInstallConfigUserOutput values. +// You can construct a concrete instance of `K0sInstallConfigUserInput` via: // -// ClusterKubeProxyIPVSArgs{...} -type ClusterKubeProxyIPVSInput interface { +// K0sInstallConfigUserArgs{...} +type K0sInstallConfigUserInput interface { pulumi.Input - ToClusterKubeProxyIPVSOutput() ClusterKubeProxyIPVSOutput - ToClusterKubeProxyIPVSOutputWithContext(context.Context) ClusterKubeProxyIPVSOutput + ToK0sInstallConfigUserOutput() K0sInstallConfigUserOutput + ToK0sInstallConfigUserOutputWithContext(context.Context) K0sInstallConfigUserOutput } -type ClusterKubeProxyIPVSArgs struct { - ExcludeCIDRs pulumi.StringPtrInput `pulumi:"excludeCIDRs"` - MinSyncPeriod pulumi.StringPtrInput `pulumi:"minSyncPeriod"` - Scheduler pulumi.StringPtrInput `pulumi:"scheduler"` - StrictARP pulumi.BoolPtrInput `pulumi:"strictARP"` - SyncPeriod pulumi.StringPtrInput `pulumi:"syncPeriod"` - TcpFinTimeout pulumi.StringPtrInput `pulumi:"tcpFinTimeout"` - TcpTimeout pulumi.StringPtrInput `pulumi:"tcpTimeout"` - UdpTimeout pulumi.StringPtrInput `pulumi:"udpTimeout"` +type K0sInstallConfigUserArgs struct { + EtcdUser pulumi.StringPtrInput `pulumi:"etcdUser"` + KineUser pulumi.StringPtrInput `pulumi:"kineUser"` + KonnectivityUser pulumi.StringPtrInput `pulumi:"konnectivityUser"` + KubeAPIserverUser pulumi.StringPtrInput `pulumi:"kubeAPIserverUser"` + KubeSchedulerUser pulumi.StringPtrInput `pulumi:"kubeSchedulerUser"` } -func (ClusterKubeProxyIPVSArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterKubeProxyIPVS)(nil)).Elem() +func (K0sInstallConfigUserArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sInstallConfigUser)(nil)).Elem() } -func (i ClusterKubeProxyIPVSArgs) ToClusterKubeProxyIPVSOutput() ClusterKubeProxyIPVSOutput { - return i.ToClusterKubeProxyIPVSOutputWithContext(context.Background()) +func (i K0sInstallConfigUserArgs) ToK0sInstallConfigUserOutput() K0sInstallConfigUserOutput { + return i.ToK0sInstallConfigUserOutputWithContext(context.Background()) } -func (i ClusterKubeProxyIPVSArgs) ToClusterKubeProxyIPVSOutputWithContext(ctx context.Context) ClusterKubeProxyIPVSOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKubeProxyIPVSOutput) +func (i K0sInstallConfigUserArgs) ToK0sInstallConfigUserOutputWithContext(ctx context.Context) K0sInstallConfigUserOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sInstallConfigUserOutput) } -func (i ClusterKubeProxyIPVSArgs) ToClusterKubeProxyIPVSPtrOutput() ClusterKubeProxyIPVSPtrOutput { - return i.ToClusterKubeProxyIPVSPtrOutputWithContext(context.Background()) +func (i K0sInstallConfigUserArgs) ToK0sInstallConfigUserPtrOutput() K0sInstallConfigUserPtrOutput { + return i.ToK0sInstallConfigUserPtrOutputWithContext(context.Background()) } -func (i ClusterKubeProxyIPVSArgs) ToClusterKubeProxyIPVSPtrOutputWithContext(ctx context.Context) ClusterKubeProxyIPVSPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKubeProxyIPVSOutput).ToClusterKubeProxyIPVSPtrOutputWithContext(ctx) +func (i K0sInstallConfigUserArgs) ToK0sInstallConfigUserPtrOutputWithContext(ctx context.Context) K0sInstallConfigUserPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sInstallConfigUserOutput).ToK0sInstallConfigUserPtrOutputWithContext(ctx) } -// ClusterKubeProxyIPVSPtrInput is an input type that accepts ClusterKubeProxyIPVSArgs, ClusterKubeProxyIPVSPtr and ClusterKubeProxyIPVSPtrOutput values. -// You can construct a concrete instance of `ClusterKubeProxyIPVSPtrInput` via: +// K0sInstallConfigUserPtrInput is an input type that accepts K0sInstallConfigUserArgs, K0sInstallConfigUserPtr and K0sInstallConfigUserPtrOutput values. +// You can construct a concrete instance of `K0sInstallConfigUserPtrInput` via: // -// ClusterKubeProxyIPVSArgs{...} +// K0sInstallConfigUserArgs{...} // // or: // // nil -type ClusterKubeProxyIPVSPtrInput interface { +type K0sInstallConfigUserPtrInput interface { pulumi.Input - ToClusterKubeProxyIPVSPtrOutput() ClusterKubeProxyIPVSPtrOutput - ToClusterKubeProxyIPVSPtrOutputWithContext(context.Context) ClusterKubeProxyIPVSPtrOutput + ToK0sInstallConfigUserPtrOutput() K0sInstallConfigUserPtrOutput + ToK0sInstallConfigUserPtrOutputWithContext(context.Context) K0sInstallConfigUserPtrOutput } -type clusterKubeProxyIPVSPtrType ClusterKubeProxyIPVSArgs +type k0sInstallConfigUserPtrType K0sInstallConfigUserArgs -func ClusterKubeProxyIPVSPtr(v *ClusterKubeProxyIPVSArgs) ClusterKubeProxyIPVSPtrInput { - return (*clusterKubeProxyIPVSPtrType)(v) +func K0sInstallConfigUserPtr(v *K0sInstallConfigUserArgs) K0sInstallConfigUserPtrInput { + return (*k0sInstallConfigUserPtrType)(v) } -func (*clusterKubeProxyIPVSPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterKubeProxyIPVS)(nil)).Elem() +func (*k0sInstallConfigUserPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sInstallConfigUser)(nil)).Elem() } -func (i *clusterKubeProxyIPVSPtrType) ToClusterKubeProxyIPVSPtrOutput() ClusterKubeProxyIPVSPtrOutput { - return i.ToClusterKubeProxyIPVSPtrOutputWithContext(context.Background()) +func (i *k0sInstallConfigUserPtrType) ToK0sInstallConfigUserPtrOutput() K0sInstallConfigUserPtrOutput { + return i.ToK0sInstallConfigUserPtrOutputWithContext(context.Background()) } -func (i *clusterKubeProxyIPVSPtrType) ToClusterKubeProxyIPVSPtrOutputWithContext(ctx context.Context) ClusterKubeProxyIPVSPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKubeProxyIPVSPtrOutput) +func (i *k0sInstallConfigUserPtrType) ToK0sInstallConfigUserPtrOutputWithContext(ctx context.Context) K0sInstallConfigUserPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sInstallConfigUserPtrOutput) } -type ClusterKubeProxyIPVSOutput struct{ *pulumi.OutputState } +type K0sInstallConfigUserOutput struct{ *pulumi.OutputState } -func (ClusterKubeProxyIPVSOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterKubeProxyIPVS)(nil)).Elem() +func (K0sInstallConfigUserOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sInstallConfigUser)(nil)).Elem() } -func (o ClusterKubeProxyIPVSOutput) ToClusterKubeProxyIPVSOutput() ClusterKubeProxyIPVSOutput { +func (o K0sInstallConfigUserOutput) ToK0sInstallConfigUserOutput() K0sInstallConfigUserOutput { return o } -func (o ClusterKubeProxyIPVSOutput) ToClusterKubeProxyIPVSOutputWithContext(ctx context.Context) ClusterKubeProxyIPVSOutput { +func (o K0sInstallConfigUserOutput) ToK0sInstallConfigUserOutputWithContext(ctx context.Context) K0sInstallConfigUserOutput { return o } -func (o ClusterKubeProxyIPVSOutput) ToClusterKubeProxyIPVSPtrOutput() ClusterKubeProxyIPVSPtrOutput { - return o.ToClusterKubeProxyIPVSPtrOutputWithContext(context.Background()) +func (o K0sInstallConfigUserOutput) ToK0sInstallConfigUserPtrOutput() K0sInstallConfigUserPtrOutput { + return o.ToK0sInstallConfigUserPtrOutputWithContext(context.Background()) } -func (o ClusterKubeProxyIPVSOutput) ToClusterKubeProxyIPVSPtrOutputWithContext(ctx context.Context) ClusterKubeProxyIPVSPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterKubeProxyIPVS) *ClusterKubeProxyIPVS { +func (o K0sInstallConfigUserOutput) ToK0sInstallConfigUserPtrOutputWithContext(ctx context.Context) K0sInstallConfigUserPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sInstallConfigUser) *K0sInstallConfigUser { return &v - }).(ClusterKubeProxyIPVSPtrOutput) -} - -func (o ClusterKubeProxyIPVSOutput) ExcludeCIDRs() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterKubeProxyIPVS) *string { return v.ExcludeCIDRs }).(pulumi.StringPtrOutput) -} - -func (o ClusterKubeProxyIPVSOutput) MinSyncPeriod() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterKubeProxyIPVS) *string { return v.MinSyncPeriod }).(pulumi.StringPtrOutput) + }).(K0sInstallConfigUserPtrOutput) } -func (o ClusterKubeProxyIPVSOutput) Scheduler() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterKubeProxyIPVS) *string { return v.Scheduler }).(pulumi.StringPtrOutput) +func (o K0sInstallConfigUserOutput) EtcdUser() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sInstallConfigUser) *string { return v.EtcdUser }).(pulumi.StringPtrOutput) } -func (o ClusterKubeProxyIPVSOutput) StrictARP() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterKubeProxyIPVS) *bool { return v.StrictARP }).(pulumi.BoolPtrOutput) +func (o K0sInstallConfigUserOutput) KineUser() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sInstallConfigUser) *string { return v.KineUser }).(pulumi.StringPtrOutput) } -func (o ClusterKubeProxyIPVSOutput) SyncPeriod() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterKubeProxyIPVS) *string { return v.SyncPeriod }).(pulumi.StringPtrOutput) +func (o K0sInstallConfigUserOutput) KonnectivityUser() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sInstallConfigUser) *string { return v.KonnectivityUser }).(pulumi.StringPtrOutput) } -func (o ClusterKubeProxyIPVSOutput) TcpFinTimeout() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterKubeProxyIPVS) *string { return v.TcpFinTimeout }).(pulumi.StringPtrOutput) +func (o K0sInstallConfigUserOutput) KubeAPIserverUser() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sInstallConfigUser) *string { return v.KubeAPIserverUser }).(pulumi.StringPtrOutput) } -func (o ClusterKubeProxyIPVSOutput) TcpTimeout() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterKubeProxyIPVS) *string { return v.TcpTimeout }).(pulumi.StringPtrOutput) +func (o K0sInstallConfigUserOutput) KubeSchedulerUser() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sInstallConfigUser) *string { return v.KubeSchedulerUser }).(pulumi.StringPtrOutput) } -func (o ClusterKubeProxyIPVSOutput) UdpTimeout() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterKubeProxyIPVS) *string { return v.UdpTimeout }).(pulumi.StringPtrOutput) -} - -type ClusterKubeProxyIPVSPtrOutput struct{ *pulumi.OutputState } +type K0sInstallConfigUserPtrOutput struct{ *pulumi.OutputState } -func (ClusterKubeProxyIPVSPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterKubeProxyIPVS)(nil)).Elem() +func (K0sInstallConfigUserPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sInstallConfigUser)(nil)).Elem() } -func (o ClusterKubeProxyIPVSPtrOutput) ToClusterKubeProxyIPVSPtrOutput() ClusterKubeProxyIPVSPtrOutput { +func (o K0sInstallConfigUserPtrOutput) ToK0sInstallConfigUserPtrOutput() K0sInstallConfigUserPtrOutput { return o } -func (o ClusterKubeProxyIPVSPtrOutput) ToClusterKubeProxyIPVSPtrOutputWithContext(ctx context.Context) ClusterKubeProxyIPVSPtrOutput { +func (o K0sInstallConfigUserPtrOutput) ToK0sInstallConfigUserPtrOutputWithContext(ctx context.Context) K0sInstallConfigUserPtrOutput { return o } -func (o ClusterKubeProxyIPVSPtrOutput) Elem() ClusterKubeProxyIPVSOutput { - return o.ApplyT(func(v *ClusterKubeProxyIPVS) ClusterKubeProxyIPVS { +func (o K0sInstallConfigUserPtrOutput) Elem() K0sInstallConfigUserOutput { + return o.ApplyT(func(v *K0sInstallConfigUser) K0sInstallConfigUser { if v != nil { return *v } - var ret ClusterKubeProxyIPVS + var ret K0sInstallConfigUser return ret - }).(ClusterKubeProxyIPVSOutput) -} - -func (o ClusterKubeProxyIPVSPtrOutput) ExcludeCIDRs() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxyIPVS) *string { - if v == nil { - return nil - } - return v.ExcludeCIDRs - }).(pulumi.StringPtrOutput) -} - -func (o ClusterKubeProxyIPVSPtrOutput) MinSyncPeriod() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxyIPVS) *string { - if v == nil { - return nil - } - return v.MinSyncPeriod - }).(pulumi.StringPtrOutput) + }).(K0sInstallConfigUserOutput) } -func (o ClusterKubeProxyIPVSPtrOutput) Scheduler() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxyIPVS) *string { +func (o K0sInstallConfigUserPtrOutput) EtcdUser() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sInstallConfigUser) *string { if v == nil { return nil } - return v.Scheduler + return v.EtcdUser }).(pulumi.StringPtrOutput) } -func (o ClusterKubeProxyIPVSPtrOutput) StrictARP() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxyIPVS) *bool { - if v == nil { - return nil - } - return v.StrictARP - }).(pulumi.BoolPtrOutput) -} - -func (o ClusterKubeProxyIPVSPtrOutput) SyncPeriod() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxyIPVS) *string { +func (o K0sInstallConfigUserPtrOutput) KineUser() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sInstallConfigUser) *string { if v == nil { return nil } - return v.SyncPeriod + return v.KineUser }).(pulumi.StringPtrOutput) } -func (o ClusterKubeProxyIPVSPtrOutput) TcpFinTimeout() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxyIPVS) *string { +func (o K0sInstallConfigUserPtrOutput) KonnectivityUser() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sInstallConfigUser) *string { if v == nil { return nil } - return v.TcpFinTimeout + return v.KonnectivityUser }).(pulumi.StringPtrOutput) } -func (o ClusterKubeProxyIPVSPtrOutput) TcpTimeout() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxyIPVS) *string { +func (o K0sInstallConfigUserPtrOutput) KubeAPIserverUser() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sInstallConfigUser) *string { if v == nil { return nil } - return v.TcpTimeout + return v.KubeAPIserverUser }).(pulumi.StringPtrOutput) } -func (o ClusterKubeProxyIPVSPtrOutput) UdpTimeout() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterKubeProxyIPVS) *string { +func (o K0sInstallConfigUserPtrOutput) KubeSchedulerUser() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sInstallConfigUser) *string { if v == nil { return nil } - return v.UdpTimeout + return v.KubeSchedulerUser }).(pulumi.StringPtrOutput) } -type ClusterKubeRouter struct { - AutoMTU *bool `pulumi:"autoMTU"` - ExtraArgs map[string]string `pulumi:"extraArgs"` - Hairpin *string `pulumi:"hairpin"` - IpMasq *bool `pulumi:"ipMasq"` - MetricsPort *int `pulumi:"metricsPort"` - Mtu *int `pulumi:"mtu"` +type K0sKine struct { + DataSource string `pulumi:"dataSource"` } -// ClusterKubeRouterInput is an input type that accepts ClusterKubeRouterArgs and ClusterKubeRouterOutput values. -// You can construct a concrete instance of `ClusterKubeRouterInput` via: +// K0sKineInput is an input type that accepts K0sKineArgs and K0sKineOutput values. +// You can construct a concrete instance of `K0sKineInput` via: // -// ClusterKubeRouterArgs{...} -type ClusterKubeRouterInput interface { +// K0sKineArgs{...} +type K0sKineInput interface { pulumi.Input - ToClusterKubeRouterOutput() ClusterKubeRouterOutput - ToClusterKubeRouterOutputWithContext(context.Context) ClusterKubeRouterOutput + ToK0sKineOutput() K0sKineOutput + ToK0sKineOutputWithContext(context.Context) K0sKineOutput } -type ClusterKubeRouterArgs struct { - AutoMTU pulumi.BoolPtrInput `pulumi:"autoMTU"` - ExtraArgs pulumi.StringMapInput `pulumi:"extraArgs"` - Hairpin pulumi.StringPtrInput `pulumi:"hairpin"` - IpMasq pulumi.BoolPtrInput `pulumi:"ipMasq"` - MetricsPort pulumi.IntPtrInput `pulumi:"metricsPort"` - Mtu pulumi.IntPtrInput `pulumi:"mtu"` +type K0sKineArgs struct { + DataSource pulumi.StringInput `pulumi:"dataSource"` } -func (ClusterKubeRouterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterKubeRouter)(nil)).Elem() +func (K0sKineArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sKine)(nil)).Elem() } -func (i ClusterKubeRouterArgs) ToClusterKubeRouterOutput() ClusterKubeRouterOutput { - return i.ToClusterKubeRouterOutputWithContext(context.Background()) +func (i K0sKineArgs) ToK0sKineOutput() K0sKineOutput { + return i.ToK0sKineOutputWithContext(context.Background()) } -func (i ClusterKubeRouterArgs) ToClusterKubeRouterOutputWithContext(ctx context.Context) ClusterKubeRouterOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKubeRouterOutput) +func (i K0sKineArgs) ToK0sKineOutputWithContext(ctx context.Context) K0sKineOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKineOutput) } -func (i ClusterKubeRouterArgs) ToClusterKubeRouterPtrOutput() ClusterKubeRouterPtrOutput { - return i.ToClusterKubeRouterPtrOutputWithContext(context.Background()) +func (i K0sKineArgs) ToK0sKinePtrOutput() K0sKinePtrOutput { + return i.ToK0sKinePtrOutputWithContext(context.Background()) } -func (i ClusterKubeRouterArgs) ToClusterKubeRouterPtrOutputWithContext(ctx context.Context) ClusterKubeRouterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKubeRouterOutput).ToClusterKubeRouterPtrOutputWithContext(ctx) +func (i K0sKineArgs) ToK0sKinePtrOutputWithContext(ctx context.Context) K0sKinePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKineOutput).ToK0sKinePtrOutputWithContext(ctx) } -// ClusterKubeRouterPtrInput is an input type that accepts ClusterKubeRouterArgs, ClusterKubeRouterPtr and ClusterKubeRouterPtrOutput values. -// You can construct a concrete instance of `ClusterKubeRouterPtrInput` via: +// K0sKinePtrInput is an input type that accepts K0sKineArgs, K0sKinePtr and K0sKinePtrOutput values. +// You can construct a concrete instance of `K0sKinePtrInput` via: // -// ClusterKubeRouterArgs{...} +// K0sKineArgs{...} // // or: // // nil -type ClusterKubeRouterPtrInput interface { +type K0sKinePtrInput interface { pulumi.Input - ToClusterKubeRouterPtrOutput() ClusterKubeRouterPtrOutput - ToClusterKubeRouterPtrOutputWithContext(context.Context) ClusterKubeRouterPtrOutput + ToK0sKinePtrOutput() K0sKinePtrOutput + ToK0sKinePtrOutputWithContext(context.Context) K0sKinePtrOutput } -type clusterKubeRouterPtrType ClusterKubeRouterArgs +type k0sKinePtrType K0sKineArgs -func ClusterKubeRouterPtr(v *ClusterKubeRouterArgs) ClusterKubeRouterPtrInput { - return (*clusterKubeRouterPtrType)(v) +func K0sKinePtr(v *K0sKineArgs) K0sKinePtrInput { + return (*k0sKinePtrType)(v) } -func (*clusterKubeRouterPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterKubeRouter)(nil)).Elem() +func (*k0sKinePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sKine)(nil)).Elem() } -func (i *clusterKubeRouterPtrType) ToClusterKubeRouterPtrOutput() ClusterKubeRouterPtrOutput { - return i.ToClusterKubeRouterPtrOutputWithContext(context.Background()) +func (i *k0sKinePtrType) ToK0sKinePtrOutput() K0sKinePtrOutput { + return i.ToK0sKinePtrOutputWithContext(context.Background()) } -func (i *clusterKubeRouterPtrType) ToClusterKubeRouterPtrOutputWithContext(ctx context.Context) ClusterKubeRouterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKubeRouterPtrOutput) +func (i *k0sKinePtrType) ToK0sKinePtrOutputWithContext(ctx context.Context) K0sKinePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKinePtrOutput) } -type ClusterKubeRouterOutput struct{ *pulumi.OutputState } +type K0sKineOutput struct{ *pulumi.OutputState } -func (ClusterKubeRouterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterKubeRouter)(nil)).Elem() +func (K0sKineOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sKine)(nil)).Elem() } -func (o ClusterKubeRouterOutput) ToClusterKubeRouterOutput() ClusterKubeRouterOutput { +func (o K0sKineOutput) ToK0sKineOutput() K0sKineOutput { return o } -func (o ClusterKubeRouterOutput) ToClusterKubeRouterOutputWithContext(ctx context.Context) ClusterKubeRouterOutput { +func (o K0sKineOutput) ToK0sKineOutputWithContext(ctx context.Context) K0sKineOutput { return o } -func (o ClusterKubeRouterOutput) ToClusterKubeRouterPtrOutput() ClusterKubeRouterPtrOutput { - return o.ToClusterKubeRouterPtrOutputWithContext(context.Background()) +func (o K0sKineOutput) ToK0sKinePtrOutput() K0sKinePtrOutput { + return o.ToK0sKinePtrOutputWithContext(context.Background()) } -func (o ClusterKubeRouterOutput) ToClusterKubeRouterPtrOutputWithContext(ctx context.Context) ClusterKubeRouterPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterKubeRouter) *ClusterKubeRouter { +func (o K0sKineOutput) ToK0sKinePtrOutputWithContext(ctx context.Context) K0sKinePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sKine) *K0sKine { return &v - }).(ClusterKubeRouterPtrOutput) + }).(K0sKinePtrOutput) +} + +func (o K0sKineOutput) DataSource() pulumi.StringOutput { + return o.ApplyT(func(v K0sKine) string { return v.DataSource }).(pulumi.StringOutput) +} + +type K0sKinePtrOutput struct{ *pulumi.OutputState } + +func (K0sKinePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sKine)(nil)).Elem() +} + +func (o K0sKinePtrOutput) ToK0sKinePtrOutput() K0sKinePtrOutput { + return o +} + +func (o K0sKinePtrOutput) ToK0sKinePtrOutputWithContext(ctx context.Context) K0sKinePtrOutput { + return o +} + +func (o K0sKinePtrOutput) Elem() K0sKineOutput { + return o.ApplyT(func(v *K0sKine) K0sKine { + if v != nil { + return *v + } + var ret K0sKine + return ret + }).(K0sKineOutput) +} + +func (o K0sKinePtrOutput) DataSource() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sKine) *string { + if v == nil { + return nil + } + return &v.DataSource + }).(pulumi.StringPtrOutput) +} + +type K0sKonnectivity struct { + AdminPort *int `pulumi:"adminPort"` + AgentPort *int `pulumi:"agentPort"` +} + +// K0sKonnectivityInput is an input type that accepts K0sKonnectivityArgs and K0sKonnectivityOutput values. +// You can construct a concrete instance of `K0sKonnectivityInput` via: +// +// K0sKonnectivityArgs{...} +type K0sKonnectivityInput interface { + pulumi.Input + + ToK0sKonnectivityOutput() K0sKonnectivityOutput + ToK0sKonnectivityOutputWithContext(context.Context) K0sKonnectivityOutput +} + +type K0sKonnectivityArgs struct { + AdminPort pulumi.IntPtrInput `pulumi:"adminPort"` + AgentPort pulumi.IntPtrInput `pulumi:"agentPort"` +} + +func (K0sKonnectivityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sKonnectivity)(nil)).Elem() +} + +func (i K0sKonnectivityArgs) ToK0sKonnectivityOutput() K0sKonnectivityOutput { + return i.ToK0sKonnectivityOutputWithContext(context.Background()) } -func (o ClusterKubeRouterOutput) AutoMTU() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterKubeRouter) *bool { return v.AutoMTU }).(pulumi.BoolPtrOutput) +func (i K0sKonnectivityArgs) ToK0sKonnectivityOutputWithContext(ctx context.Context) K0sKonnectivityOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKonnectivityOutput) } -func (o ClusterKubeRouterOutput) ExtraArgs() pulumi.StringMapOutput { - return o.ApplyT(func(v ClusterKubeRouter) map[string]string { return v.ExtraArgs }).(pulumi.StringMapOutput) +func (i K0sKonnectivityArgs) ToK0sKonnectivityPtrOutput() K0sKonnectivityPtrOutput { + return i.ToK0sKonnectivityPtrOutputWithContext(context.Background()) } -func (o ClusterKubeRouterOutput) Hairpin() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterKubeRouter) *string { return v.Hairpin }).(pulumi.StringPtrOutput) +func (i K0sKonnectivityArgs) ToK0sKonnectivityPtrOutputWithContext(ctx context.Context) K0sKonnectivityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKonnectivityOutput).ToK0sKonnectivityPtrOutputWithContext(ctx) } -func (o ClusterKubeRouterOutput) IpMasq() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterKubeRouter) *bool { return v.IpMasq }).(pulumi.BoolPtrOutput) +// K0sKonnectivityPtrInput is an input type that accepts K0sKonnectivityArgs, K0sKonnectivityPtr and K0sKonnectivityPtrOutput values. +// You can construct a concrete instance of `K0sKonnectivityPtrInput` via: +// +// K0sKonnectivityArgs{...} +// +// or: +// +// nil +type K0sKonnectivityPtrInput interface { + pulumi.Input + + ToK0sKonnectivityPtrOutput() K0sKonnectivityPtrOutput + ToK0sKonnectivityPtrOutputWithContext(context.Context) K0sKonnectivityPtrOutput +} + +type k0sKonnectivityPtrType K0sKonnectivityArgs + +func K0sKonnectivityPtr(v *K0sKonnectivityArgs) K0sKonnectivityPtrInput { + return (*k0sKonnectivityPtrType)(v) +} + +func (*k0sKonnectivityPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sKonnectivity)(nil)).Elem() } -func (o ClusterKubeRouterOutput) MetricsPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v ClusterKubeRouter) *int { return v.MetricsPort }).(pulumi.IntPtrOutput) +func (i *k0sKonnectivityPtrType) ToK0sKonnectivityPtrOutput() K0sKonnectivityPtrOutput { + return i.ToK0sKonnectivityPtrOutputWithContext(context.Background()) } -func (o ClusterKubeRouterOutput) Mtu() pulumi.IntPtrOutput { - return o.ApplyT(func(v ClusterKubeRouter) *int { return v.Mtu }).(pulumi.IntPtrOutput) +func (i *k0sKonnectivityPtrType) ToK0sKonnectivityPtrOutputWithContext(ctx context.Context) K0sKonnectivityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKonnectivityPtrOutput) } -type ClusterKubeRouterPtrOutput struct{ *pulumi.OutputState } +type K0sKonnectivityOutput struct{ *pulumi.OutputState } -func (ClusterKubeRouterPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterKubeRouter)(nil)).Elem() +func (K0sKonnectivityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sKonnectivity)(nil)).Elem() } -func (o ClusterKubeRouterPtrOutput) ToClusterKubeRouterPtrOutput() ClusterKubeRouterPtrOutput { +func (o K0sKonnectivityOutput) ToK0sKonnectivityOutput() K0sKonnectivityOutput { return o } -func (o ClusterKubeRouterPtrOutput) ToClusterKubeRouterPtrOutputWithContext(ctx context.Context) ClusterKubeRouterPtrOutput { +func (o K0sKonnectivityOutput) ToK0sKonnectivityOutputWithContext(ctx context.Context) K0sKonnectivityOutput { return o } -func (o ClusterKubeRouterPtrOutput) Elem() ClusterKubeRouterOutput { - return o.ApplyT(func(v *ClusterKubeRouter) ClusterKubeRouter { - if v != nil { - return *v - } - var ret ClusterKubeRouter - return ret - }).(ClusterKubeRouterOutput) +func (o K0sKonnectivityOutput) ToK0sKonnectivityPtrOutput() K0sKonnectivityPtrOutput { + return o.ToK0sKonnectivityPtrOutputWithContext(context.Background()) } -func (o ClusterKubeRouterPtrOutput) AutoMTU() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterKubeRouter) *bool { - if v == nil { - return nil - } - return v.AutoMTU - }).(pulumi.BoolPtrOutput) +func (o K0sKonnectivityOutput) ToK0sKonnectivityPtrOutputWithContext(ctx context.Context) K0sKonnectivityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sKonnectivity) *K0sKonnectivity { + return &v + }).(K0sKonnectivityPtrOutput) } -func (o ClusterKubeRouterPtrOutput) ExtraArgs() pulumi.StringMapOutput { - return o.ApplyT(func(v *ClusterKubeRouter) map[string]string { - if v == nil { - return nil - } - return v.ExtraArgs - }).(pulumi.StringMapOutput) +func (o K0sKonnectivityOutput) AdminPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v K0sKonnectivity) *int { return v.AdminPort }).(pulumi.IntPtrOutput) } -func (o ClusterKubeRouterPtrOutput) Hairpin() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterKubeRouter) *string { - if v == nil { - return nil - } - return v.Hairpin - }).(pulumi.StringPtrOutput) +func (o K0sKonnectivityOutput) AgentPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v K0sKonnectivity) *int { return v.AgentPort }).(pulumi.IntPtrOutput) } -func (o ClusterKubeRouterPtrOutput) IpMasq() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterKubeRouter) *bool { - if v == nil { - return nil +type K0sKonnectivityPtrOutput struct{ *pulumi.OutputState } + +func (K0sKonnectivityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sKonnectivity)(nil)).Elem() +} + +func (o K0sKonnectivityPtrOutput) ToK0sKonnectivityPtrOutput() K0sKonnectivityPtrOutput { + return o +} + +func (o K0sKonnectivityPtrOutput) ToK0sKonnectivityPtrOutputWithContext(ctx context.Context) K0sKonnectivityPtrOutput { + return o +} + +func (o K0sKonnectivityPtrOutput) Elem() K0sKonnectivityOutput { + return o.ApplyT(func(v *K0sKonnectivity) K0sKonnectivity { + if v != nil { + return *v } - return v.IpMasq - }).(pulumi.BoolPtrOutput) + var ret K0sKonnectivity + return ret + }).(K0sKonnectivityOutput) } -func (o ClusterKubeRouterPtrOutput) MetricsPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ClusterKubeRouter) *int { +func (o K0sKonnectivityPtrOutput) AdminPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *K0sKonnectivity) *int { if v == nil { return nil } - return v.MetricsPort + return v.AdminPort }).(pulumi.IntPtrOutput) } -func (o ClusterKubeRouterPtrOutput) Mtu() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ClusterKubeRouter) *int { +func (o K0sKonnectivityPtrOutput) AgentPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *K0sKonnectivity) *int { if v == nil { return nil } - return v.Mtu + return v.AgentPort }).(pulumi.IntPtrOutput) } -type ClusterKubeRouterImage struct { - Cni *ClusterImage `pulumi:"cni"` - CniInstaller *ClusterImage `pulumi:"cniInstaller"` +type K0sKubeProxy struct { + Disabled *bool `pulumi:"disabled"` + Iptables *K0sKubeProxyIPTables `pulumi:"iptables"` + Ipvs *K0sKubeProxyIPVS `pulumi:"ipvs"` + Mode *string `pulumi:"mode"` + NodePortAddresses *string `pulumi:"nodePortAddresses"` } -// ClusterKubeRouterImageInput is an input type that accepts ClusterKubeRouterImageArgs and ClusterKubeRouterImageOutput values. -// You can construct a concrete instance of `ClusterKubeRouterImageInput` via: +// K0sKubeProxyInput is an input type that accepts K0sKubeProxyArgs and K0sKubeProxyOutput values. +// You can construct a concrete instance of `K0sKubeProxyInput` via: // -// ClusterKubeRouterImageArgs{...} -type ClusterKubeRouterImageInput interface { +// K0sKubeProxyArgs{...} +type K0sKubeProxyInput interface { pulumi.Input - ToClusterKubeRouterImageOutput() ClusterKubeRouterImageOutput - ToClusterKubeRouterImageOutputWithContext(context.Context) ClusterKubeRouterImageOutput + ToK0sKubeProxyOutput() K0sKubeProxyOutput + ToK0sKubeProxyOutputWithContext(context.Context) K0sKubeProxyOutput } -type ClusterKubeRouterImageArgs struct { - Cni ClusterImagePtrInput `pulumi:"cni"` - CniInstaller ClusterImagePtrInput `pulumi:"cniInstaller"` +type K0sKubeProxyArgs struct { + Disabled pulumi.BoolPtrInput `pulumi:"disabled"` + Iptables K0sKubeProxyIPTablesPtrInput `pulumi:"iptables"` + Ipvs K0sKubeProxyIPVSPtrInput `pulumi:"ipvs"` + Mode pulumi.StringPtrInput `pulumi:"mode"` + NodePortAddresses pulumi.StringPtrInput `pulumi:"nodePortAddresses"` } -func (ClusterKubeRouterImageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterKubeRouterImage)(nil)).Elem() +func (K0sKubeProxyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sKubeProxy)(nil)).Elem() } -func (i ClusterKubeRouterImageArgs) ToClusterKubeRouterImageOutput() ClusterKubeRouterImageOutput { - return i.ToClusterKubeRouterImageOutputWithContext(context.Background()) +func (i K0sKubeProxyArgs) ToK0sKubeProxyOutput() K0sKubeProxyOutput { + return i.ToK0sKubeProxyOutputWithContext(context.Background()) } -func (i ClusterKubeRouterImageArgs) ToClusterKubeRouterImageOutputWithContext(ctx context.Context) ClusterKubeRouterImageOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKubeRouterImageOutput) +func (i K0sKubeProxyArgs) ToK0sKubeProxyOutputWithContext(ctx context.Context) K0sKubeProxyOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKubeProxyOutput) } -func (i ClusterKubeRouterImageArgs) ToClusterKubeRouterImagePtrOutput() ClusterKubeRouterImagePtrOutput { - return i.ToClusterKubeRouterImagePtrOutputWithContext(context.Background()) +func (i K0sKubeProxyArgs) ToK0sKubeProxyPtrOutput() K0sKubeProxyPtrOutput { + return i.ToK0sKubeProxyPtrOutputWithContext(context.Background()) } -func (i ClusterKubeRouterImageArgs) ToClusterKubeRouterImagePtrOutputWithContext(ctx context.Context) ClusterKubeRouterImagePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKubeRouterImageOutput).ToClusterKubeRouterImagePtrOutputWithContext(ctx) +func (i K0sKubeProxyArgs) ToK0sKubeProxyPtrOutputWithContext(ctx context.Context) K0sKubeProxyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKubeProxyOutput).ToK0sKubeProxyPtrOutputWithContext(ctx) } -// ClusterKubeRouterImagePtrInput is an input type that accepts ClusterKubeRouterImageArgs, ClusterKubeRouterImagePtr and ClusterKubeRouterImagePtrOutput values. -// You can construct a concrete instance of `ClusterKubeRouterImagePtrInput` via: +// K0sKubeProxyPtrInput is an input type that accepts K0sKubeProxyArgs, K0sKubeProxyPtr and K0sKubeProxyPtrOutput values. +// You can construct a concrete instance of `K0sKubeProxyPtrInput` via: // -// ClusterKubeRouterImageArgs{...} +// K0sKubeProxyArgs{...} // // or: // // nil -type ClusterKubeRouterImagePtrInput interface { +type K0sKubeProxyPtrInput interface { pulumi.Input - ToClusterKubeRouterImagePtrOutput() ClusterKubeRouterImagePtrOutput - ToClusterKubeRouterImagePtrOutputWithContext(context.Context) ClusterKubeRouterImagePtrOutput + ToK0sKubeProxyPtrOutput() K0sKubeProxyPtrOutput + ToK0sKubeProxyPtrOutputWithContext(context.Context) K0sKubeProxyPtrOutput } -type clusterKubeRouterImagePtrType ClusterKubeRouterImageArgs +type k0sKubeProxyPtrType K0sKubeProxyArgs -func ClusterKubeRouterImagePtr(v *ClusterKubeRouterImageArgs) ClusterKubeRouterImagePtrInput { - return (*clusterKubeRouterImagePtrType)(v) +func K0sKubeProxyPtr(v *K0sKubeProxyArgs) K0sKubeProxyPtrInput { + return (*k0sKubeProxyPtrType)(v) } -func (*clusterKubeRouterImagePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterKubeRouterImage)(nil)).Elem() +func (*k0sKubeProxyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sKubeProxy)(nil)).Elem() } -func (i *clusterKubeRouterImagePtrType) ToClusterKubeRouterImagePtrOutput() ClusterKubeRouterImagePtrOutput { - return i.ToClusterKubeRouterImagePtrOutputWithContext(context.Background()) +func (i *k0sKubeProxyPtrType) ToK0sKubeProxyPtrOutput() K0sKubeProxyPtrOutput { + return i.ToK0sKubeProxyPtrOutputWithContext(context.Background()) } -func (i *clusterKubeRouterImagePtrType) ToClusterKubeRouterImagePtrOutputWithContext(ctx context.Context) ClusterKubeRouterImagePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterKubeRouterImagePtrOutput) +func (i *k0sKubeProxyPtrType) ToK0sKubeProxyPtrOutputWithContext(ctx context.Context) K0sKubeProxyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKubeProxyPtrOutput) } -type ClusterKubeRouterImageOutput struct{ *pulumi.OutputState } +type K0sKubeProxyOutput struct{ *pulumi.OutputState } -func (ClusterKubeRouterImageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterKubeRouterImage)(nil)).Elem() +func (K0sKubeProxyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sKubeProxy)(nil)).Elem() } -func (o ClusterKubeRouterImageOutput) ToClusterKubeRouterImageOutput() ClusterKubeRouterImageOutput { +func (o K0sKubeProxyOutput) ToK0sKubeProxyOutput() K0sKubeProxyOutput { return o } -func (o ClusterKubeRouterImageOutput) ToClusterKubeRouterImageOutputWithContext(ctx context.Context) ClusterKubeRouterImageOutput { +func (o K0sKubeProxyOutput) ToK0sKubeProxyOutputWithContext(ctx context.Context) K0sKubeProxyOutput { return o } -func (o ClusterKubeRouterImageOutput) ToClusterKubeRouterImagePtrOutput() ClusterKubeRouterImagePtrOutput { - return o.ToClusterKubeRouterImagePtrOutputWithContext(context.Background()) +func (o K0sKubeProxyOutput) ToK0sKubeProxyPtrOutput() K0sKubeProxyPtrOutput { + return o.ToK0sKubeProxyPtrOutputWithContext(context.Background()) } -func (o ClusterKubeRouterImageOutput) ToClusterKubeRouterImagePtrOutputWithContext(ctx context.Context) ClusterKubeRouterImagePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterKubeRouterImage) *ClusterKubeRouterImage { +func (o K0sKubeProxyOutput) ToK0sKubeProxyPtrOutputWithContext(ctx context.Context) K0sKubeProxyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sKubeProxy) *K0sKubeProxy { return &v - }).(ClusterKubeRouterImagePtrOutput) + }).(K0sKubeProxyPtrOutput) +} + +func (o K0sKubeProxyOutput) Disabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v K0sKubeProxy) *bool { return v.Disabled }).(pulumi.BoolPtrOutput) +} + +func (o K0sKubeProxyOutput) Iptables() K0sKubeProxyIPTablesPtrOutput { + return o.ApplyT(func(v K0sKubeProxy) *K0sKubeProxyIPTables { return v.Iptables }).(K0sKubeProxyIPTablesPtrOutput) } -func (o ClusterKubeRouterImageOutput) Cni() ClusterImagePtrOutput { - return o.ApplyT(func(v ClusterKubeRouterImage) *ClusterImage { return v.Cni }).(ClusterImagePtrOutput) +func (o K0sKubeProxyOutput) Ipvs() K0sKubeProxyIPVSPtrOutput { + return o.ApplyT(func(v K0sKubeProxy) *K0sKubeProxyIPVS { return v.Ipvs }).(K0sKubeProxyIPVSPtrOutput) } -func (o ClusterKubeRouterImageOutput) CniInstaller() ClusterImagePtrOutput { - return o.ApplyT(func(v ClusterKubeRouterImage) *ClusterImage { return v.CniInstaller }).(ClusterImagePtrOutput) +func (o K0sKubeProxyOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sKubeProxy) *string { return v.Mode }).(pulumi.StringPtrOutput) } -type ClusterKubeRouterImagePtrOutput struct{ *pulumi.OutputState } +func (o K0sKubeProxyOutput) NodePortAddresses() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sKubeProxy) *string { return v.NodePortAddresses }).(pulumi.StringPtrOutput) +} + +type K0sKubeProxyPtrOutput struct{ *pulumi.OutputState } -func (ClusterKubeRouterImagePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterKubeRouterImage)(nil)).Elem() +func (K0sKubeProxyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sKubeProxy)(nil)).Elem() } -func (o ClusterKubeRouterImagePtrOutput) ToClusterKubeRouterImagePtrOutput() ClusterKubeRouterImagePtrOutput { +func (o K0sKubeProxyPtrOutput) ToK0sKubeProxyPtrOutput() K0sKubeProxyPtrOutput { return o } -func (o ClusterKubeRouterImagePtrOutput) ToClusterKubeRouterImagePtrOutputWithContext(ctx context.Context) ClusterKubeRouterImagePtrOutput { +func (o K0sKubeProxyPtrOutput) ToK0sKubeProxyPtrOutputWithContext(ctx context.Context) K0sKubeProxyPtrOutput { return o } -func (o ClusterKubeRouterImagePtrOutput) Elem() ClusterKubeRouterImageOutput { - return o.ApplyT(func(v *ClusterKubeRouterImage) ClusterKubeRouterImage { +func (o K0sKubeProxyPtrOutput) Elem() K0sKubeProxyOutput { + return o.ApplyT(func(v *K0sKubeProxy) K0sKubeProxy { if v != nil { return *v } - var ret ClusterKubeRouterImage + var ret K0sKubeProxy return ret - }).(ClusterKubeRouterImageOutput) + }).(K0sKubeProxyOutput) } -func (o ClusterKubeRouterImagePtrOutput) Cni() ClusterImagePtrOutput { - return o.ApplyT(func(v *ClusterKubeRouterImage) *ClusterImage { +func (o K0sKubeProxyPtrOutput) Disabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *K0sKubeProxy) *bool { if v == nil { return nil } - return v.Cni - }).(ClusterImagePtrOutput) + return v.Disabled + }).(pulumi.BoolPtrOutput) } -func (o ClusterKubeRouterImagePtrOutput) CniInstaller() ClusterImagePtrOutput { - return o.ApplyT(func(v *ClusterKubeRouterImage) *ClusterImage { +func (o K0sKubeProxyPtrOutput) Iptables() K0sKubeProxyIPTablesPtrOutput { + return o.ApplyT(func(v *K0sKubeProxy) *K0sKubeProxyIPTables { if v == nil { return nil } - return v.CniInstaller - }).(ClusterImagePtrOutput) + return v.Iptables + }).(K0sKubeProxyIPTablesPtrOutput) } -type ClusterLocalhost struct { - Enabled *bool `pulumi:"enabled"` +func (o K0sKubeProxyPtrOutput) Ipvs() K0sKubeProxyIPVSPtrOutput { + return o.ApplyT(func(v *K0sKubeProxy) *K0sKubeProxyIPVS { + if v == nil { + return nil + } + return v.Ipvs + }).(K0sKubeProxyIPVSPtrOutput) } -// ClusterLocalhostInput is an input type that accepts ClusterLocalhostArgs and ClusterLocalhostOutput values. -// You can construct a concrete instance of `ClusterLocalhostInput` via: +func (o K0sKubeProxyPtrOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sKubeProxy) *string { + if v == nil { + return nil + } + return v.Mode + }).(pulumi.StringPtrOutput) +} + +func (o K0sKubeProxyPtrOutput) NodePortAddresses() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sKubeProxy) *string { + if v == nil { + return nil + } + return v.NodePortAddresses + }).(pulumi.StringPtrOutput) +} + +type K0sKubeProxyIPTables struct { + MasqueradeAll *bool `pulumi:"masqueradeAll"` + MasqueradeBit *int `pulumi:"masqueradeBit"` + MinSyncPeriod *string `pulumi:"minSyncPeriod"` + SyncPeriod *string `pulumi:"syncPeriod"` +} + +// K0sKubeProxyIPTablesInput is an input type that accepts K0sKubeProxyIPTablesArgs and K0sKubeProxyIPTablesOutput values. +// You can construct a concrete instance of `K0sKubeProxyIPTablesInput` via: // -// ClusterLocalhostArgs{...} -type ClusterLocalhostInput interface { +// K0sKubeProxyIPTablesArgs{...} +type K0sKubeProxyIPTablesInput interface { pulumi.Input - ToClusterLocalhostOutput() ClusterLocalhostOutput - ToClusterLocalhostOutputWithContext(context.Context) ClusterLocalhostOutput + ToK0sKubeProxyIPTablesOutput() K0sKubeProxyIPTablesOutput + ToK0sKubeProxyIPTablesOutputWithContext(context.Context) K0sKubeProxyIPTablesOutput } -type ClusterLocalhostArgs struct { - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +type K0sKubeProxyIPTablesArgs struct { + MasqueradeAll pulumi.BoolPtrInput `pulumi:"masqueradeAll"` + MasqueradeBit pulumi.IntPtrInput `pulumi:"masqueradeBit"` + MinSyncPeriod pulumi.StringPtrInput `pulumi:"minSyncPeriod"` + SyncPeriod pulumi.StringPtrInput `pulumi:"syncPeriod"` } -func (ClusterLocalhostArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterLocalhost)(nil)).Elem() +func (K0sKubeProxyIPTablesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sKubeProxyIPTables)(nil)).Elem() } -func (i ClusterLocalhostArgs) ToClusterLocalhostOutput() ClusterLocalhostOutput { - return i.ToClusterLocalhostOutputWithContext(context.Background()) +func (i K0sKubeProxyIPTablesArgs) ToK0sKubeProxyIPTablesOutput() K0sKubeProxyIPTablesOutput { + return i.ToK0sKubeProxyIPTablesOutputWithContext(context.Background()) } -func (i ClusterLocalhostArgs) ToClusterLocalhostOutputWithContext(ctx context.Context) ClusterLocalhostOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterLocalhostOutput) +func (i K0sKubeProxyIPTablesArgs) ToK0sKubeProxyIPTablesOutputWithContext(ctx context.Context) K0sKubeProxyIPTablesOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKubeProxyIPTablesOutput) } -func (i ClusterLocalhostArgs) ToClusterLocalhostPtrOutput() ClusterLocalhostPtrOutput { - return i.ToClusterLocalhostPtrOutputWithContext(context.Background()) +func (i K0sKubeProxyIPTablesArgs) ToK0sKubeProxyIPTablesPtrOutput() K0sKubeProxyIPTablesPtrOutput { + return i.ToK0sKubeProxyIPTablesPtrOutputWithContext(context.Background()) } -func (i ClusterLocalhostArgs) ToClusterLocalhostPtrOutputWithContext(ctx context.Context) ClusterLocalhostPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterLocalhostOutput).ToClusterLocalhostPtrOutputWithContext(ctx) +func (i K0sKubeProxyIPTablesArgs) ToK0sKubeProxyIPTablesPtrOutputWithContext(ctx context.Context) K0sKubeProxyIPTablesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKubeProxyIPTablesOutput).ToK0sKubeProxyIPTablesPtrOutputWithContext(ctx) } -// ClusterLocalhostPtrInput is an input type that accepts ClusterLocalhostArgs, ClusterLocalhostPtr and ClusterLocalhostPtrOutput values. -// You can construct a concrete instance of `ClusterLocalhostPtrInput` via: +// K0sKubeProxyIPTablesPtrInput is an input type that accepts K0sKubeProxyIPTablesArgs, K0sKubeProxyIPTablesPtr and K0sKubeProxyIPTablesPtrOutput values. +// You can construct a concrete instance of `K0sKubeProxyIPTablesPtrInput` via: // -// ClusterLocalhostArgs{...} +// K0sKubeProxyIPTablesArgs{...} // // or: // // nil -type ClusterLocalhostPtrInput interface { +type K0sKubeProxyIPTablesPtrInput interface { pulumi.Input - ToClusterLocalhostPtrOutput() ClusterLocalhostPtrOutput - ToClusterLocalhostPtrOutputWithContext(context.Context) ClusterLocalhostPtrOutput + ToK0sKubeProxyIPTablesPtrOutput() K0sKubeProxyIPTablesPtrOutput + ToK0sKubeProxyIPTablesPtrOutputWithContext(context.Context) K0sKubeProxyIPTablesPtrOutput } -type clusterLocalhostPtrType ClusterLocalhostArgs +type k0sKubeProxyIPTablesPtrType K0sKubeProxyIPTablesArgs -func ClusterLocalhostPtr(v *ClusterLocalhostArgs) ClusterLocalhostPtrInput { - return (*clusterLocalhostPtrType)(v) +func K0sKubeProxyIPTablesPtr(v *K0sKubeProxyIPTablesArgs) K0sKubeProxyIPTablesPtrInput { + return (*k0sKubeProxyIPTablesPtrType)(v) } -func (*clusterLocalhostPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterLocalhost)(nil)).Elem() +func (*k0sKubeProxyIPTablesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sKubeProxyIPTables)(nil)).Elem() } -func (i *clusterLocalhostPtrType) ToClusterLocalhostPtrOutput() ClusterLocalhostPtrOutput { - return i.ToClusterLocalhostPtrOutputWithContext(context.Background()) +func (i *k0sKubeProxyIPTablesPtrType) ToK0sKubeProxyIPTablesPtrOutput() K0sKubeProxyIPTablesPtrOutput { + return i.ToK0sKubeProxyIPTablesPtrOutputWithContext(context.Background()) } -func (i *clusterLocalhostPtrType) ToClusterLocalhostPtrOutputWithContext(ctx context.Context) ClusterLocalhostPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterLocalhostPtrOutput) +func (i *k0sKubeProxyIPTablesPtrType) ToK0sKubeProxyIPTablesPtrOutputWithContext(ctx context.Context) K0sKubeProxyIPTablesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKubeProxyIPTablesPtrOutput) } -type ClusterLocalhostOutput struct{ *pulumi.OutputState } +type K0sKubeProxyIPTablesOutput struct{ *pulumi.OutputState } -func (ClusterLocalhostOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterLocalhost)(nil)).Elem() +func (K0sKubeProxyIPTablesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sKubeProxyIPTables)(nil)).Elem() } -func (o ClusterLocalhostOutput) ToClusterLocalhostOutput() ClusterLocalhostOutput { +func (o K0sKubeProxyIPTablesOutput) ToK0sKubeProxyIPTablesOutput() K0sKubeProxyIPTablesOutput { return o } -func (o ClusterLocalhostOutput) ToClusterLocalhostOutputWithContext(ctx context.Context) ClusterLocalhostOutput { +func (o K0sKubeProxyIPTablesOutput) ToK0sKubeProxyIPTablesOutputWithContext(ctx context.Context) K0sKubeProxyIPTablesOutput { return o } -func (o ClusterLocalhostOutput) ToClusterLocalhostPtrOutput() ClusterLocalhostPtrOutput { - return o.ToClusterLocalhostPtrOutputWithContext(context.Background()) +func (o K0sKubeProxyIPTablesOutput) ToK0sKubeProxyIPTablesPtrOutput() K0sKubeProxyIPTablesPtrOutput { + return o.ToK0sKubeProxyIPTablesPtrOutputWithContext(context.Background()) } -func (o ClusterLocalhostOutput) ToClusterLocalhostPtrOutputWithContext(ctx context.Context) ClusterLocalhostPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterLocalhost) *ClusterLocalhost { +func (o K0sKubeProxyIPTablesOutput) ToK0sKubeProxyIPTablesPtrOutputWithContext(ctx context.Context) K0sKubeProxyIPTablesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sKubeProxyIPTables) *K0sKubeProxyIPTables { return &v - }).(ClusterLocalhostPtrOutput) + }).(K0sKubeProxyIPTablesPtrOutput) } -func (o ClusterLocalhostOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterLocalhost) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +func (o K0sKubeProxyIPTablesOutput) MasqueradeAll() pulumi.BoolPtrOutput { + return o.ApplyT(func(v K0sKubeProxyIPTables) *bool { return v.MasqueradeAll }).(pulumi.BoolPtrOutput) } -type ClusterLocalhostPtrOutput struct{ *pulumi.OutputState } +func (o K0sKubeProxyIPTablesOutput) MasqueradeBit() pulumi.IntPtrOutput { + return o.ApplyT(func(v K0sKubeProxyIPTables) *int { return v.MasqueradeBit }).(pulumi.IntPtrOutput) +} -func (ClusterLocalhostPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterLocalhost)(nil)).Elem() +func (o K0sKubeProxyIPTablesOutput) MinSyncPeriod() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sKubeProxyIPTables) *string { return v.MinSyncPeriod }).(pulumi.StringPtrOutput) } -func (o ClusterLocalhostPtrOutput) ToClusterLocalhostPtrOutput() ClusterLocalhostPtrOutput { +func (o K0sKubeProxyIPTablesOutput) SyncPeriod() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sKubeProxyIPTables) *string { return v.SyncPeriod }).(pulumi.StringPtrOutput) +} + +type K0sKubeProxyIPTablesPtrOutput struct{ *pulumi.OutputState } + +func (K0sKubeProxyIPTablesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sKubeProxyIPTables)(nil)).Elem() +} + +func (o K0sKubeProxyIPTablesPtrOutput) ToK0sKubeProxyIPTablesPtrOutput() K0sKubeProxyIPTablesPtrOutput { return o } -func (o ClusterLocalhostPtrOutput) ToClusterLocalhostPtrOutputWithContext(ctx context.Context) ClusterLocalhostPtrOutput { +func (o K0sKubeProxyIPTablesPtrOutput) ToK0sKubeProxyIPTablesPtrOutputWithContext(ctx context.Context) K0sKubeProxyIPTablesPtrOutput { return o } -func (o ClusterLocalhostPtrOutput) Elem() ClusterLocalhostOutput { - return o.ApplyT(func(v *ClusterLocalhost) ClusterLocalhost { +func (o K0sKubeProxyIPTablesPtrOutput) Elem() K0sKubeProxyIPTablesOutput { + return o.ApplyT(func(v *K0sKubeProxyIPTables) K0sKubeProxyIPTables { if v != nil { return *v } - var ret ClusterLocalhost + var ret K0sKubeProxyIPTables return ret - }).(ClusterLocalhostOutput) + }).(K0sKubeProxyIPTablesOutput) } -func (o ClusterLocalhostPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterLocalhost) *bool { +func (o K0sKubeProxyIPTablesPtrOutput) MasqueradeAll() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *K0sKubeProxyIPTables) *bool { if v == nil { return nil } - return v.Enabled + return v.MasqueradeAll }).(pulumi.BoolPtrOutput) } -type ClusterMetadata struct { - Name string `pulumi:"name"` +func (o K0sKubeProxyIPTablesPtrOutput) MasqueradeBit() pulumi.IntPtrOutput { + return o.ApplyT(func(v *K0sKubeProxyIPTables) *int { + if v == nil { + return nil + } + return v.MasqueradeBit + }).(pulumi.IntPtrOutput) } -// ClusterMetadataInput is an input type that accepts ClusterMetadataArgs and ClusterMetadataOutput values. -// You can construct a concrete instance of `ClusterMetadataInput` via: +func (o K0sKubeProxyIPTablesPtrOutput) MinSyncPeriod() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sKubeProxyIPTables) *string { + if v == nil { + return nil + } + return v.MinSyncPeriod + }).(pulumi.StringPtrOutput) +} + +func (o K0sKubeProxyIPTablesPtrOutput) SyncPeriod() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sKubeProxyIPTables) *string { + if v == nil { + return nil + } + return v.SyncPeriod + }).(pulumi.StringPtrOutput) +} + +type K0sKubeProxyIPVS struct { + ExcludeCIDRs *string `pulumi:"excludeCIDRs"` + MinSyncPeriod *string `pulumi:"minSyncPeriod"` + Scheduler *string `pulumi:"scheduler"` + StrictARP *bool `pulumi:"strictARP"` + SyncPeriod *string `pulumi:"syncPeriod"` + TcpFinTimeout *string `pulumi:"tcpFinTimeout"` + TcpTimeout *string `pulumi:"tcpTimeout"` + UdpTimeout *string `pulumi:"udpTimeout"` +} + +// K0sKubeProxyIPVSInput is an input type that accepts K0sKubeProxyIPVSArgs and K0sKubeProxyIPVSOutput values. +// You can construct a concrete instance of `K0sKubeProxyIPVSInput` via: // -// ClusterMetadataArgs{...} -type ClusterMetadataInput interface { +// K0sKubeProxyIPVSArgs{...} +type K0sKubeProxyIPVSInput interface { pulumi.Input - ToClusterMetadataOutput() ClusterMetadataOutput - ToClusterMetadataOutputWithContext(context.Context) ClusterMetadataOutput + ToK0sKubeProxyIPVSOutput() K0sKubeProxyIPVSOutput + ToK0sKubeProxyIPVSOutputWithContext(context.Context) K0sKubeProxyIPVSOutput } -type ClusterMetadataArgs struct { - Name pulumi.StringInput `pulumi:"name"` +type K0sKubeProxyIPVSArgs struct { + ExcludeCIDRs pulumi.StringPtrInput `pulumi:"excludeCIDRs"` + MinSyncPeriod pulumi.StringPtrInput `pulumi:"minSyncPeriod"` + Scheduler pulumi.StringPtrInput `pulumi:"scheduler"` + StrictARP pulumi.BoolPtrInput `pulumi:"strictARP"` + SyncPeriod pulumi.StringPtrInput `pulumi:"syncPeriod"` + TcpFinTimeout pulumi.StringPtrInput `pulumi:"tcpFinTimeout"` + TcpTimeout pulumi.StringPtrInput `pulumi:"tcpTimeout"` + UdpTimeout pulumi.StringPtrInput `pulumi:"udpTimeout"` } -func (ClusterMetadataArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterMetadata)(nil)).Elem() +func (K0sKubeProxyIPVSArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sKubeProxyIPVS)(nil)).Elem() } -func (i ClusterMetadataArgs) ToClusterMetadataOutput() ClusterMetadataOutput { - return i.ToClusterMetadataOutputWithContext(context.Background()) +func (i K0sKubeProxyIPVSArgs) ToK0sKubeProxyIPVSOutput() K0sKubeProxyIPVSOutput { + return i.ToK0sKubeProxyIPVSOutputWithContext(context.Background()) } -func (i ClusterMetadataArgs) ToClusterMetadataOutputWithContext(ctx context.Context) ClusterMetadataOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterMetadataOutput) +func (i K0sKubeProxyIPVSArgs) ToK0sKubeProxyIPVSOutputWithContext(ctx context.Context) K0sKubeProxyIPVSOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKubeProxyIPVSOutput) } -func (i ClusterMetadataArgs) ToClusterMetadataPtrOutput() ClusterMetadataPtrOutput { - return i.ToClusterMetadataPtrOutputWithContext(context.Background()) +func (i K0sKubeProxyIPVSArgs) ToK0sKubeProxyIPVSPtrOutput() K0sKubeProxyIPVSPtrOutput { + return i.ToK0sKubeProxyIPVSPtrOutputWithContext(context.Background()) } -func (i ClusterMetadataArgs) ToClusterMetadataPtrOutputWithContext(ctx context.Context) ClusterMetadataPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterMetadataOutput).ToClusterMetadataPtrOutputWithContext(ctx) +func (i K0sKubeProxyIPVSArgs) ToK0sKubeProxyIPVSPtrOutputWithContext(ctx context.Context) K0sKubeProxyIPVSPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKubeProxyIPVSOutput).ToK0sKubeProxyIPVSPtrOutputWithContext(ctx) } -// ClusterMetadataPtrInput is an input type that accepts ClusterMetadataArgs, ClusterMetadataPtr and ClusterMetadataPtrOutput values. -// You can construct a concrete instance of `ClusterMetadataPtrInput` via: +// K0sKubeProxyIPVSPtrInput is an input type that accepts K0sKubeProxyIPVSArgs, K0sKubeProxyIPVSPtr and K0sKubeProxyIPVSPtrOutput values. +// You can construct a concrete instance of `K0sKubeProxyIPVSPtrInput` via: // -// ClusterMetadataArgs{...} +// K0sKubeProxyIPVSArgs{...} // // or: // // nil -type ClusterMetadataPtrInput interface { +type K0sKubeProxyIPVSPtrInput interface { pulumi.Input - ToClusterMetadataPtrOutput() ClusterMetadataPtrOutput - ToClusterMetadataPtrOutputWithContext(context.Context) ClusterMetadataPtrOutput + ToK0sKubeProxyIPVSPtrOutput() K0sKubeProxyIPVSPtrOutput + ToK0sKubeProxyIPVSPtrOutputWithContext(context.Context) K0sKubeProxyIPVSPtrOutput } -type clusterMetadataPtrType ClusterMetadataArgs +type k0sKubeProxyIPVSPtrType K0sKubeProxyIPVSArgs -func ClusterMetadataPtr(v *ClusterMetadataArgs) ClusterMetadataPtrInput { - return (*clusterMetadataPtrType)(v) +func K0sKubeProxyIPVSPtr(v *K0sKubeProxyIPVSArgs) K0sKubeProxyIPVSPtrInput { + return (*k0sKubeProxyIPVSPtrType)(v) } -func (*clusterMetadataPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterMetadata)(nil)).Elem() +func (*k0sKubeProxyIPVSPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sKubeProxyIPVS)(nil)).Elem() } -func (i *clusterMetadataPtrType) ToClusterMetadataPtrOutput() ClusterMetadataPtrOutput { - return i.ToClusterMetadataPtrOutputWithContext(context.Background()) +func (i *k0sKubeProxyIPVSPtrType) ToK0sKubeProxyIPVSPtrOutput() K0sKubeProxyIPVSPtrOutput { + return i.ToK0sKubeProxyIPVSPtrOutputWithContext(context.Background()) } -func (i *clusterMetadataPtrType) ToClusterMetadataPtrOutputWithContext(ctx context.Context) ClusterMetadataPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterMetadataPtrOutput) +func (i *k0sKubeProxyIPVSPtrType) ToK0sKubeProxyIPVSPtrOutputWithContext(ctx context.Context) K0sKubeProxyIPVSPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKubeProxyIPVSPtrOutput) } -type ClusterMetadataOutput struct{ *pulumi.OutputState } +type K0sKubeProxyIPVSOutput struct{ *pulumi.OutputState } -func (ClusterMetadataOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterMetadata)(nil)).Elem() +func (K0sKubeProxyIPVSOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sKubeProxyIPVS)(nil)).Elem() } -func (o ClusterMetadataOutput) ToClusterMetadataOutput() ClusterMetadataOutput { +func (o K0sKubeProxyIPVSOutput) ToK0sKubeProxyIPVSOutput() K0sKubeProxyIPVSOutput { return o } -func (o ClusterMetadataOutput) ToClusterMetadataOutputWithContext(ctx context.Context) ClusterMetadataOutput { +func (o K0sKubeProxyIPVSOutput) ToK0sKubeProxyIPVSOutputWithContext(ctx context.Context) K0sKubeProxyIPVSOutput { return o } -func (o ClusterMetadataOutput) ToClusterMetadataPtrOutput() ClusterMetadataPtrOutput { - return o.ToClusterMetadataPtrOutputWithContext(context.Background()) +func (o K0sKubeProxyIPVSOutput) ToK0sKubeProxyIPVSPtrOutput() K0sKubeProxyIPVSPtrOutput { + return o.ToK0sKubeProxyIPVSPtrOutputWithContext(context.Background()) } -func (o ClusterMetadataOutput) ToClusterMetadataPtrOutputWithContext(ctx context.Context) ClusterMetadataPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterMetadata) *ClusterMetadata { +func (o K0sKubeProxyIPVSOutput) ToK0sKubeProxyIPVSPtrOutputWithContext(ctx context.Context) K0sKubeProxyIPVSPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sKubeProxyIPVS) *K0sKubeProxyIPVS { return &v - }).(ClusterMetadataPtrOutput) + }).(K0sKubeProxyIPVSPtrOutput) } -func (o ClusterMetadataOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v ClusterMetadata) string { return v.Name }).(pulumi.StringOutput) +func (o K0sKubeProxyIPVSOutput) ExcludeCIDRs() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sKubeProxyIPVS) *string { return v.ExcludeCIDRs }).(pulumi.StringPtrOutput) } -type ClusterMetadataPtrOutput struct{ *pulumi.OutputState } +func (o K0sKubeProxyIPVSOutput) MinSyncPeriod() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sKubeProxyIPVS) *string { return v.MinSyncPeriod }).(pulumi.StringPtrOutput) +} -func (ClusterMetadataPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterMetadata)(nil)).Elem() +func (o K0sKubeProxyIPVSOutput) Scheduler() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sKubeProxyIPVS) *string { return v.Scheduler }).(pulumi.StringPtrOutput) } -func (o ClusterMetadataPtrOutput) ToClusterMetadataPtrOutput() ClusterMetadataPtrOutput { +func (o K0sKubeProxyIPVSOutput) StrictARP() pulumi.BoolPtrOutput { + return o.ApplyT(func(v K0sKubeProxyIPVS) *bool { return v.StrictARP }).(pulumi.BoolPtrOutput) +} + +func (o K0sKubeProxyIPVSOutput) SyncPeriod() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sKubeProxyIPVS) *string { return v.SyncPeriod }).(pulumi.StringPtrOutput) +} + +func (o K0sKubeProxyIPVSOutput) TcpFinTimeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sKubeProxyIPVS) *string { return v.TcpFinTimeout }).(pulumi.StringPtrOutput) +} + +func (o K0sKubeProxyIPVSOutput) TcpTimeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sKubeProxyIPVS) *string { return v.TcpTimeout }).(pulumi.StringPtrOutput) +} + +func (o K0sKubeProxyIPVSOutput) UdpTimeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sKubeProxyIPVS) *string { return v.UdpTimeout }).(pulumi.StringPtrOutput) +} + +type K0sKubeProxyIPVSPtrOutput struct{ *pulumi.OutputState } + +func (K0sKubeProxyIPVSPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sKubeProxyIPVS)(nil)).Elem() +} + +func (o K0sKubeProxyIPVSPtrOutput) ToK0sKubeProxyIPVSPtrOutput() K0sKubeProxyIPVSPtrOutput { return o } -func (o ClusterMetadataPtrOutput) ToClusterMetadataPtrOutputWithContext(ctx context.Context) ClusterMetadataPtrOutput { +func (o K0sKubeProxyIPVSPtrOutput) ToK0sKubeProxyIPVSPtrOutputWithContext(ctx context.Context) K0sKubeProxyIPVSPtrOutput { return o } -func (o ClusterMetadataPtrOutput) Elem() ClusterMetadataOutput { - return o.ApplyT(func(v *ClusterMetadata) ClusterMetadata { - if v != nil { - return *v +func (o K0sKubeProxyIPVSPtrOutput) Elem() K0sKubeProxyIPVSOutput { + return o.ApplyT(func(v *K0sKubeProxyIPVS) K0sKubeProxyIPVS { + if v != nil { + return *v + } + var ret K0sKubeProxyIPVS + return ret + }).(K0sKubeProxyIPVSOutput) +} + +func (o K0sKubeProxyIPVSPtrOutput) ExcludeCIDRs() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sKubeProxyIPVS) *string { + if v == nil { + return nil + } + return v.ExcludeCIDRs + }).(pulumi.StringPtrOutput) +} + +func (o K0sKubeProxyIPVSPtrOutput) MinSyncPeriod() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sKubeProxyIPVS) *string { + if v == nil { + return nil + } + return v.MinSyncPeriod + }).(pulumi.StringPtrOutput) +} + +func (o K0sKubeProxyIPVSPtrOutput) Scheduler() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sKubeProxyIPVS) *string { + if v == nil { + return nil + } + return v.Scheduler + }).(pulumi.StringPtrOutput) +} + +func (o K0sKubeProxyIPVSPtrOutput) StrictARP() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *K0sKubeProxyIPVS) *bool { + if v == nil { + return nil + } + return v.StrictARP + }).(pulumi.BoolPtrOutput) +} + +func (o K0sKubeProxyIPVSPtrOutput) SyncPeriod() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sKubeProxyIPVS) *string { + if v == nil { + return nil + } + return v.SyncPeriod + }).(pulumi.StringPtrOutput) +} + +func (o K0sKubeProxyIPVSPtrOutput) TcpFinTimeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sKubeProxyIPVS) *string { + if v == nil { + return nil + } + return v.TcpFinTimeout + }).(pulumi.StringPtrOutput) +} + +func (o K0sKubeProxyIPVSPtrOutput) TcpTimeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sKubeProxyIPVS) *string { + if v == nil { + return nil } - var ret ClusterMetadata - return ret - }).(ClusterMetadataOutput) + return v.TcpTimeout + }).(pulumi.StringPtrOutput) } -func (o ClusterMetadataPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterMetadata) *string { +func (o K0sKubeProxyIPVSPtrOutput) UdpTimeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sKubeProxyIPVS) *string { if v == nil { return nil } - return &v.Name + return v.UdpTimeout }).(pulumi.StringPtrOutput) } -type ClusterNetwork struct { - Calico *ClusterCalico `pulumi:"calico"` - ClusterDomain *string `pulumi:"clusterDomain"` - DualStack *ClusterDualStack `pulumi:"dualStack"` - KubeProxy *ClusterKubeProxy `pulumi:"kubeProxy"` - Kuberouter *ClusterKubeRouter `pulumi:"kuberouter"` - NodeLocalLoadBalancing *ClusterNodeLocalLoadBalancing `pulumi:"nodeLocalLoadBalancing"` - PodCIDR *string `pulumi:"podCIDR"` - Provider *string `pulumi:"provider"` - ServiceCIDR *string `pulumi:"serviceCIDR"` +type K0sKubeRouter struct { + AutoMTU *bool `pulumi:"autoMTU"` + ExtraArgs map[string]string `pulumi:"extraArgs"` + Hairpin *string `pulumi:"hairpin"` + IpMasq *bool `pulumi:"ipMasq"` + MetricsPort *int `pulumi:"metricsPort"` + Mtu *int `pulumi:"mtu"` } -// ClusterNetworkInput is an input type that accepts ClusterNetworkArgs and ClusterNetworkOutput values. -// You can construct a concrete instance of `ClusterNetworkInput` via: +// K0sKubeRouterInput is an input type that accepts K0sKubeRouterArgs and K0sKubeRouterOutput values. +// You can construct a concrete instance of `K0sKubeRouterInput` via: // -// ClusterNetworkArgs{...} -type ClusterNetworkInput interface { +// K0sKubeRouterArgs{...} +type K0sKubeRouterInput interface { pulumi.Input - ToClusterNetworkOutput() ClusterNetworkOutput - ToClusterNetworkOutputWithContext(context.Context) ClusterNetworkOutput + ToK0sKubeRouterOutput() K0sKubeRouterOutput + ToK0sKubeRouterOutputWithContext(context.Context) K0sKubeRouterOutput } -type ClusterNetworkArgs struct { - Calico ClusterCalicoPtrInput `pulumi:"calico"` - ClusterDomain pulumi.StringPtrInput `pulumi:"clusterDomain"` - DualStack ClusterDualStackPtrInput `pulumi:"dualStack"` - KubeProxy ClusterKubeProxyPtrInput `pulumi:"kubeProxy"` - Kuberouter ClusterKubeRouterPtrInput `pulumi:"kuberouter"` - NodeLocalLoadBalancing ClusterNodeLocalLoadBalancingPtrInput `pulumi:"nodeLocalLoadBalancing"` - PodCIDR pulumi.StringPtrInput `pulumi:"podCIDR"` - Provider pulumi.StringPtrInput `pulumi:"provider"` - ServiceCIDR pulumi.StringPtrInput `pulumi:"serviceCIDR"` +type K0sKubeRouterArgs struct { + AutoMTU pulumi.BoolPtrInput `pulumi:"autoMTU"` + ExtraArgs pulumi.StringMapInput `pulumi:"extraArgs"` + Hairpin pulumi.StringPtrInput `pulumi:"hairpin"` + IpMasq pulumi.BoolPtrInput `pulumi:"ipMasq"` + MetricsPort pulumi.IntPtrInput `pulumi:"metricsPort"` + Mtu pulumi.IntPtrInput `pulumi:"mtu"` } -func (ClusterNetworkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterNetwork)(nil)).Elem() +func (K0sKubeRouterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sKubeRouter)(nil)).Elem() } -func (i ClusterNetworkArgs) ToClusterNetworkOutput() ClusterNetworkOutput { - return i.ToClusterNetworkOutputWithContext(context.Background()) +func (i K0sKubeRouterArgs) ToK0sKubeRouterOutput() K0sKubeRouterOutput { + return i.ToK0sKubeRouterOutputWithContext(context.Background()) } -func (i ClusterNetworkArgs) ToClusterNetworkOutputWithContext(ctx context.Context) ClusterNetworkOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterNetworkOutput) +func (i K0sKubeRouterArgs) ToK0sKubeRouterOutputWithContext(ctx context.Context) K0sKubeRouterOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKubeRouterOutput) } -func (i ClusterNetworkArgs) ToClusterNetworkPtrOutput() ClusterNetworkPtrOutput { - return i.ToClusterNetworkPtrOutputWithContext(context.Background()) +func (i K0sKubeRouterArgs) ToK0sKubeRouterPtrOutput() K0sKubeRouterPtrOutput { + return i.ToK0sKubeRouterPtrOutputWithContext(context.Background()) } -func (i ClusterNetworkArgs) ToClusterNetworkPtrOutputWithContext(ctx context.Context) ClusterNetworkPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterNetworkOutput).ToClusterNetworkPtrOutputWithContext(ctx) +func (i K0sKubeRouterArgs) ToK0sKubeRouterPtrOutputWithContext(ctx context.Context) K0sKubeRouterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKubeRouterOutput).ToK0sKubeRouterPtrOutputWithContext(ctx) } -// ClusterNetworkPtrInput is an input type that accepts ClusterNetworkArgs, ClusterNetworkPtr and ClusterNetworkPtrOutput values. -// You can construct a concrete instance of `ClusterNetworkPtrInput` via: +// K0sKubeRouterPtrInput is an input type that accepts K0sKubeRouterArgs, K0sKubeRouterPtr and K0sKubeRouterPtrOutput values. +// You can construct a concrete instance of `K0sKubeRouterPtrInput` via: // -// ClusterNetworkArgs{...} +// K0sKubeRouterArgs{...} // // or: // // nil -type ClusterNetworkPtrInput interface { +type K0sKubeRouterPtrInput interface { pulumi.Input - ToClusterNetworkPtrOutput() ClusterNetworkPtrOutput - ToClusterNetworkPtrOutputWithContext(context.Context) ClusterNetworkPtrOutput + ToK0sKubeRouterPtrOutput() K0sKubeRouterPtrOutput + ToK0sKubeRouterPtrOutputWithContext(context.Context) K0sKubeRouterPtrOutput } -type clusterNetworkPtrType ClusterNetworkArgs +type k0sKubeRouterPtrType K0sKubeRouterArgs -func ClusterNetworkPtr(v *ClusterNetworkArgs) ClusterNetworkPtrInput { - return (*clusterNetworkPtrType)(v) +func K0sKubeRouterPtr(v *K0sKubeRouterArgs) K0sKubeRouterPtrInput { + return (*k0sKubeRouterPtrType)(v) } -func (*clusterNetworkPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterNetwork)(nil)).Elem() +func (*k0sKubeRouterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sKubeRouter)(nil)).Elem() } -func (i *clusterNetworkPtrType) ToClusterNetworkPtrOutput() ClusterNetworkPtrOutput { - return i.ToClusterNetworkPtrOutputWithContext(context.Background()) +func (i *k0sKubeRouterPtrType) ToK0sKubeRouterPtrOutput() K0sKubeRouterPtrOutput { + return i.ToK0sKubeRouterPtrOutputWithContext(context.Background()) } -func (i *clusterNetworkPtrType) ToClusterNetworkPtrOutputWithContext(ctx context.Context) ClusterNetworkPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterNetworkPtrOutput) +func (i *k0sKubeRouterPtrType) ToK0sKubeRouterPtrOutputWithContext(ctx context.Context) K0sKubeRouterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKubeRouterPtrOutput) } -type ClusterNetworkOutput struct{ *pulumi.OutputState } +type K0sKubeRouterOutput struct{ *pulumi.OutputState } -func (ClusterNetworkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterNetwork)(nil)).Elem() +func (K0sKubeRouterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sKubeRouter)(nil)).Elem() } -func (o ClusterNetworkOutput) ToClusterNetworkOutput() ClusterNetworkOutput { +func (o K0sKubeRouterOutput) ToK0sKubeRouterOutput() K0sKubeRouterOutput { return o } -func (o ClusterNetworkOutput) ToClusterNetworkOutputWithContext(ctx context.Context) ClusterNetworkOutput { +func (o K0sKubeRouterOutput) ToK0sKubeRouterOutputWithContext(ctx context.Context) K0sKubeRouterOutput { return o } -func (o ClusterNetworkOutput) ToClusterNetworkPtrOutput() ClusterNetworkPtrOutput { - return o.ToClusterNetworkPtrOutputWithContext(context.Background()) +func (o K0sKubeRouterOutput) ToK0sKubeRouterPtrOutput() K0sKubeRouterPtrOutput { + return o.ToK0sKubeRouterPtrOutputWithContext(context.Background()) } -func (o ClusterNetworkOutput) ToClusterNetworkPtrOutputWithContext(ctx context.Context) ClusterNetworkPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterNetwork) *ClusterNetwork { +func (o K0sKubeRouterOutput) ToK0sKubeRouterPtrOutputWithContext(ctx context.Context) K0sKubeRouterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sKubeRouter) *K0sKubeRouter { return &v - }).(ClusterNetworkPtrOutput) -} - -func (o ClusterNetworkOutput) Calico() ClusterCalicoPtrOutput { - return o.ApplyT(func(v ClusterNetwork) *ClusterCalico { return v.Calico }).(ClusterCalicoPtrOutput) -} - -func (o ClusterNetworkOutput) ClusterDomain() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterNetwork) *string { return v.ClusterDomain }).(pulumi.StringPtrOutput) -} - -func (o ClusterNetworkOutput) DualStack() ClusterDualStackPtrOutput { - return o.ApplyT(func(v ClusterNetwork) *ClusterDualStack { return v.DualStack }).(ClusterDualStackPtrOutput) + }).(K0sKubeRouterPtrOutput) } -func (o ClusterNetworkOutput) KubeProxy() ClusterKubeProxyPtrOutput { - return o.ApplyT(func(v ClusterNetwork) *ClusterKubeProxy { return v.KubeProxy }).(ClusterKubeProxyPtrOutput) +func (o K0sKubeRouterOutput) AutoMTU() pulumi.BoolPtrOutput { + return o.ApplyT(func(v K0sKubeRouter) *bool { return v.AutoMTU }).(pulumi.BoolPtrOutput) } -func (o ClusterNetworkOutput) Kuberouter() ClusterKubeRouterPtrOutput { - return o.ApplyT(func(v ClusterNetwork) *ClusterKubeRouter { return v.Kuberouter }).(ClusterKubeRouterPtrOutput) +func (o K0sKubeRouterOutput) ExtraArgs() pulumi.StringMapOutput { + return o.ApplyT(func(v K0sKubeRouter) map[string]string { return v.ExtraArgs }).(pulumi.StringMapOutput) } -func (o ClusterNetworkOutput) NodeLocalLoadBalancing() ClusterNodeLocalLoadBalancingPtrOutput { - return o.ApplyT(func(v ClusterNetwork) *ClusterNodeLocalLoadBalancing { return v.NodeLocalLoadBalancing }).(ClusterNodeLocalLoadBalancingPtrOutput) +func (o K0sKubeRouterOutput) Hairpin() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sKubeRouter) *string { return v.Hairpin }).(pulumi.StringPtrOutput) } -func (o ClusterNetworkOutput) PodCIDR() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterNetwork) *string { return v.PodCIDR }).(pulumi.StringPtrOutput) +func (o K0sKubeRouterOutput) IpMasq() pulumi.BoolPtrOutput { + return o.ApplyT(func(v K0sKubeRouter) *bool { return v.IpMasq }).(pulumi.BoolPtrOutput) } -func (o ClusterNetworkOutput) Provider() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterNetwork) *string { return v.Provider }).(pulumi.StringPtrOutput) +func (o K0sKubeRouterOutput) MetricsPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v K0sKubeRouter) *int { return v.MetricsPort }).(pulumi.IntPtrOutput) } -func (o ClusterNetworkOutput) ServiceCIDR() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterNetwork) *string { return v.ServiceCIDR }).(pulumi.StringPtrOutput) +func (o K0sKubeRouterOutput) Mtu() pulumi.IntPtrOutput { + return o.ApplyT(func(v K0sKubeRouter) *int { return v.Mtu }).(pulumi.IntPtrOutput) } -type ClusterNetworkPtrOutput struct{ *pulumi.OutputState } +type K0sKubeRouterPtrOutput struct{ *pulumi.OutputState } -func (ClusterNetworkPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterNetwork)(nil)).Elem() +func (K0sKubeRouterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sKubeRouter)(nil)).Elem() } -func (o ClusterNetworkPtrOutput) ToClusterNetworkPtrOutput() ClusterNetworkPtrOutput { +func (o K0sKubeRouterPtrOutput) ToK0sKubeRouterPtrOutput() K0sKubeRouterPtrOutput { return o } -func (o ClusterNetworkPtrOutput) ToClusterNetworkPtrOutputWithContext(ctx context.Context) ClusterNetworkPtrOutput { +func (o K0sKubeRouterPtrOutput) ToK0sKubeRouterPtrOutputWithContext(ctx context.Context) K0sKubeRouterPtrOutput { return o } -func (o ClusterNetworkPtrOutput) Elem() ClusterNetworkOutput { - return o.ApplyT(func(v *ClusterNetwork) ClusterNetwork { +func (o K0sKubeRouterPtrOutput) Elem() K0sKubeRouterOutput { + return o.ApplyT(func(v *K0sKubeRouter) K0sKubeRouter { if v != nil { return *v } - var ret ClusterNetwork + var ret K0sKubeRouter return ret - }).(ClusterNetworkOutput) + }).(K0sKubeRouterOutput) } -func (o ClusterNetworkPtrOutput) Calico() ClusterCalicoPtrOutput { - return o.ApplyT(func(v *ClusterNetwork) *ClusterCalico { +func (o K0sKubeRouterPtrOutput) AutoMTU() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *K0sKubeRouter) *bool { if v == nil { return nil } - return v.Calico - }).(ClusterCalicoPtrOutput) + return v.AutoMTU + }).(pulumi.BoolPtrOutput) } -func (o ClusterNetworkPtrOutput) ClusterDomain() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterNetwork) *string { +func (o K0sKubeRouterPtrOutput) ExtraArgs() pulumi.StringMapOutput { + return o.ApplyT(func(v *K0sKubeRouter) map[string]string { if v == nil { return nil } - return v.ClusterDomain - }).(pulumi.StringPtrOutput) + return v.ExtraArgs + }).(pulumi.StringMapOutput) } -func (o ClusterNetworkPtrOutput) DualStack() ClusterDualStackPtrOutput { - return o.ApplyT(func(v *ClusterNetwork) *ClusterDualStack { +func (o K0sKubeRouterPtrOutput) Hairpin() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sKubeRouter) *string { if v == nil { return nil } - return v.DualStack - }).(ClusterDualStackPtrOutput) + return v.Hairpin + }).(pulumi.StringPtrOutput) } -func (o ClusterNetworkPtrOutput) KubeProxy() ClusterKubeProxyPtrOutput { - return o.ApplyT(func(v *ClusterNetwork) *ClusterKubeProxy { +func (o K0sKubeRouterPtrOutput) IpMasq() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *K0sKubeRouter) *bool { if v == nil { return nil } - return v.KubeProxy - }).(ClusterKubeProxyPtrOutput) + return v.IpMasq + }).(pulumi.BoolPtrOutput) } -func (o ClusterNetworkPtrOutput) Kuberouter() ClusterKubeRouterPtrOutput { - return o.ApplyT(func(v *ClusterNetwork) *ClusterKubeRouter { +func (o K0sKubeRouterPtrOutput) MetricsPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *K0sKubeRouter) *int { if v == nil { return nil } - return v.Kuberouter - }).(ClusterKubeRouterPtrOutput) + return v.MetricsPort + }).(pulumi.IntPtrOutput) } -func (o ClusterNetworkPtrOutput) NodeLocalLoadBalancing() ClusterNodeLocalLoadBalancingPtrOutput { - return o.ApplyT(func(v *ClusterNetwork) *ClusterNodeLocalLoadBalancing { +func (o K0sKubeRouterPtrOutput) Mtu() pulumi.IntPtrOutput { + return o.ApplyT(func(v *K0sKubeRouter) *int { if v == nil { return nil } - return v.NodeLocalLoadBalancing - }).(ClusterNodeLocalLoadBalancingPtrOutput) + return v.Mtu + }).(pulumi.IntPtrOutput) } -func (o ClusterNetworkPtrOutput) PodCIDR() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterNetwork) *string { - if v == nil { - return nil +type K0sKubeRouterImage struct { + Cni *K0sImage `pulumi:"cni"` + CniInstaller *K0sImage `pulumi:"cniInstaller"` +} + +// K0sKubeRouterImageInput is an input type that accepts K0sKubeRouterImageArgs and K0sKubeRouterImageOutput values. +// You can construct a concrete instance of `K0sKubeRouterImageInput` via: +// +// K0sKubeRouterImageArgs{...} +type K0sKubeRouterImageInput interface { + pulumi.Input + + ToK0sKubeRouterImageOutput() K0sKubeRouterImageOutput + ToK0sKubeRouterImageOutputWithContext(context.Context) K0sKubeRouterImageOutput +} + +type K0sKubeRouterImageArgs struct { + Cni K0sImagePtrInput `pulumi:"cni"` + CniInstaller K0sImagePtrInput `pulumi:"cniInstaller"` +} + +func (K0sKubeRouterImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sKubeRouterImage)(nil)).Elem() +} + +func (i K0sKubeRouterImageArgs) ToK0sKubeRouterImageOutput() K0sKubeRouterImageOutput { + return i.ToK0sKubeRouterImageOutputWithContext(context.Background()) +} + +func (i K0sKubeRouterImageArgs) ToK0sKubeRouterImageOutputWithContext(ctx context.Context) K0sKubeRouterImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKubeRouterImageOutput) +} + +func (i K0sKubeRouterImageArgs) ToK0sKubeRouterImagePtrOutput() K0sKubeRouterImagePtrOutput { + return i.ToK0sKubeRouterImagePtrOutputWithContext(context.Background()) +} + +func (i K0sKubeRouterImageArgs) ToK0sKubeRouterImagePtrOutputWithContext(ctx context.Context) K0sKubeRouterImagePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKubeRouterImageOutput).ToK0sKubeRouterImagePtrOutputWithContext(ctx) +} + +// K0sKubeRouterImagePtrInput is an input type that accepts K0sKubeRouterImageArgs, K0sKubeRouterImagePtr and K0sKubeRouterImagePtrOutput values. +// You can construct a concrete instance of `K0sKubeRouterImagePtrInput` via: +// +// K0sKubeRouterImageArgs{...} +// +// or: +// +// nil +type K0sKubeRouterImagePtrInput interface { + pulumi.Input + + ToK0sKubeRouterImagePtrOutput() K0sKubeRouterImagePtrOutput + ToK0sKubeRouterImagePtrOutputWithContext(context.Context) K0sKubeRouterImagePtrOutput +} + +type k0sKubeRouterImagePtrType K0sKubeRouterImageArgs + +func K0sKubeRouterImagePtr(v *K0sKubeRouterImageArgs) K0sKubeRouterImagePtrInput { + return (*k0sKubeRouterImagePtrType)(v) +} + +func (*k0sKubeRouterImagePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sKubeRouterImage)(nil)).Elem() +} + +func (i *k0sKubeRouterImagePtrType) ToK0sKubeRouterImagePtrOutput() K0sKubeRouterImagePtrOutput { + return i.ToK0sKubeRouterImagePtrOutputWithContext(context.Background()) +} + +func (i *k0sKubeRouterImagePtrType) ToK0sKubeRouterImagePtrOutputWithContext(ctx context.Context) K0sKubeRouterImagePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sKubeRouterImagePtrOutput) +} + +type K0sKubeRouterImageOutput struct{ *pulumi.OutputState } + +func (K0sKubeRouterImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sKubeRouterImage)(nil)).Elem() +} + +func (o K0sKubeRouterImageOutput) ToK0sKubeRouterImageOutput() K0sKubeRouterImageOutput { + return o +} + +func (o K0sKubeRouterImageOutput) ToK0sKubeRouterImageOutputWithContext(ctx context.Context) K0sKubeRouterImageOutput { + return o +} + +func (o K0sKubeRouterImageOutput) ToK0sKubeRouterImagePtrOutput() K0sKubeRouterImagePtrOutput { + return o.ToK0sKubeRouterImagePtrOutputWithContext(context.Background()) +} + +func (o K0sKubeRouterImageOutput) ToK0sKubeRouterImagePtrOutputWithContext(ctx context.Context) K0sKubeRouterImagePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sKubeRouterImage) *K0sKubeRouterImage { + return &v + }).(K0sKubeRouterImagePtrOutput) +} + +func (o K0sKubeRouterImageOutput) Cni() K0sImagePtrOutput { + return o.ApplyT(func(v K0sKubeRouterImage) *K0sImage { return v.Cni }).(K0sImagePtrOutput) +} + +func (o K0sKubeRouterImageOutput) CniInstaller() K0sImagePtrOutput { + return o.ApplyT(func(v K0sKubeRouterImage) *K0sImage { return v.CniInstaller }).(K0sImagePtrOutput) +} + +type K0sKubeRouterImagePtrOutput struct{ *pulumi.OutputState } + +func (K0sKubeRouterImagePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sKubeRouterImage)(nil)).Elem() +} + +func (o K0sKubeRouterImagePtrOutput) ToK0sKubeRouterImagePtrOutput() K0sKubeRouterImagePtrOutput { + return o +} + +func (o K0sKubeRouterImagePtrOutput) ToK0sKubeRouterImagePtrOutputWithContext(ctx context.Context) K0sKubeRouterImagePtrOutput { + return o +} + +func (o K0sKubeRouterImagePtrOutput) Elem() K0sKubeRouterImageOutput { + return o.ApplyT(func(v *K0sKubeRouterImage) K0sKubeRouterImage { + if v != nil { + return *v } - return v.PodCIDR - }).(pulumi.StringPtrOutput) + var ret K0sKubeRouterImage + return ret + }).(K0sKubeRouterImageOutput) } -func (o ClusterNetworkPtrOutput) Provider() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterNetwork) *string { +func (o K0sKubeRouterImagePtrOutput) Cni() K0sImagePtrOutput { + return o.ApplyT(func(v *K0sKubeRouterImage) *K0sImage { if v == nil { return nil } - return v.Provider - }).(pulumi.StringPtrOutput) + return v.Cni + }).(K0sImagePtrOutput) } -func (o ClusterNetworkPtrOutput) ServiceCIDR() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterNetwork) *string { +func (o K0sKubeRouterImagePtrOutput) CniInstaller() K0sImagePtrOutput { + return o.ApplyT(func(v *K0sKubeRouterImage) *K0sImage { if v == nil { return nil } - return v.ServiceCIDR - }).(pulumi.StringPtrOutput) + return v.CniInstaller + }).(K0sImagePtrOutput) } -type ClusterNodeLocalLoadBalancing struct { - Enabled *bool `pulumi:"enabled"` - EnvoyProxy *ClusterEnvoyProxy `pulumi:"envoyProxy"` - Type *string `pulumi:"type"` +type K0sMetadata struct { + Name string `pulumi:"name"` } -// ClusterNodeLocalLoadBalancingInput is an input type that accepts ClusterNodeLocalLoadBalancingArgs and ClusterNodeLocalLoadBalancingOutput values. -// You can construct a concrete instance of `ClusterNodeLocalLoadBalancingInput` via: +// K0sMetadataInput is an input type that accepts K0sMetadataArgs and K0sMetadataOutput values. +// You can construct a concrete instance of `K0sMetadataInput` via: // -// ClusterNodeLocalLoadBalancingArgs{...} -type ClusterNodeLocalLoadBalancingInput interface { +// K0sMetadataArgs{...} +type K0sMetadataInput interface { pulumi.Input - ToClusterNodeLocalLoadBalancingOutput() ClusterNodeLocalLoadBalancingOutput - ToClusterNodeLocalLoadBalancingOutputWithContext(context.Context) ClusterNodeLocalLoadBalancingOutput + ToK0sMetadataOutput() K0sMetadataOutput + ToK0sMetadataOutputWithContext(context.Context) K0sMetadataOutput } -type ClusterNodeLocalLoadBalancingArgs struct { - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - EnvoyProxy ClusterEnvoyProxyPtrInput `pulumi:"envoyProxy"` - Type pulumi.StringPtrInput `pulumi:"type"` +type K0sMetadataArgs struct { + Name pulumi.StringInput `pulumi:"name"` } -func (ClusterNodeLocalLoadBalancingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterNodeLocalLoadBalancing)(nil)).Elem() +func (K0sMetadataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sMetadata)(nil)).Elem() } -func (i ClusterNodeLocalLoadBalancingArgs) ToClusterNodeLocalLoadBalancingOutput() ClusterNodeLocalLoadBalancingOutput { - return i.ToClusterNodeLocalLoadBalancingOutputWithContext(context.Background()) +func (i K0sMetadataArgs) ToK0sMetadataOutput() K0sMetadataOutput { + return i.ToK0sMetadataOutputWithContext(context.Background()) } -func (i ClusterNodeLocalLoadBalancingArgs) ToClusterNodeLocalLoadBalancingOutputWithContext(ctx context.Context) ClusterNodeLocalLoadBalancingOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterNodeLocalLoadBalancingOutput) +func (i K0sMetadataArgs) ToK0sMetadataOutputWithContext(ctx context.Context) K0sMetadataOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sMetadataOutput) } -func (i ClusterNodeLocalLoadBalancingArgs) ToClusterNodeLocalLoadBalancingPtrOutput() ClusterNodeLocalLoadBalancingPtrOutput { - return i.ToClusterNodeLocalLoadBalancingPtrOutputWithContext(context.Background()) +func (i K0sMetadataArgs) ToK0sMetadataPtrOutput() K0sMetadataPtrOutput { + return i.ToK0sMetadataPtrOutputWithContext(context.Background()) } -func (i ClusterNodeLocalLoadBalancingArgs) ToClusterNodeLocalLoadBalancingPtrOutputWithContext(ctx context.Context) ClusterNodeLocalLoadBalancingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterNodeLocalLoadBalancingOutput).ToClusterNodeLocalLoadBalancingPtrOutputWithContext(ctx) +func (i K0sMetadataArgs) ToK0sMetadataPtrOutputWithContext(ctx context.Context) K0sMetadataPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sMetadataOutput).ToK0sMetadataPtrOutputWithContext(ctx) } -// ClusterNodeLocalLoadBalancingPtrInput is an input type that accepts ClusterNodeLocalLoadBalancingArgs, ClusterNodeLocalLoadBalancingPtr and ClusterNodeLocalLoadBalancingPtrOutput values. -// You can construct a concrete instance of `ClusterNodeLocalLoadBalancingPtrInput` via: +// K0sMetadataPtrInput is an input type that accepts K0sMetadataArgs, K0sMetadataPtr and K0sMetadataPtrOutput values. +// You can construct a concrete instance of `K0sMetadataPtrInput` via: // -// ClusterNodeLocalLoadBalancingArgs{...} +// K0sMetadataArgs{...} // // or: // // nil -type ClusterNodeLocalLoadBalancingPtrInput interface { +type K0sMetadataPtrInput interface { pulumi.Input - ToClusterNodeLocalLoadBalancingPtrOutput() ClusterNodeLocalLoadBalancingPtrOutput - ToClusterNodeLocalLoadBalancingPtrOutputWithContext(context.Context) ClusterNodeLocalLoadBalancingPtrOutput + ToK0sMetadataPtrOutput() K0sMetadataPtrOutput + ToK0sMetadataPtrOutputWithContext(context.Context) K0sMetadataPtrOutput } -type clusterNodeLocalLoadBalancingPtrType ClusterNodeLocalLoadBalancingArgs +type k0sMetadataPtrType K0sMetadataArgs -func ClusterNodeLocalLoadBalancingPtr(v *ClusterNodeLocalLoadBalancingArgs) ClusterNodeLocalLoadBalancingPtrInput { - return (*clusterNodeLocalLoadBalancingPtrType)(v) +func K0sMetadataPtr(v *K0sMetadataArgs) K0sMetadataPtrInput { + return (*k0sMetadataPtrType)(v) } -func (*clusterNodeLocalLoadBalancingPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterNodeLocalLoadBalancing)(nil)).Elem() +func (*k0sMetadataPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sMetadata)(nil)).Elem() } -func (i *clusterNodeLocalLoadBalancingPtrType) ToClusterNodeLocalLoadBalancingPtrOutput() ClusterNodeLocalLoadBalancingPtrOutput { - return i.ToClusterNodeLocalLoadBalancingPtrOutputWithContext(context.Background()) +func (i *k0sMetadataPtrType) ToK0sMetadataPtrOutput() K0sMetadataPtrOutput { + return i.ToK0sMetadataPtrOutputWithContext(context.Background()) } -func (i *clusterNodeLocalLoadBalancingPtrType) ToClusterNodeLocalLoadBalancingPtrOutputWithContext(ctx context.Context) ClusterNodeLocalLoadBalancingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterNodeLocalLoadBalancingPtrOutput) +func (i *k0sMetadataPtrType) ToK0sMetadataPtrOutputWithContext(ctx context.Context) K0sMetadataPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sMetadataPtrOutput) } -type ClusterNodeLocalLoadBalancingOutput struct{ *pulumi.OutputState } +type K0sMetadataOutput struct{ *pulumi.OutputState } -func (ClusterNodeLocalLoadBalancingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterNodeLocalLoadBalancing)(nil)).Elem() +func (K0sMetadataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sMetadata)(nil)).Elem() } -func (o ClusterNodeLocalLoadBalancingOutput) ToClusterNodeLocalLoadBalancingOutput() ClusterNodeLocalLoadBalancingOutput { +func (o K0sMetadataOutput) ToK0sMetadataOutput() K0sMetadataOutput { return o } -func (o ClusterNodeLocalLoadBalancingOutput) ToClusterNodeLocalLoadBalancingOutputWithContext(ctx context.Context) ClusterNodeLocalLoadBalancingOutput { +func (o K0sMetadataOutput) ToK0sMetadataOutputWithContext(ctx context.Context) K0sMetadataOutput { return o } -func (o ClusterNodeLocalLoadBalancingOutput) ToClusterNodeLocalLoadBalancingPtrOutput() ClusterNodeLocalLoadBalancingPtrOutput { - return o.ToClusterNodeLocalLoadBalancingPtrOutputWithContext(context.Background()) +func (o K0sMetadataOutput) ToK0sMetadataPtrOutput() K0sMetadataPtrOutput { + return o.ToK0sMetadataPtrOutputWithContext(context.Background()) } -func (o ClusterNodeLocalLoadBalancingOutput) ToClusterNodeLocalLoadBalancingPtrOutputWithContext(ctx context.Context) ClusterNodeLocalLoadBalancingPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterNodeLocalLoadBalancing) *ClusterNodeLocalLoadBalancing { +func (o K0sMetadataOutput) ToK0sMetadataPtrOutputWithContext(ctx context.Context) K0sMetadataPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sMetadata) *K0sMetadata { return &v - }).(ClusterNodeLocalLoadBalancingPtrOutput) -} - -func (o ClusterNodeLocalLoadBalancingOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterNodeLocalLoadBalancing) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) -} - -func (o ClusterNodeLocalLoadBalancingOutput) EnvoyProxy() ClusterEnvoyProxyPtrOutput { - return o.ApplyT(func(v ClusterNodeLocalLoadBalancing) *ClusterEnvoyProxy { return v.EnvoyProxy }).(ClusterEnvoyProxyPtrOutput) + }).(K0sMetadataPtrOutput) } -func (o ClusterNodeLocalLoadBalancingOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterNodeLocalLoadBalancing) *string { return v.Type }).(pulumi.StringPtrOutput) +func (o K0sMetadataOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v K0sMetadata) string { return v.Name }).(pulumi.StringOutput) } -type ClusterNodeLocalLoadBalancingPtrOutput struct{ *pulumi.OutputState } +type K0sMetadataPtrOutput struct{ *pulumi.OutputState } -func (ClusterNodeLocalLoadBalancingPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterNodeLocalLoadBalancing)(nil)).Elem() +func (K0sMetadataPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sMetadata)(nil)).Elem() } -func (o ClusterNodeLocalLoadBalancingPtrOutput) ToClusterNodeLocalLoadBalancingPtrOutput() ClusterNodeLocalLoadBalancingPtrOutput { +func (o K0sMetadataPtrOutput) ToK0sMetadataPtrOutput() K0sMetadataPtrOutput { return o } -func (o ClusterNodeLocalLoadBalancingPtrOutput) ToClusterNodeLocalLoadBalancingPtrOutputWithContext(ctx context.Context) ClusterNodeLocalLoadBalancingPtrOutput { +func (o K0sMetadataPtrOutput) ToK0sMetadataPtrOutputWithContext(ctx context.Context) K0sMetadataPtrOutput { return o } -func (o ClusterNodeLocalLoadBalancingPtrOutput) Elem() ClusterNodeLocalLoadBalancingOutput { - return o.ApplyT(func(v *ClusterNodeLocalLoadBalancing) ClusterNodeLocalLoadBalancing { +func (o K0sMetadataPtrOutput) Elem() K0sMetadataOutput { + return o.ApplyT(func(v *K0sMetadata) K0sMetadata { if v != nil { return *v } - var ret ClusterNodeLocalLoadBalancing + var ret K0sMetadata return ret - }).(ClusterNodeLocalLoadBalancingOutput) -} - -func (o ClusterNodeLocalLoadBalancingPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterNodeLocalLoadBalancing) *bool { - if v == nil { - return nil - } - return v.Enabled - }).(pulumi.BoolPtrOutput) -} - -func (o ClusterNodeLocalLoadBalancingPtrOutput) EnvoyProxy() ClusterEnvoyProxyPtrOutput { - return o.ApplyT(func(v *ClusterNodeLocalLoadBalancing) *ClusterEnvoyProxy { - if v == nil { - return nil - } - return v.EnvoyProxy - }).(ClusterEnvoyProxyPtrOutput) + }).(K0sMetadataOutput) } -func (o ClusterNodeLocalLoadBalancingPtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterNodeLocalLoadBalancing) *string { +func (o K0sMetadataPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sMetadata) *string { if v == nil { return nil } - return v.Type + return &v.Name }).(pulumi.StringPtrOutput) } -type ClusterPodSecurityPolicy struct { - DefaultPolicy *string `pulumi:"defaultPolicy"` +type K0sNetwork struct { + Calico *K0sCalico `pulumi:"calico"` + ClusterDomain *string `pulumi:"clusterDomain"` + DualStack *K0sDualStack `pulumi:"dualStack"` + KubeProxy *K0sKubeProxy `pulumi:"kubeProxy"` + Kuberouter *K0sKubeRouter `pulumi:"kuberouter"` + NodeLocalLoadBalancing *K0sNodeLocalLoadBalancing `pulumi:"nodeLocalLoadBalancing"` + PodCIDR *string `pulumi:"podCIDR"` + Provider *string `pulumi:"provider"` + ServiceCIDR *string `pulumi:"serviceCIDR"` } -// ClusterPodSecurityPolicyInput is an input type that accepts ClusterPodSecurityPolicyArgs and ClusterPodSecurityPolicyOutput values. -// You can construct a concrete instance of `ClusterPodSecurityPolicyInput` via: +// K0sNetworkInput is an input type that accepts K0sNetworkArgs and K0sNetworkOutput values. +// You can construct a concrete instance of `K0sNetworkInput` via: // -// ClusterPodSecurityPolicyArgs{...} -type ClusterPodSecurityPolicyInput interface { +// K0sNetworkArgs{...} +type K0sNetworkInput interface { pulumi.Input - ToClusterPodSecurityPolicyOutput() ClusterPodSecurityPolicyOutput - ToClusterPodSecurityPolicyOutputWithContext(context.Context) ClusterPodSecurityPolicyOutput + ToK0sNetworkOutput() K0sNetworkOutput + ToK0sNetworkOutputWithContext(context.Context) K0sNetworkOutput } -type ClusterPodSecurityPolicyArgs struct { - DefaultPolicy pulumi.StringPtrInput `pulumi:"defaultPolicy"` +type K0sNetworkArgs struct { + Calico K0sCalicoPtrInput `pulumi:"calico"` + ClusterDomain pulumi.StringPtrInput `pulumi:"clusterDomain"` + DualStack K0sDualStackPtrInput `pulumi:"dualStack"` + KubeProxy K0sKubeProxyPtrInput `pulumi:"kubeProxy"` + Kuberouter K0sKubeRouterPtrInput `pulumi:"kuberouter"` + NodeLocalLoadBalancing K0sNodeLocalLoadBalancingPtrInput `pulumi:"nodeLocalLoadBalancing"` + PodCIDR pulumi.StringPtrInput `pulumi:"podCIDR"` + Provider pulumi.StringPtrInput `pulumi:"provider"` + ServiceCIDR pulumi.StringPtrInput `pulumi:"serviceCIDR"` } -func (ClusterPodSecurityPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterPodSecurityPolicy)(nil)).Elem() +func (K0sNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sNetwork)(nil)).Elem() } -func (i ClusterPodSecurityPolicyArgs) ToClusterPodSecurityPolicyOutput() ClusterPodSecurityPolicyOutput { - return i.ToClusterPodSecurityPolicyOutputWithContext(context.Background()) +func (i K0sNetworkArgs) ToK0sNetworkOutput() K0sNetworkOutput { + return i.ToK0sNetworkOutputWithContext(context.Background()) } -func (i ClusterPodSecurityPolicyArgs) ToClusterPodSecurityPolicyOutputWithContext(ctx context.Context) ClusterPodSecurityPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterPodSecurityPolicyOutput) +func (i K0sNetworkArgs) ToK0sNetworkOutputWithContext(ctx context.Context) K0sNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sNetworkOutput) } -func (i ClusterPodSecurityPolicyArgs) ToClusterPodSecurityPolicyPtrOutput() ClusterPodSecurityPolicyPtrOutput { - return i.ToClusterPodSecurityPolicyPtrOutputWithContext(context.Background()) +func (i K0sNetworkArgs) ToK0sNetworkPtrOutput() K0sNetworkPtrOutput { + return i.ToK0sNetworkPtrOutputWithContext(context.Background()) } -func (i ClusterPodSecurityPolicyArgs) ToClusterPodSecurityPolicyPtrOutputWithContext(ctx context.Context) ClusterPodSecurityPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterPodSecurityPolicyOutput).ToClusterPodSecurityPolicyPtrOutputWithContext(ctx) +func (i K0sNetworkArgs) ToK0sNetworkPtrOutputWithContext(ctx context.Context) K0sNetworkPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sNetworkOutput).ToK0sNetworkPtrOutputWithContext(ctx) } -// ClusterPodSecurityPolicyPtrInput is an input type that accepts ClusterPodSecurityPolicyArgs, ClusterPodSecurityPolicyPtr and ClusterPodSecurityPolicyPtrOutput values. -// You can construct a concrete instance of `ClusterPodSecurityPolicyPtrInput` via: +// K0sNetworkPtrInput is an input type that accepts K0sNetworkArgs, K0sNetworkPtr and K0sNetworkPtrOutput values. +// You can construct a concrete instance of `K0sNetworkPtrInput` via: // -// ClusterPodSecurityPolicyArgs{...} +// K0sNetworkArgs{...} // // or: // // nil -type ClusterPodSecurityPolicyPtrInput interface { +type K0sNetworkPtrInput interface { pulumi.Input - ToClusterPodSecurityPolicyPtrOutput() ClusterPodSecurityPolicyPtrOutput - ToClusterPodSecurityPolicyPtrOutputWithContext(context.Context) ClusterPodSecurityPolicyPtrOutput + ToK0sNetworkPtrOutput() K0sNetworkPtrOutput + ToK0sNetworkPtrOutputWithContext(context.Context) K0sNetworkPtrOutput } -type clusterPodSecurityPolicyPtrType ClusterPodSecurityPolicyArgs +type k0sNetworkPtrType K0sNetworkArgs -func ClusterPodSecurityPolicyPtr(v *ClusterPodSecurityPolicyArgs) ClusterPodSecurityPolicyPtrInput { - return (*clusterPodSecurityPolicyPtrType)(v) +func K0sNetworkPtr(v *K0sNetworkArgs) K0sNetworkPtrInput { + return (*k0sNetworkPtrType)(v) } -func (*clusterPodSecurityPolicyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterPodSecurityPolicy)(nil)).Elem() +func (*k0sNetworkPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sNetwork)(nil)).Elem() } -func (i *clusterPodSecurityPolicyPtrType) ToClusterPodSecurityPolicyPtrOutput() ClusterPodSecurityPolicyPtrOutput { - return i.ToClusterPodSecurityPolicyPtrOutputWithContext(context.Background()) +func (i *k0sNetworkPtrType) ToK0sNetworkPtrOutput() K0sNetworkPtrOutput { + return i.ToK0sNetworkPtrOutputWithContext(context.Background()) } -func (i *clusterPodSecurityPolicyPtrType) ToClusterPodSecurityPolicyPtrOutputWithContext(ctx context.Context) ClusterPodSecurityPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterPodSecurityPolicyPtrOutput) +func (i *k0sNetworkPtrType) ToK0sNetworkPtrOutputWithContext(ctx context.Context) K0sNetworkPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sNetworkPtrOutput) } -type ClusterPodSecurityPolicyOutput struct{ *pulumi.OutputState } +type K0sNetworkOutput struct{ *pulumi.OutputState } -func (ClusterPodSecurityPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterPodSecurityPolicy)(nil)).Elem() +func (K0sNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sNetwork)(nil)).Elem() } -func (o ClusterPodSecurityPolicyOutput) ToClusterPodSecurityPolicyOutput() ClusterPodSecurityPolicyOutput { +func (o K0sNetworkOutput) ToK0sNetworkOutput() K0sNetworkOutput { return o } -func (o ClusterPodSecurityPolicyOutput) ToClusterPodSecurityPolicyOutputWithContext(ctx context.Context) ClusterPodSecurityPolicyOutput { +func (o K0sNetworkOutput) ToK0sNetworkOutputWithContext(ctx context.Context) K0sNetworkOutput { return o } -func (o ClusterPodSecurityPolicyOutput) ToClusterPodSecurityPolicyPtrOutput() ClusterPodSecurityPolicyPtrOutput { - return o.ToClusterPodSecurityPolicyPtrOutputWithContext(context.Background()) +func (o K0sNetworkOutput) ToK0sNetworkPtrOutput() K0sNetworkPtrOutput { + return o.ToK0sNetworkPtrOutputWithContext(context.Background()) } -func (o ClusterPodSecurityPolicyOutput) ToClusterPodSecurityPolicyPtrOutputWithContext(ctx context.Context) ClusterPodSecurityPolicyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterPodSecurityPolicy) *ClusterPodSecurityPolicy { +func (o K0sNetworkOutput) ToK0sNetworkPtrOutputWithContext(ctx context.Context) K0sNetworkPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sNetwork) *K0sNetwork { return &v - }).(ClusterPodSecurityPolicyPtrOutput) + }).(K0sNetworkPtrOutput) +} + +func (o K0sNetworkOutput) Calico() K0sCalicoPtrOutput { + return o.ApplyT(func(v K0sNetwork) *K0sCalico { return v.Calico }).(K0sCalicoPtrOutput) +} + +func (o K0sNetworkOutput) ClusterDomain() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sNetwork) *string { return v.ClusterDomain }).(pulumi.StringPtrOutput) } -func (o ClusterPodSecurityPolicyOutput) DefaultPolicy() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterPodSecurityPolicy) *string { return v.DefaultPolicy }).(pulumi.StringPtrOutput) +func (o K0sNetworkOutput) DualStack() K0sDualStackPtrOutput { + return o.ApplyT(func(v K0sNetwork) *K0sDualStack { return v.DualStack }).(K0sDualStackPtrOutput) } -type ClusterPodSecurityPolicyPtrOutput struct{ *pulumi.OutputState } +func (o K0sNetworkOutput) KubeProxy() K0sKubeProxyPtrOutput { + return o.ApplyT(func(v K0sNetwork) *K0sKubeProxy { return v.KubeProxy }).(K0sKubeProxyPtrOutput) +} + +func (o K0sNetworkOutput) Kuberouter() K0sKubeRouterPtrOutput { + return o.ApplyT(func(v K0sNetwork) *K0sKubeRouter { return v.Kuberouter }).(K0sKubeRouterPtrOutput) +} + +func (o K0sNetworkOutput) NodeLocalLoadBalancing() K0sNodeLocalLoadBalancingPtrOutput { + return o.ApplyT(func(v K0sNetwork) *K0sNodeLocalLoadBalancing { return v.NodeLocalLoadBalancing }).(K0sNodeLocalLoadBalancingPtrOutput) +} + +func (o K0sNetworkOutput) PodCIDR() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sNetwork) *string { return v.PodCIDR }).(pulumi.StringPtrOutput) +} + +func (o K0sNetworkOutput) Provider() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sNetwork) *string { return v.Provider }).(pulumi.StringPtrOutput) +} + +func (o K0sNetworkOutput) ServiceCIDR() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sNetwork) *string { return v.ServiceCIDR }).(pulumi.StringPtrOutput) +} + +type K0sNetworkPtrOutput struct{ *pulumi.OutputState } -func (ClusterPodSecurityPolicyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterPodSecurityPolicy)(nil)).Elem() +func (K0sNetworkPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sNetwork)(nil)).Elem() } -func (o ClusterPodSecurityPolicyPtrOutput) ToClusterPodSecurityPolicyPtrOutput() ClusterPodSecurityPolicyPtrOutput { +func (o K0sNetworkPtrOutput) ToK0sNetworkPtrOutput() K0sNetworkPtrOutput { return o } -func (o ClusterPodSecurityPolicyPtrOutput) ToClusterPodSecurityPolicyPtrOutputWithContext(ctx context.Context) ClusterPodSecurityPolicyPtrOutput { +func (o K0sNetworkPtrOutput) ToK0sNetworkPtrOutputWithContext(ctx context.Context) K0sNetworkPtrOutput { return o } -func (o ClusterPodSecurityPolicyPtrOutput) Elem() ClusterPodSecurityPolicyOutput { - return o.ApplyT(func(v *ClusterPodSecurityPolicy) ClusterPodSecurityPolicy { +func (o K0sNetworkPtrOutput) Elem() K0sNetworkOutput { + return o.ApplyT(func(v *K0sNetwork) K0sNetwork { if v != nil { return *v } - var ret ClusterPodSecurityPolicy + var ret K0sNetwork return ret - }).(ClusterPodSecurityPolicyOutput) + }).(K0sNetworkOutput) } -func (o ClusterPodSecurityPolicyPtrOutput) DefaultPolicy() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterPodSecurityPolicy) *string { +func (o K0sNetworkPtrOutput) Calico() K0sCalicoPtrOutput { + return o.ApplyT(func(v *K0sNetwork) *K0sCalico { if v == nil { return nil } - return v.DefaultPolicy + return v.Calico + }).(K0sCalicoPtrOutput) +} + +func (o K0sNetworkPtrOutput) ClusterDomain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sNetwork) *string { + if v == nil { + return nil + } + return v.ClusterDomain }).(pulumi.StringPtrOutput) } -type ClusterSSH struct { - Address string `pulumi:"address"` - Bastion *ClusterSSH `pulumi:"bastion"` - HostKey *string `pulumi:"hostKey"` - Key *string `pulumi:"key"` - Port *int `pulumi:"port"` - User *string `pulumi:"user"` +func (o K0sNetworkPtrOutput) DualStack() K0sDualStackPtrOutput { + return o.ApplyT(func(v *K0sNetwork) *K0sDualStack { + if v == nil { + return nil + } + return v.DualStack + }).(K0sDualStackPtrOutput) } -// ClusterSSHInput is an input type that accepts ClusterSSHArgs and ClusterSSHOutput values. -// You can construct a concrete instance of `ClusterSSHInput` via: +func (o K0sNetworkPtrOutput) KubeProxy() K0sKubeProxyPtrOutput { + return o.ApplyT(func(v *K0sNetwork) *K0sKubeProxy { + if v == nil { + return nil + } + return v.KubeProxy + }).(K0sKubeProxyPtrOutput) +} + +func (o K0sNetworkPtrOutput) Kuberouter() K0sKubeRouterPtrOutput { + return o.ApplyT(func(v *K0sNetwork) *K0sKubeRouter { + if v == nil { + return nil + } + return v.Kuberouter + }).(K0sKubeRouterPtrOutput) +} + +func (o K0sNetworkPtrOutput) NodeLocalLoadBalancing() K0sNodeLocalLoadBalancingPtrOutput { + return o.ApplyT(func(v *K0sNetwork) *K0sNodeLocalLoadBalancing { + if v == nil { + return nil + } + return v.NodeLocalLoadBalancing + }).(K0sNodeLocalLoadBalancingPtrOutput) +} + +func (o K0sNetworkPtrOutput) PodCIDR() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sNetwork) *string { + if v == nil { + return nil + } + return v.PodCIDR + }).(pulumi.StringPtrOutput) +} + +func (o K0sNetworkPtrOutput) Provider() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sNetwork) *string { + if v == nil { + return nil + } + return v.Provider + }).(pulumi.StringPtrOutput) +} + +func (o K0sNetworkPtrOutput) ServiceCIDR() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sNetwork) *string { + if v == nil { + return nil + } + return v.ServiceCIDR + }).(pulumi.StringPtrOutput) +} + +type K0sNodeLocalLoadBalancing struct { + Enabled *bool `pulumi:"enabled"` + EnvoyProxy *K0sEnvoyProxy `pulumi:"envoyProxy"` + Type *string `pulumi:"type"` +} + +// K0sNodeLocalLoadBalancingInput is an input type that accepts K0sNodeLocalLoadBalancingArgs and K0sNodeLocalLoadBalancingOutput values. +// You can construct a concrete instance of `K0sNodeLocalLoadBalancingInput` via: // -// ClusterSSHArgs{...} -type ClusterSSHInput interface { +// K0sNodeLocalLoadBalancingArgs{...} +type K0sNodeLocalLoadBalancingInput interface { pulumi.Input - ToClusterSSHOutput() ClusterSSHOutput - ToClusterSSHOutputWithContext(context.Context) ClusterSSHOutput + ToK0sNodeLocalLoadBalancingOutput() K0sNodeLocalLoadBalancingOutput + ToK0sNodeLocalLoadBalancingOutputWithContext(context.Context) K0sNodeLocalLoadBalancingOutput } -type ClusterSSHArgs struct { - Address pulumi.StringInput `pulumi:"address"` - Bastion ClusterSSHPtrInput `pulumi:"bastion"` - HostKey pulumi.StringPtrInput `pulumi:"hostKey"` - Key pulumi.StringPtrInput `pulumi:"key"` - Port pulumi.IntPtrInput `pulumi:"port"` - User pulumi.StringPtrInput `pulumi:"user"` +type K0sNodeLocalLoadBalancingArgs struct { + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + EnvoyProxy K0sEnvoyProxyPtrInput `pulumi:"envoyProxy"` + Type pulumi.StringPtrInput `pulumi:"type"` } -func (ClusterSSHArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterSSH)(nil)).Elem() +func (K0sNodeLocalLoadBalancingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sNodeLocalLoadBalancing)(nil)).Elem() } -func (i ClusterSSHArgs) ToClusterSSHOutput() ClusterSSHOutput { - return i.ToClusterSSHOutputWithContext(context.Background()) +func (i K0sNodeLocalLoadBalancingArgs) ToK0sNodeLocalLoadBalancingOutput() K0sNodeLocalLoadBalancingOutput { + return i.ToK0sNodeLocalLoadBalancingOutputWithContext(context.Background()) } -func (i ClusterSSHArgs) ToClusterSSHOutputWithContext(ctx context.Context) ClusterSSHOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterSSHOutput) +func (i K0sNodeLocalLoadBalancingArgs) ToK0sNodeLocalLoadBalancingOutputWithContext(ctx context.Context) K0sNodeLocalLoadBalancingOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sNodeLocalLoadBalancingOutput) } -func (i ClusterSSHArgs) ToClusterSSHPtrOutput() ClusterSSHPtrOutput { - return i.ToClusterSSHPtrOutputWithContext(context.Background()) +func (i K0sNodeLocalLoadBalancingArgs) ToK0sNodeLocalLoadBalancingPtrOutput() K0sNodeLocalLoadBalancingPtrOutput { + return i.ToK0sNodeLocalLoadBalancingPtrOutputWithContext(context.Background()) } - -func (i ClusterSSHArgs) ToClusterSSHPtrOutputWithContext(ctx context.Context) ClusterSSHPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterSSHOutput).ToClusterSSHPtrOutputWithContext(ctx) + +func (i K0sNodeLocalLoadBalancingArgs) ToK0sNodeLocalLoadBalancingPtrOutputWithContext(ctx context.Context) K0sNodeLocalLoadBalancingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sNodeLocalLoadBalancingOutput).ToK0sNodeLocalLoadBalancingPtrOutputWithContext(ctx) } -// ClusterSSHPtrInput is an input type that accepts ClusterSSHArgs, ClusterSSHPtr and ClusterSSHPtrOutput values. -// You can construct a concrete instance of `ClusterSSHPtrInput` via: +// K0sNodeLocalLoadBalancingPtrInput is an input type that accepts K0sNodeLocalLoadBalancingArgs, K0sNodeLocalLoadBalancingPtr and K0sNodeLocalLoadBalancingPtrOutput values. +// You can construct a concrete instance of `K0sNodeLocalLoadBalancingPtrInput` via: // -// ClusterSSHArgs{...} +// K0sNodeLocalLoadBalancingArgs{...} // // or: // // nil -type ClusterSSHPtrInput interface { +type K0sNodeLocalLoadBalancingPtrInput interface { pulumi.Input - ToClusterSSHPtrOutput() ClusterSSHPtrOutput - ToClusterSSHPtrOutputWithContext(context.Context) ClusterSSHPtrOutput + ToK0sNodeLocalLoadBalancingPtrOutput() K0sNodeLocalLoadBalancingPtrOutput + ToK0sNodeLocalLoadBalancingPtrOutputWithContext(context.Context) K0sNodeLocalLoadBalancingPtrOutput } -type clusterSSHPtrType ClusterSSHArgs +type k0sNodeLocalLoadBalancingPtrType K0sNodeLocalLoadBalancingArgs -func ClusterSSHPtr(v *ClusterSSHArgs) ClusterSSHPtrInput { - return (*clusterSSHPtrType)(v) +func K0sNodeLocalLoadBalancingPtr(v *K0sNodeLocalLoadBalancingArgs) K0sNodeLocalLoadBalancingPtrInput { + return (*k0sNodeLocalLoadBalancingPtrType)(v) } -func (*clusterSSHPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterSSH)(nil)).Elem() +func (*k0sNodeLocalLoadBalancingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sNodeLocalLoadBalancing)(nil)).Elem() } -func (i *clusterSSHPtrType) ToClusterSSHPtrOutput() ClusterSSHPtrOutput { - return i.ToClusterSSHPtrOutputWithContext(context.Background()) +func (i *k0sNodeLocalLoadBalancingPtrType) ToK0sNodeLocalLoadBalancingPtrOutput() K0sNodeLocalLoadBalancingPtrOutput { + return i.ToK0sNodeLocalLoadBalancingPtrOutputWithContext(context.Background()) } -func (i *clusterSSHPtrType) ToClusterSSHPtrOutputWithContext(ctx context.Context) ClusterSSHPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterSSHPtrOutput) +func (i *k0sNodeLocalLoadBalancingPtrType) ToK0sNodeLocalLoadBalancingPtrOutputWithContext(ctx context.Context) K0sNodeLocalLoadBalancingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sNodeLocalLoadBalancingPtrOutput) } -type ClusterSSHOutput struct{ *pulumi.OutputState } +type K0sNodeLocalLoadBalancingOutput struct{ *pulumi.OutputState } -func (ClusterSSHOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterSSH)(nil)).Elem() +func (K0sNodeLocalLoadBalancingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sNodeLocalLoadBalancing)(nil)).Elem() } -func (o ClusterSSHOutput) ToClusterSSHOutput() ClusterSSHOutput { +func (o K0sNodeLocalLoadBalancingOutput) ToK0sNodeLocalLoadBalancingOutput() K0sNodeLocalLoadBalancingOutput { return o } -func (o ClusterSSHOutput) ToClusterSSHOutputWithContext(ctx context.Context) ClusterSSHOutput { +func (o K0sNodeLocalLoadBalancingOutput) ToK0sNodeLocalLoadBalancingOutputWithContext(ctx context.Context) K0sNodeLocalLoadBalancingOutput { return o } -func (o ClusterSSHOutput) ToClusterSSHPtrOutput() ClusterSSHPtrOutput { - return o.ToClusterSSHPtrOutputWithContext(context.Background()) +func (o K0sNodeLocalLoadBalancingOutput) ToK0sNodeLocalLoadBalancingPtrOutput() K0sNodeLocalLoadBalancingPtrOutput { + return o.ToK0sNodeLocalLoadBalancingPtrOutputWithContext(context.Background()) } -func (o ClusterSSHOutput) ToClusterSSHPtrOutputWithContext(ctx context.Context) ClusterSSHPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterSSH) *ClusterSSH { +func (o K0sNodeLocalLoadBalancingOutput) ToK0sNodeLocalLoadBalancingPtrOutputWithContext(ctx context.Context) K0sNodeLocalLoadBalancingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sNodeLocalLoadBalancing) *K0sNodeLocalLoadBalancing { return &v - }).(ClusterSSHPtrOutput) -} - -func (o ClusterSSHOutput) Address() pulumi.StringOutput { - return o.ApplyT(func(v ClusterSSH) string { return v.Address }).(pulumi.StringOutput) -} - -func (o ClusterSSHOutput) Bastion() ClusterSSHPtrOutput { - return o.ApplyT(func(v ClusterSSH) *ClusterSSH { return v.Bastion }).(ClusterSSHPtrOutput) -} - -func (o ClusterSSHOutput) HostKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterSSH) *string { return v.HostKey }).(pulumi.StringPtrOutput) + }).(K0sNodeLocalLoadBalancingPtrOutput) } -func (o ClusterSSHOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterSSH) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o K0sNodeLocalLoadBalancingOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v K0sNodeLocalLoadBalancing) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -func (o ClusterSSHOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v ClusterSSH) *int { return v.Port }).(pulumi.IntPtrOutput) +func (o K0sNodeLocalLoadBalancingOutput) EnvoyProxy() K0sEnvoyProxyPtrOutput { + return o.ApplyT(func(v K0sNodeLocalLoadBalancing) *K0sEnvoyProxy { return v.EnvoyProxy }).(K0sEnvoyProxyPtrOutput) } -func (o ClusterSSHOutput) User() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterSSH) *string { return v.User }).(pulumi.StringPtrOutput) +func (o K0sNodeLocalLoadBalancingOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sNodeLocalLoadBalancing) *string { return v.Type }).(pulumi.StringPtrOutput) } -type ClusterSSHPtrOutput struct{ *pulumi.OutputState } +type K0sNodeLocalLoadBalancingPtrOutput struct{ *pulumi.OutputState } -func (ClusterSSHPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterSSH)(nil)).Elem() +func (K0sNodeLocalLoadBalancingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sNodeLocalLoadBalancing)(nil)).Elem() } -func (o ClusterSSHPtrOutput) ToClusterSSHPtrOutput() ClusterSSHPtrOutput { +func (o K0sNodeLocalLoadBalancingPtrOutput) ToK0sNodeLocalLoadBalancingPtrOutput() K0sNodeLocalLoadBalancingPtrOutput { return o } -func (o ClusterSSHPtrOutput) ToClusterSSHPtrOutputWithContext(ctx context.Context) ClusterSSHPtrOutput { +func (o K0sNodeLocalLoadBalancingPtrOutput) ToK0sNodeLocalLoadBalancingPtrOutputWithContext(ctx context.Context) K0sNodeLocalLoadBalancingPtrOutput { return o } -func (o ClusterSSHPtrOutput) Elem() ClusterSSHOutput { - return o.ApplyT(func(v *ClusterSSH) ClusterSSH { +func (o K0sNodeLocalLoadBalancingPtrOutput) Elem() K0sNodeLocalLoadBalancingOutput { + return o.ApplyT(func(v *K0sNodeLocalLoadBalancing) K0sNodeLocalLoadBalancing { if v != nil { return *v } - var ret ClusterSSH + var ret K0sNodeLocalLoadBalancing return ret - }).(ClusterSSHOutput) -} - -func (o ClusterSSHPtrOutput) Address() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterSSH) *string { - if v == nil { - return nil - } - return &v.Address - }).(pulumi.StringPtrOutput) -} - -func (o ClusterSSHPtrOutput) Bastion() ClusterSSHPtrOutput { - return o.ApplyT(func(v *ClusterSSH) *ClusterSSH { - if v == nil { - return nil - } - return v.Bastion - }).(ClusterSSHPtrOutput) -} - -func (o ClusterSSHPtrOutput) HostKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterSSH) *string { - if v == nil { - return nil - } - return v.HostKey - }).(pulumi.StringPtrOutput) + }).(K0sNodeLocalLoadBalancingOutput) } -func (o ClusterSSHPtrOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterSSH) *string { +func (o K0sNodeLocalLoadBalancingPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *K0sNodeLocalLoadBalancing) *bool { if v == nil { return nil } - return v.Key - }).(pulumi.StringPtrOutput) + return v.Enabled + }).(pulumi.BoolPtrOutput) } -func (o ClusterSSHPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ClusterSSH) *int { +func (o K0sNodeLocalLoadBalancingPtrOutput) EnvoyProxy() K0sEnvoyProxyPtrOutput { + return o.ApplyT(func(v *K0sNodeLocalLoadBalancing) *K0sEnvoyProxy { if v == nil { return nil } - return v.Port - }).(pulumi.IntPtrOutput) + return v.EnvoyProxy + }).(K0sEnvoyProxyPtrOutput) } -func (o ClusterSSHPtrOutput) User() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterSSH) *string { +func (o K0sNodeLocalLoadBalancingPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sNodeLocalLoadBalancing) *string { if v == nil { return nil } - return v.User + return v.Type }).(pulumi.StringPtrOutput) } -type ClusterScheduler struct { - ExtraArgs map[string]string `pulumi:"extraArgs"` +type K0sPodSecurityPolicy struct { + DefaultPolicy *string `pulumi:"defaultPolicy"` } -// ClusterSchedulerInput is an input type that accepts ClusterSchedulerArgs and ClusterSchedulerOutput values. -// You can construct a concrete instance of `ClusterSchedulerInput` via: +// K0sPodSecurityPolicyInput is an input type that accepts K0sPodSecurityPolicyArgs and K0sPodSecurityPolicyOutput values. +// You can construct a concrete instance of `K0sPodSecurityPolicyInput` via: // -// ClusterSchedulerArgs{...} -type ClusterSchedulerInput interface { +// K0sPodSecurityPolicyArgs{...} +type K0sPodSecurityPolicyInput interface { pulumi.Input - ToClusterSchedulerOutput() ClusterSchedulerOutput - ToClusterSchedulerOutputWithContext(context.Context) ClusterSchedulerOutput + ToK0sPodSecurityPolicyOutput() K0sPodSecurityPolicyOutput + ToK0sPodSecurityPolicyOutputWithContext(context.Context) K0sPodSecurityPolicyOutput } -type ClusterSchedulerArgs struct { - ExtraArgs pulumi.StringMapInput `pulumi:"extraArgs"` +type K0sPodSecurityPolicyArgs struct { + DefaultPolicy pulumi.StringPtrInput `pulumi:"defaultPolicy"` } -func (ClusterSchedulerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterScheduler)(nil)).Elem() +func (K0sPodSecurityPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sPodSecurityPolicy)(nil)).Elem() } -func (i ClusterSchedulerArgs) ToClusterSchedulerOutput() ClusterSchedulerOutput { - return i.ToClusterSchedulerOutputWithContext(context.Background()) +func (i K0sPodSecurityPolicyArgs) ToK0sPodSecurityPolicyOutput() K0sPodSecurityPolicyOutput { + return i.ToK0sPodSecurityPolicyOutputWithContext(context.Background()) } -func (i ClusterSchedulerArgs) ToClusterSchedulerOutputWithContext(ctx context.Context) ClusterSchedulerOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterSchedulerOutput) +func (i K0sPodSecurityPolicyArgs) ToK0sPodSecurityPolicyOutputWithContext(ctx context.Context) K0sPodSecurityPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sPodSecurityPolicyOutput) } -func (i ClusterSchedulerArgs) ToClusterSchedulerPtrOutput() ClusterSchedulerPtrOutput { - return i.ToClusterSchedulerPtrOutputWithContext(context.Background()) +func (i K0sPodSecurityPolicyArgs) ToK0sPodSecurityPolicyPtrOutput() K0sPodSecurityPolicyPtrOutput { + return i.ToK0sPodSecurityPolicyPtrOutputWithContext(context.Background()) } -func (i ClusterSchedulerArgs) ToClusterSchedulerPtrOutputWithContext(ctx context.Context) ClusterSchedulerPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterSchedulerOutput).ToClusterSchedulerPtrOutputWithContext(ctx) +func (i K0sPodSecurityPolicyArgs) ToK0sPodSecurityPolicyPtrOutputWithContext(ctx context.Context) K0sPodSecurityPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sPodSecurityPolicyOutput).ToK0sPodSecurityPolicyPtrOutputWithContext(ctx) } -// ClusterSchedulerPtrInput is an input type that accepts ClusterSchedulerArgs, ClusterSchedulerPtr and ClusterSchedulerPtrOutput values. -// You can construct a concrete instance of `ClusterSchedulerPtrInput` via: +// K0sPodSecurityPolicyPtrInput is an input type that accepts K0sPodSecurityPolicyArgs, K0sPodSecurityPolicyPtr and K0sPodSecurityPolicyPtrOutput values. +// You can construct a concrete instance of `K0sPodSecurityPolicyPtrInput` via: // -// ClusterSchedulerArgs{...} +// K0sPodSecurityPolicyArgs{...} // // or: // // nil -type ClusterSchedulerPtrInput interface { +type K0sPodSecurityPolicyPtrInput interface { pulumi.Input - ToClusterSchedulerPtrOutput() ClusterSchedulerPtrOutput - ToClusterSchedulerPtrOutputWithContext(context.Context) ClusterSchedulerPtrOutput + ToK0sPodSecurityPolicyPtrOutput() K0sPodSecurityPolicyPtrOutput + ToK0sPodSecurityPolicyPtrOutputWithContext(context.Context) K0sPodSecurityPolicyPtrOutput } -type clusterSchedulerPtrType ClusterSchedulerArgs +type k0sPodSecurityPolicyPtrType K0sPodSecurityPolicyArgs -func ClusterSchedulerPtr(v *ClusterSchedulerArgs) ClusterSchedulerPtrInput { - return (*clusterSchedulerPtrType)(v) +func K0sPodSecurityPolicyPtr(v *K0sPodSecurityPolicyArgs) K0sPodSecurityPolicyPtrInput { + return (*k0sPodSecurityPolicyPtrType)(v) } -func (*clusterSchedulerPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterScheduler)(nil)).Elem() +func (*k0sPodSecurityPolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sPodSecurityPolicy)(nil)).Elem() } -func (i *clusterSchedulerPtrType) ToClusterSchedulerPtrOutput() ClusterSchedulerPtrOutput { - return i.ToClusterSchedulerPtrOutputWithContext(context.Background()) +func (i *k0sPodSecurityPolicyPtrType) ToK0sPodSecurityPolicyPtrOutput() K0sPodSecurityPolicyPtrOutput { + return i.ToK0sPodSecurityPolicyPtrOutputWithContext(context.Background()) } -func (i *clusterSchedulerPtrType) ToClusterSchedulerPtrOutputWithContext(ctx context.Context) ClusterSchedulerPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterSchedulerPtrOutput) +func (i *k0sPodSecurityPolicyPtrType) ToK0sPodSecurityPolicyPtrOutputWithContext(ctx context.Context) K0sPodSecurityPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sPodSecurityPolicyPtrOutput) } -type ClusterSchedulerOutput struct{ *pulumi.OutputState } +type K0sPodSecurityPolicyOutput struct{ *pulumi.OutputState } -func (ClusterSchedulerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterScheduler)(nil)).Elem() +func (K0sPodSecurityPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sPodSecurityPolicy)(nil)).Elem() } -func (o ClusterSchedulerOutput) ToClusterSchedulerOutput() ClusterSchedulerOutput { +func (o K0sPodSecurityPolicyOutput) ToK0sPodSecurityPolicyOutput() K0sPodSecurityPolicyOutput { return o } -func (o ClusterSchedulerOutput) ToClusterSchedulerOutputWithContext(ctx context.Context) ClusterSchedulerOutput { +func (o K0sPodSecurityPolicyOutput) ToK0sPodSecurityPolicyOutputWithContext(ctx context.Context) K0sPodSecurityPolicyOutput { return o } -func (o ClusterSchedulerOutput) ToClusterSchedulerPtrOutput() ClusterSchedulerPtrOutput { - return o.ToClusterSchedulerPtrOutputWithContext(context.Background()) +func (o K0sPodSecurityPolicyOutput) ToK0sPodSecurityPolicyPtrOutput() K0sPodSecurityPolicyPtrOutput { + return o.ToK0sPodSecurityPolicyPtrOutputWithContext(context.Background()) } -func (o ClusterSchedulerOutput) ToClusterSchedulerPtrOutputWithContext(ctx context.Context) ClusterSchedulerPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterScheduler) *ClusterScheduler { +func (o K0sPodSecurityPolicyOutput) ToK0sPodSecurityPolicyPtrOutputWithContext(ctx context.Context) K0sPodSecurityPolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sPodSecurityPolicy) *K0sPodSecurityPolicy { return &v - }).(ClusterSchedulerPtrOutput) + }).(K0sPodSecurityPolicyPtrOutput) } -func (o ClusterSchedulerOutput) ExtraArgs() pulumi.StringMapOutput { - return o.ApplyT(func(v ClusterScheduler) map[string]string { return v.ExtraArgs }).(pulumi.StringMapOutput) +func (o K0sPodSecurityPolicyOutput) DefaultPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sPodSecurityPolicy) *string { return v.DefaultPolicy }).(pulumi.StringPtrOutput) } -type ClusterSchedulerPtrOutput struct{ *pulumi.OutputState } +type K0sPodSecurityPolicyPtrOutput struct{ *pulumi.OutputState } -func (ClusterSchedulerPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterScheduler)(nil)).Elem() +func (K0sPodSecurityPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sPodSecurityPolicy)(nil)).Elem() } -func (o ClusterSchedulerPtrOutput) ToClusterSchedulerPtrOutput() ClusterSchedulerPtrOutput { +func (o K0sPodSecurityPolicyPtrOutput) ToK0sPodSecurityPolicyPtrOutput() K0sPodSecurityPolicyPtrOutput { return o } -func (o ClusterSchedulerPtrOutput) ToClusterSchedulerPtrOutputWithContext(ctx context.Context) ClusterSchedulerPtrOutput { +func (o K0sPodSecurityPolicyPtrOutput) ToK0sPodSecurityPolicyPtrOutputWithContext(ctx context.Context) K0sPodSecurityPolicyPtrOutput { return o } -func (o ClusterSchedulerPtrOutput) Elem() ClusterSchedulerOutput { - return o.ApplyT(func(v *ClusterScheduler) ClusterScheduler { +func (o K0sPodSecurityPolicyPtrOutput) Elem() K0sPodSecurityPolicyOutput { + return o.ApplyT(func(v *K0sPodSecurityPolicy) K0sPodSecurityPolicy { if v != nil { return *v } - var ret ClusterScheduler + var ret K0sPodSecurityPolicy return ret - }).(ClusterSchedulerOutput) + }).(K0sPodSecurityPolicyOutput) } -func (o ClusterSchedulerPtrOutput) ExtraArgs() pulumi.StringMapOutput { - return o.ApplyT(func(v *ClusterScheduler) map[string]string { +func (o K0sPodSecurityPolicyPtrOutput) DefaultPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sPodSecurityPolicy) *string { if v == nil { return nil } - return v.ExtraArgs - }).(pulumi.StringMapOutput) + return v.DefaultPolicy + }).(pulumi.StringPtrOutput) } -type ClusterSpec struct { - Hosts []ClusterHost `pulumi:"hosts"` - K0s *ClusterK0s `pulumi:"k0s"` +type K0sScheduler struct { + ExtraArgs map[string]string `pulumi:"extraArgs"` } -// ClusterSpecInput is an input type that accepts ClusterSpecArgs and ClusterSpecOutput values. -// You can construct a concrete instance of `ClusterSpecInput` via: +// K0sSchedulerInput is an input type that accepts K0sSchedulerArgs and K0sSchedulerOutput values. +// You can construct a concrete instance of `K0sSchedulerInput` via: // -// ClusterSpecArgs{...} -type ClusterSpecInput interface { +// K0sSchedulerArgs{...} +type K0sSchedulerInput interface { pulumi.Input - ToClusterSpecOutput() ClusterSpecOutput - ToClusterSpecOutputWithContext(context.Context) ClusterSpecOutput + ToK0sSchedulerOutput() K0sSchedulerOutput + ToK0sSchedulerOutputWithContext(context.Context) K0sSchedulerOutput } -type ClusterSpecArgs struct { - Hosts ClusterHostArrayInput `pulumi:"hosts"` - K0s ClusterK0sPtrInput `pulumi:"k0s"` +type K0sSchedulerArgs struct { + ExtraArgs pulumi.StringMapInput `pulumi:"extraArgs"` } -func (ClusterSpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterSpec)(nil)).Elem() +func (K0sSchedulerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sScheduler)(nil)).Elem() } -func (i ClusterSpecArgs) ToClusterSpecOutput() ClusterSpecOutput { - return i.ToClusterSpecOutputWithContext(context.Background()) +func (i K0sSchedulerArgs) ToK0sSchedulerOutput() K0sSchedulerOutput { + return i.ToK0sSchedulerOutputWithContext(context.Background()) } -func (i ClusterSpecArgs) ToClusterSpecOutputWithContext(ctx context.Context) ClusterSpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterSpecOutput) +func (i K0sSchedulerArgs) ToK0sSchedulerOutputWithContext(ctx context.Context) K0sSchedulerOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sSchedulerOutput) } -func (i ClusterSpecArgs) ToClusterSpecPtrOutput() ClusterSpecPtrOutput { - return i.ToClusterSpecPtrOutputWithContext(context.Background()) +func (i K0sSchedulerArgs) ToK0sSchedulerPtrOutput() K0sSchedulerPtrOutput { + return i.ToK0sSchedulerPtrOutputWithContext(context.Background()) } -func (i ClusterSpecArgs) ToClusterSpecPtrOutputWithContext(ctx context.Context) ClusterSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterSpecOutput).ToClusterSpecPtrOutputWithContext(ctx) +func (i K0sSchedulerArgs) ToK0sSchedulerPtrOutputWithContext(ctx context.Context) K0sSchedulerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sSchedulerOutput).ToK0sSchedulerPtrOutputWithContext(ctx) } -// ClusterSpecPtrInput is an input type that accepts ClusterSpecArgs, ClusterSpecPtr and ClusterSpecPtrOutput values. -// You can construct a concrete instance of `ClusterSpecPtrInput` via: +// K0sSchedulerPtrInput is an input type that accepts K0sSchedulerArgs, K0sSchedulerPtr and K0sSchedulerPtrOutput values. +// You can construct a concrete instance of `K0sSchedulerPtrInput` via: // -// ClusterSpecArgs{...} +// K0sSchedulerArgs{...} // // or: // // nil -type ClusterSpecPtrInput interface { +type K0sSchedulerPtrInput interface { pulumi.Input - ToClusterSpecPtrOutput() ClusterSpecPtrOutput - ToClusterSpecPtrOutputWithContext(context.Context) ClusterSpecPtrOutput + ToK0sSchedulerPtrOutput() K0sSchedulerPtrOutput + ToK0sSchedulerPtrOutputWithContext(context.Context) K0sSchedulerPtrOutput } -type clusterSpecPtrType ClusterSpecArgs +type k0sSchedulerPtrType K0sSchedulerArgs -func ClusterSpecPtr(v *ClusterSpecArgs) ClusterSpecPtrInput { - return (*clusterSpecPtrType)(v) +func K0sSchedulerPtr(v *K0sSchedulerArgs) K0sSchedulerPtrInput { + return (*k0sSchedulerPtrType)(v) } -func (*clusterSpecPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterSpec)(nil)).Elem() +func (*k0sSchedulerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sScheduler)(nil)).Elem() } -func (i *clusterSpecPtrType) ToClusterSpecPtrOutput() ClusterSpecPtrOutput { - return i.ToClusterSpecPtrOutputWithContext(context.Background()) +func (i *k0sSchedulerPtrType) ToK0sSchedulerPtrOutput() K0sSchedulerPtrOutput { + return i.ToK0sSchedulerPtrOutputWithContext(context.Background()) } -func (i *clusterSpecPtrType) ToClusterSpecPtrOutputWithContext(ctx context.Context) ClusterSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterSpecPtrOutput) +func (i *k0sSchedulerPtrType) ToK0sSchedulerPtrOutputWithContext(ctx context.Context) K0sSchedulerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sSchedulerPtrOutput) } -type ClusterSpecOutput struct{ *pulumi.OutputState } +type K0sSchedulerOutput struct{ *pulumi.OutputState } -func (ClusterSpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterSpec)(nil)).Elem() +func (K0sSchedulerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sScheduler)(nil)).Elem() } -func (o ClusterSpecOutput) ToClusterSpecOutput() ClusterSpecOutput { +func (o K0sSchedulerOutput) ToK0sSchedulerOutput() K0sSchedulerOutput { return o } -func (o ClusterSpecOutput) ToClusterSpecOutputWithContext(ctx context.Context) ClusterSpecOutput { +func (o K0sSchedulerOutput) ToK0sSchedulerOutputWithContext(ctx context.Context) K0sSchedulerOutput { return o } -func (o ClusterSpecOutput) ToClusterSpecPtrOutput() ClusterSpecPtrOutput { - return o.ToClusterSpecPtrOutputWithContext(context.Background()) +func (o K0sSchedulerOutput) ToK0sSchedulerPtrOutput() K0sSchedulerPtrOutput { + return o.ToK0sSchedulerPtrOutputWithContext(context.Background()) } -func (o ClusterSpecOutput) ToClusterSpecPtrOutputWithContext(ctx context.Context) ClusterSpecPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterSpec) *ClusterSpec { +func (o K0sSchedulerOutput) ToK0sSchedulerPtrOutputWithContext(ctx context.Context) K0sSchedulerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sScheduler) *K0sScheduler { return &v - }).(ClusterSpecPtrOutput) + }).(K0sSchedulerPtrOutput) } -func (o ClusterSpecOutput) Hosts() ClusterHostArrayOutput { - return o.ApplyT(func(v ClusterSpec) []ClusterHost { return v.Hosts }).(ClusterHostArrayOutput) -} - -func (o ClusterSpecOutput) K0s() ClusterK0sPtrOutput { - return o.ApplyT(func(v ClusterSpec) *ClusterK0s { return v.K0s }).(ClusterK0sPtrOutput) +func (o K0sSchedulerOutput) ExtraArgs() pulumi.StringMapOutput { + return o.ApplyT(func(v K0sScheduler) map[string]string { return v.ExtraArgs }).(pulumi.StringMapOutput) } -type ClusterSpecPtrOutput struct{ *pulumi.OutputState } +type K0sSchedulerPtrOutput struct{ *pulumi.OutputState } -func (ClusterSpecPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterSpec)(nil)).Elem() +func (K0sSchedulerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sScheduler)(nil)).Elem() } -func (o ClusterSpecPtrOutput) ToClusterSpecPtrOutput() ClusterSpecPtrOutput { +func (o K0sSchedulerPtrOutput) ToK0sSchedulerPtrOutput() K0sSchedulerPtrOutput { return o } -func (o ClusterSpecPtrOutput) ToClusterSpecPtrOutputWithContext(ctx context.Context) ClusterSpecPtrOutput { +func (o K0sSchedulerPtrOutput) ToK0sSchedulerPtrOutputWithContext(ctx context.Context) K0sSchedulerPtrOutput { return o } -func (o ClusterSpecPtrOutput) Elem() ClusterSpecOutput { - return o.ApplyT(func(v *ClusterSpec) ClusterSpec { +func (o K0sSchedulerPtrOutput) Elem() K0sSchedulerOutput { + return o.ApplyT(func(v *K0sScheduler) K0sScheduler { if v != nil { return *v } - var ret ClusterSpec + var ret K0sScheduler return ret - }).(ClusterSpecOutput) -} - -func (o ClusterSpecPtrOutput) Hosts() ClusterHostArrayOutput { - return o.ApplyT(func(v *ClusterSpec) []ClusterHost { - if v == nil { - return nil - } - return v.Hosts - }).(ClusterHostArrayOutput) + }).(K0sSchedulerOutput) } -func (o ClusterSpecPtrOutput) K0s() ClusterK0sPtrOutput { - return o.ApplyT(func(v *ClusterSpec) *ClusterK0s { +func (o K0sSchedulerPtrOutput) ExtraArgs() pulumi.StringMapOutput { + return o.ApplyT(func(v *K0sScheduler) map[string]string { if v == nil { return nil } - return v.K0s - }).(ClusterK0sPtrOutput) + return v.ExtraArgs + }).(pulumi.StringMapOutput) } -type ClusterStorage struct { - Etcd *ClusterEtcd `pulumi:"etcd"` - Kine *ClusterKine `pulumi:"kine"` - Type *string `pulumi:"type"` +type K0sSpec struct { + Api *K0sAPI `pulumi:"api"` + ControllerManager *K0sControllerManager `pulumi:"controllerManager"` + FeatureGates []K0sFeatureGate `pulumi:"featureGates"` + Images *K0sImages `pulumi:"images"` + InstallConfig *K0sInstallConfig `pulumi:"installConfig"` + Konnectivity *K0sKonnectivity `pulumi:"konnectivity"` + Network *K0sNetwork `pulumi:"network"` + PodSecurityPolicy *K0sPodSecurityPolicy `pulumi:"podSecurityPolicy"` + Scheduler *K0sScheduler `pulumi:"scheduler"` + Storage *K0sStorage `pulumi:"storage"` + Telemetry *K0sTelemetry `pulumi:"telemetry"` + WorkerProfiles []K0sWorkerProfile `pulumi:"workerProfiles"` } -// ClusterStorageInput is an input type that accepts ClusterStorageArgs and ClusterStorageOutput values. -// You can construct a concrete instance of `ClusterStorageInput` via: +// K0sSpecInput is an input type that accepts K0sSpecArgs and K0sSpecOutput values. +// You can construct a concrete instance of `K0sSpecInput` via: // -// ClusterStorageArgs{...} -type ClusterStorageInput interface { +// K0sSpecArgs{...} +type K0sSpecInput interface { pulumi.Input - ToClusterStorageOutput() ClusterStorageOutput - ToClusterStorageOutputWithContext(context.Context) ClusterStorageOutput + ToK0sSpecOutput() K0sSpecOutput + ToK0sSpecOutputWithContext(context.Context) K0sSpecOutput } -type ClusterStorageArgs struct { - Etcd ClusterEtcdPtrInput `pulumi:"etcd"` - Kine ClusterKinePtrInput `pulumi:"kine"` - Type pulumi.StringPtrInput `pulumi:"type"` +type K0sSpecArgs struct { + Api K0sAPIPtrInput `pulumi:"api"` + ControllerManager K0sControllerManagerPtrInput `pulumi:"controllerManager"` + FeatureGates K0sFeatureGateArrayInput `pulumi:"featureGates"` + Images K0sImagesPtrInput `pulumi:"images"` + InstallConfig K0sInstallConfigPtrInput `pulumi:"installConfig"` + Konnectivity K0sKonnectivityPtrInput `pulumi:"konnectivity"` + Network K0sNetworkPtrInput `pulumi:"network"` + PodSecurityPolicy K0sPodSecurityPolicyPtrInput `pulumi:"podSecurityPolicy"` + Scheduler K0sSchedulerPtrInput `pulumi:"scheduler"` + Storage K0sStoragePtrInput `pulumi:"storage"` + Telemetry K0sTelemetryPtrInput `pulumi:"telemetry"` + WorkerProfiles K0sWorkerProfileArrayInput `pulumi:"workerProfiles"` } -func (ClusterStorageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterStorage)(nil)).Elem() +func (K0sSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sSpec)(nil)).Elem() } -func (i ClusterStorageArgs) ToClusterStorageOutput() ClusterStorageOutput { - return i.ToClusterStorageOutputWithContext(context.Background()) +func (i K0sSpecArgs) ToK0sSpecOutput() K0sSpecOutput { + return i.ToK0sSpecOutputWithContext(context.Background()) } -func (i ClusterStorageArgs) ToClusterStorageOutputWithContext(ctx context.Context) ClusterStorageOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterStorageOutput) +func (i K0sSpecArgs) ToK0sSpecOutputWithContext(ctx context.Context) K0sSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sSpecOutput) } -func (i ClusterStorageArgs) ToClusterStoragePtrOutput() ClusterStoragePtrOutput { - return i.ToClusterStoragePtrOutputWithContext(context.Background()) +func (i K0sSpecArgs) ToK0sSpecPtrOutput() K0sSpecPtrOutput { + return i.ToK0sSpecPtrOutputWithContext(context.Background()) } -func (i ClusterStorageArgs) ToClusterStoragePtrOutputWithContext(ctx context.Context) ClusterStoragePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterStorageOutput).ToClusterStoragePtrOutputWithContext(ctx) +func (i K0sSpecArgs) ToK0sSpecPtrOutputWithContext(ctx context.Context) K0sSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sSpecOutput).ToK0sSpecPtrOutputWithContext(ctx) } -// ClusterStoragePtrInput is an input type that accepts ClusterStorageArgs, ClusterStoragePtr and ClusterStoragePtrOutput values. -// You can construct a concrete instance of `ClusterStoragePtrInput` via: +// K0sSpecPtrInput is an input type that accepts K0sSpecArgs, K0sSpecPtr and K0sSpecPtrOutput values. +// You can construct a concrete instance of `K0sSpecPtrInput` via: // -// ClusterStorageArgs{...} +// K0sSpecArgs{...} // // or: // // nil -type ClusterStoragePtrInput interface { +type K0sSpecPtrInput interface { pulumi.Input - ToClusterStoragePtrOutput() ClusterStoragePtrOutput - ToClusterStoragePtrOutputWithContext(context.Context) ClusterStoragePtrOutput + ToK0sSpecPtrOutput() K0sSpecPtrOutput + ToK0sSpecPtrOutputWithContext(context.Context) K0sSpecPtrOutput } -type clusterStoragePtrType ClusterStorageArgs +type k0sSpecPtrType K0sSpecArgs -func ClusterStoragePtr(v *ClusterStorageArgs) ClusterStoragePtrInput { - return (*clusterStoragePtrType)(v) +func K0sSpecPtr(v *K0sSpecArgs) K0sSpecPtrInput { + return (*k0sSpecPtrType)(v) } -func (*clusterStoragePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterStorage)(nil)).Elem() +func (*k0sSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sSpec)(nil)).Elem() } -func (i *clusterStoragePtrType) ToClusterStoragePtrOutput() ClusterStoragePtrOutput { - return i.ToClusterStoragePtrOutputWithContext(context.Background()) +func (i *k0sSpecPtrType) ToK0sSpecPtrOutput() K0sSpecPtrOutput { + return i.ToK0sSpecPtrOutputWithContext(context.Background()) } -func (i *clusterStoragePtrType) ToClusterStoragePtrOutputWithContext(ctx context.Context) ClusterStoragePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterStoragePtrOutput) +func (i *k0sSpecPtrType) ToK0sSpecPtrOutputWithContext(ctx context.Context) K0sSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sSpecPtrOutput) } -type ClusterStorageOutput struct{ *pulumi.OutputState } +type K0sSpecOutput struct{ *pulumi.OutputState } -func (ClusterStorageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterStorage)(nil)).Elem() +func (K0sSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sSpec)(nil)).Elem() } -func (o ClusterStorageOutput) ToClusterStorageOutput() ClusterStorageOutput { +func (o K0sSpecOutput) ToK0sSpecOutput() K0sSpecOutput { return o } -func (o ClusterStorageOutput) ToClusterStorageOutputWithContext(ctx context.Context) ClusterStorageOutput { +func (o K0sSpecOutput) ToK0sSpecOutputWithContext(ctx context.Context) K0sSpecOutput { return o } -func (o ClusterStorageOutput) ToClusterStoragePtrOutput() ClusterStoragePtrOutput { - return o.ToClusterStoragePtrOutputWithContext(context.Background()) +func (o K0sSpecOutput) ToK0sSpecPtrOutput() K0sSpecPtrOutput { + return o.ToK0sSpecPtrOutputWithContext(context.Background()) } -func (o ClusterStorageOutput) ToClusterStoragePtrOutputWithContext(ctx context.Context) ClusterStoragePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterStorage) *ClusterStorage { +func (o K0sSpecOutput) ToK0sSpecPtrOutputWithContext(ctx context.Context) K0sSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sSpec) *K0sSpec { return &v - }).(ClusterStoragePtrOutput) + }).(K0sSpecPtrOutput) +} + +func (o K0sSpecOutput) Api() K0sAPIPtrOutput { + return o.ApplyT(func(v K0sSpec) *K0sAPI { return v.Api }).(K0sAPIPtrOutput) +} + +func (o K0sSpecOutput) ControllerManager() K0sControllerManagerPtrOutput { + return o.ApplyT(func(v K0sSpec) *K0sControllerManager { return v.ControllerManager }).(K0sControllerManagerPtrOutput) +} + +func (o K0sSpecOutput) FeatureGates() K0sFeatureGateArrayOutput { + return o.ApplyT(func(v K0sSpec) []K0sFeatureGate { return v.FeatureGates }).(K0sFeatureGateArrayOutput) +} + +func (o K0sSpecOutput) Images() K0sImagesPtrOutput { + return o.ApplyT(func(v K0sSpec) *K0sImages { return v.Images }).(K0sImagesPtrOutput) +} + +func (o K0sSpecOutput) InstallConfig() K0sInstallConfigPtrOutput { + return o.ApplyT(func(v K0sSpec) *K0sInstallConfig { return v.InstallConfig }).(K0sInstallConfigPtrOutput) +} + +func (o K0sSpecOutput) Konnectivity() K0sKonnectivityPtrOutput { + return o.ApplyT(func(v K0sSpec) *K0sKonnectivity { return v.Konnectivity }).(K0sKonnectivityPtrOutput) +} + +func (o K0sSpecOutput) Network() K0sNetworkPtrOutput { + return o.ApplyT(func(v K0sSpec) *K0sNetwork { return v.Network }).(K0sNetworkPtrOutput) +} + +func (o K0sSpecOutput) PodSecurityPolicy() K0sPodSecurityPolicyPtrOutput { + return o.ApplyT(func(v K0sSpec) *K0sPodSecurityPolicy { return v.PodSecurityPolicy }).(K0sPodSecurityPolicyPtrOutput) +} + +func (o K0sSpecOutput) Scheduler() K0sSchedulerPtrOutput { + return o.ApplyT(func(v K0sSpec) *K0sScheduler { return v.Scheduler }).(K0sSchedulerPtrOutput) } -func (o ClusterStorageOutput) Etcd() ClusterEtcdPtrOutput { - return o.ApplyT(func(v ClusterStorage) *ClusterEtcd { return v.Etcd }).(ClusterEtcdPtrOutput) +func (o K0sSpecOutput) Storage() K0sStoragePtrOutput { + return o.ApplyT(func(v K0sSpec) *K0sStorage { return v.Storage }).(K0sStoragePtrOutput) } -func (o ClusterStorageOutput) Kine() ClusterKinePtrOutput { - return o.ApplyT(func(v ClusterStorage) *ClusterKine { return v.Kine }).(ClusterKinePtrOutput) +func (o K0sSpecOutput) Telemetry() K0sTelemetryPtrOutput { + return o.ApplyT(func(v K0sSpec) *K0sTelemetry { return v.Telemetry }).(K0sTelemetryPtrOutput) } -func (o ClusterStorageOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterStorage) *string { return v.Type }).(pulumi.StringPtrOutput) +func (o K0sSpecOutput) WorkerProfiles() K0sWorkerProfileArrayOutput { + return o.ApplyT(func(v K0sSpec) []K0sWorkerProfile { return v.WorkerProfiles }).(K0sWorkerProfileArrayOutput) } -type ClusterStoragePtrOutput struct{ *pulumi.OutputState } +type K0sSpecPtrOutput struct{ *pulumi.OutputState } -func (ClusterStoragePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterStorage)(nil)).Elem() +func (K0sSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sSpec)(nil)).Elem() } -func (o ClusterStoragePtrOutput) ToClusterStoragePtrOutput() ClusterStoragePtrOutput { +func (o K0sSpecPtrOutput) ToK0sSpecPtrOutput() K0sSpecPtrOutput { return o } -func (o ClusterStoragePtrOutput) ToClusterStoragePtrOutputWithContext(ctx context.Context) ClusterStoragePtrOutput { +func (o K0sSpecPtrOutput) ToK0sSpecPtrOutputWithContext(ctx context.Context) K0sSpecPtrOutput { return o } -func (o ClusterStoragePtrOutput) Elem() ClusterStorageOutput { - return o.ApplyT(func(v *ClusterStorage) ClusterStorage { +func (o K0sSpecPtrOutput) Elem() K0sSpecOutput { + return o.ApplyT(func(v *K0sSpec) K0sSpec { if v != nil { return *v } - var ret ClusterStorage + var ret K0sSpec return ret - }).(ClusterStorageOutput) + }).(K0sSpecOutput) } -func (o ClusterStoragePtrOutput) Etcd() ClusterEtcdPtrOutput { - return o.ApplyT(func(v *ClusterStorage) *ClusterEtcd { +func (o K0sSpecPtrOutput) Api() K0sAPIPtrOutput { + return o.ApplyT(func(v *K0sSpec) *K0sAPI { if v == nil { return nil } - return v.Etcd - }).(ClusterEtcdPtrOutput) + return v.Api + }).(K0sAPIPtrOutput) +} + +func (o K0sSpecPtrOutput) ControllerManager() K0sControllerManagerPtrOutput { + return o.ApplyT(func(v *K0sSpec) *K0sControllerManager { + if v == nil { + return nil + } + return v.ControllerManager + }).(K0sControllerManagerPtrOutput) +} + +func (o K0sSpecPtrOutput) FeatureGates() K0sFeatureGateArrayOutput { + return o.ApplyT(func(v *K0sSpec) []K0sFeatureGate { + if v == nil { + return nil + } + return v.FeatureGates + }).(K0sFeatureGateArrayOutput) +} + +func (o K0sSpecPtrOutput) Images() K0sImagesPtrOutput { + return o.ApplyT(func(v *K0sSpec) *K0sImages { + if v == nil { + return nil + } + return v.Images + }).(K0sImagesPtrOutput) +} + +func (o K0sSpecPtrOutput) InstallConfig() K0sInstallConfigPtrOutput { + return o.ApplyT(func(v *K0sSpec) *K0sInstallConfig { + if v == nil { + return nil + } + return v.InstallConfig + }).(K0sInstallConfigPtrOutput) +} + +func (o K0sSpecPtrOutput) Konnectivity() K0sKonnectivityPtrOutput { + return o.ApplyT(func(v *K0sSpec) *K0sKonnectivity { + if v == nil { + return nil + } + return v.Konnectivity + }).(K0sKonnectivityPtrOutput) +} + +func (o K0sSpecPtrOutput) Network() K0sNetworkPtrOutput { + return o.ApplyT(func(v *K0sSpec) *K0sNetwork { + if v == nil { + return nil + } + return v.Network + }).(K0sNetworkPtrOutput) +} + +func (o K0sSpecPtrOutput) PodSecurityPolicy() K0sPodSecurityPolicyPtrOutput { + return o.ApplyT(func(v *K0sSpec) *K0sPodSecurityPolicy { + if v == nil { + return nil + } + return v.PodSecurityPolicy + }).(K0sPodSecurityPolicyPtrOutput) +} + +func (o K0sSpecPtrOutput) Scheduler() K0sSchedulerPtrOutput { + return o.ApplyT(func(v *K0sSpec) *K0sScheduler { + if v == nil { + return nil + } + return v.Scheduler + }).(K0sSchedulerPtrOutput) +} + +func (o K0sSpecPtrOutput) Storage() K0sStoragePtrOutput { + return o.ApplyT(func(v *K0sSpec) *K0sStorage { + if v == nil { + return nil + } + return v.Storage + }).(K0sStoragePtrOutput) } -func (o ClusterStoragePtrOutput) Kine() ClusterKinePtrOutput { - return o.ApplyT(func(v *ClusterStorage) *ClusterKine { +func (o K0sSpecPtrOutput) Telemetry() K0sTelemetryPtrOutput { + return o.ApplyT(func(v *K0sSpec) *K0sTelemetry { if v == nil { return nil } - return v.Kine - }).(ClusterKinePtrOutput) + return v.Telemetry + }).(K0sTelemetryPtrOutput) } -func (o ClusterStoragePtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterStorage) *string { +func (o K0sSpecPtrOutput) WorkerProfiles() K0sWorkerProfileArrayOutput { + return o.ApplyT(func(v *K0sSpec) []K0sWorkerProfile { if v == nil { return nil } - return v.Type - }).(pulumi.StringPtrOutput) + return v.WorkerProfiles + }).(K0sWorkerProfileArrayOutput) } -type ClusterTelemetry struct { - Enabled *bool `pulumi:"enabled"` +type K0sStorage struct { + Etcd *K0sEtcd `pulumi:"etcd"` + Kine *K0sKine `pulumi:"kine"` + Type *string `pulumi:"type"` } -// ClusterTelemetryInput is an input type that accepts ClusterTelemetryArgs and ClusterTelemetryOutput values. -// You can construct a concrete instance of `ClusterTelemetryInput` via: +// K0sStorageInput is an input type that accepts K0sStorageArgs and K0sStorageOutput values. +// You can construct a concrete instance of `K0sStorageInput` via: // -// ClusterTelemetryArgs{...} -type ClusterTelemetryInput interface { +// K0sStorageArgs{...} +type K0sStorageInput interface { pulumi.Input - ToClusterTelemetryOutput() ClusterTelemetryOutput - ToClusterTelemetryOutputWithContext(context.Context) ClusterTelemetryOutput + ToK0sStorageOutput() K0sStorageOutput + ToK0sStorageOutputWithContext(context.Context) K0sStorageOutput } -type ClusterTelemetryArgs struct { - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +type K0sStorageArgs struct { + Etcd K0sEtcdPtrInput `pulumi:"etcd"` + Kine K0sKinePtrInput `pulumi:"kine"` + Type pulumi.StringPtrInput `pulumi:"type"` } -func (ClusterTelemetryArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterTelemetry)(nil)).Elem() +func (K0sStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sStorage)(nil)).Elem() } -func (i ClusterTelemetryArgs) ToClusterTelemetryOutput() ClusterTelemetryOutput { - return i.ToClusterTelemetryOutputWithContext(context.Background()) +func (i K0sStorageArgs) ToK0sStorageOutput() K0sStorageOutput { + return i.ToK0sStorageOutputWithContext(context.Background()) } -func (i ClusterTelemetryArgs) ToClusterTelemetryOutputWithContext(ctx context.Context) ClusterTelemetryOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterTelemetryOutput) +func (i K0sStorageArgs) ToK0sStorageOutputWithContext(ctx context.Context) K0sStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sStorageOutput) } -func (i ClusterTelemetryArgs) ToClusterTelemetryPtrOutput() ClusterTelemetryPtrOutput { - return i.ToClusterTelemetryPtrOutputWithContext(context.Background()) +func (i K0sStorageArgs) ToK0sStoragePtrOutput() K0sStoragePtrOutput { + return i.ToK0sStoragePtrOutputWithContext(context.Background()) } -func (i ClusterTelemetryArgs) ToClusterTelemetryPtrOutputWithContext(ctx context.Context) ClusterTelemetryPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterTelemetryOutput).ToClusterTelemetryPtrOutputWithContext(ctx) +func (i K0sStorageArgs) ToK0sStoragePtrOutputWithContext(ctx context.Context) K0sStoragePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sStorageOutput).ToK0sStoragePtrOutputWithContext(ctx) } -// ClusterTelemetryPtrInput is an input type that accepts ClusterTelemetryArgs, ClusterTelemetryPtr and ClusterTelemetryPtrOutput values. -// You can construct a concrete instance of `ClusterTelemetryPtrInput` via: +// K0sStoragePtrInput is an input type that accepts K0sStorageArgs, K0sStoragePtr and K0sStoragePtrOutput values. +// You can construct a concrete instance of `K0sStoragePtrInput` via: // -// ClusterTelemetryArgs{...} +// K0sStorageArgs{...} // // or: // // nil -type ClusterTelemetryPtrInput interface { +type K0sStoragePtrInput interface { pulumi.Input - ToClusterTelemetryPtrOutput() ClusterTelemetryPtrOutput - ToClusterTelemetryPtrOutputWithContext(context.Context) ClusterTelemetryPtrOutput + ToK0sStoragePtrOutput() K0sStoragePtrOutput + ToK0sStoragePtrOutputWithContext(context.Context) K0sStoragePtrOutput } -type clusterTelemetryPtrType ClusterTelemetryArgs +type k0sStoragePtrType K0sStorageArgs -func ClusterTelemetryPtr(v *ClusterTelemetryArgs) ClusterTelemetryPtrInput { - return (*clusterTelemetryPtrType)(v) +func K0sStoragePtr(v *K0sStorageArgs) K0sStoragePtrInput { + return (*k0sStoragePtrType)(v) } -func (*clusterTelemetryPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterTelemetry)(nil)).Elem() +func (*k0sStoragePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sStorage)(nil)).Elem() } -func (i *clusterTelemetryPtrType) ToClusterTelemetryPtrOutput() ClusterTelemetryPtrOutput { - return i.ToClusterTelemetryPtrOutputWithContext(context.Background()) +func (i *k0sStoragePtrType) ToK0sStoragePtrOutput() K0sStoragePtrOutput { + return i.ToK0sStoragePtrOutputWithContext(context.Background()) } -func (i *clusterTelemetryPtrType) ToClusterTelemetryPtrOutputWithContext(ctx context.Context) ClusterTelemetryPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterTelemetryPtrOutput) +func (i *k0sStoragePtrType) ToK0sStoragePtrOutputWithContext(ctx context.Context) K0sStoragePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sStoragePtrOutput) } -type ClusterTelemetryOutput struct{ *pulumi.OutputState } +type K0sStorageOutput struct{ *pulumi.OutputState } -func (ClusterTelemetryOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterTelemetry)(nil)).Elem() +func (K0sStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sStorage)(nil)).Elem() } -func (o ClusterTelemetryOutput) ToClusterTelemetryOutput() ClusterTelemetryOutput { +func (o K0sStorageOutput) ToK0sStorageOutput() K0sStorageOutput { return o } -func (o ClusterTelemetryOutput) ToClusterTelemetryOutputWithContext(ctx context.Context) ClusterTelemetryOutput { +func (o K0sStorageOutput) ToK0sStorageOutputWithContext(ctx context.Context) K0sStorageOutput { return o } -func (o ClusterTelemetryOutput) ToClusterTelemetryPtrOutput() ClusterTelemetryPtrOutput { - return o.ToClusterTelemetryPtrOutputWithContext(context.Background()) +func (o K0sStorageOutput) ToK0sStoragePtrOutput() K0sStoragePtrOutput { + return o.ToK0sStoragePtrOutputWithContext(context.Background()) } -func (o ClusterTelemetryOutput) ToClusterTelemetryPtrOutputWithContext(ctx context.Context) ClusterTelemetryPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterTelemetry) *ClusterTelemetry { +func (o K0sStorageOutput) ToK0sStoragePtrOutputWithContext(ctx context.Context) K0sStoragePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sStorage) *K0sStorage { return &v - }).(ClusterTelemetryPtrOutput) + }).(K0sStoragePtrOutput) +} + +func (o K0sStorageOutput) Etcd() K0sEtcdPtrOutput { + return o.ApplyT(func(v K0sStorage) *K0sEtcd { return v.Etcd }).(K0sEtcdPtrOutput) +} + +func (o K0sStorageOutput) Kine() K0sKinePtrOutput { + return o.ApplyT(func(v K0sStorage) *K0sKine { return v.Kine }).(K0sKinePtrOutput) } -func (o ClusterTelemetryOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterTelemetry) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +func (o K0sStorageOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v K0sStorage) *string { return v.Type }).(pulumi.StringPtrOutput) } -type ClusterTelemetryPtrOutput struct{ *pulumi.OutputState } +type K0sStoragePtrOutput struct{ *pulumi.OutputState } -func (ClusterTelemetryPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterTelemetry)(nil)).Elem() +func (K0sStoragePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sStorage)(nil)).Elem() } -func (o ClusterTelemetryPtrOutput) ToClusterTelemetryPtrOutput() ClusterTelemetryPtrOutput { +func (o K0sStoragePtrOutput) ToK0sStoragePtrOutput() K0sStoragePtrOutput { return o } -func (o ClusterTelemetryPtrOutput) ToClusterTelemetryPtrOutputWithContext(ctx context.Context) ClusterTelemetryPtrOutput { +func (o K0sStoragePtrOutput) ToK0sStoragePtrOutputWithContext(ctx context.Context) K0sStoragePtrOutput { return o } -func (o ClusterTelemetryPtrOutput) Elem() ClusterTelemetryOutput { - return o.ApplyT(func(v *ClusterTelemetry) ClusterTelemetry { +func (o K0sStoragePtrOutput) Elem() K0sStorageOutput { + return o.ApplyT(func(v *K0sStorage) K0sStorage { if v != nil { return *v } - var ret ClusterTelemetry + var ret K0sStorage return ret - }).(ClusterTelemetryOutput) + }).(K0sStorageOutput) } -func (o ClusterTelemetryPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterTelemetry) *bool { +func (o K0sStoragePtrOutput) Etcd() K0sEtcdPtrOutput { + return o.ApplyT(func(v *K0sStorage) *K0sEtcd { if v == nil { return nil } - return v.Enabled - }).(pulumi.BoolPtrOutput) + return v.Etcd + }).(K0sEtcdPtrOutput) } -type ClusterWinRM struct { - Address string `pulumi:"address"` - Bastion *ClusterSSH `pulumi:"bastion"` - CaCert *string `pulumi:"caCert"` - Cert *string `pulumi:"cert"` - Insecure *bool `pulumi:"insecure"` - Key *string `pulumi:"key"` - Password *string `pulumi:"password"` - Port *int `pulumi:"port"` - TlsServerName *string `pulumi:"tlsServerName"` - UseHTTPS *bool `pulumi:"useHTTPS"` - UseNTLM *bool `pulumi:"useNTLM"` - User *string `pulumi:"user"` +func (o K0sStoragePtrOutput) Kine() K0sKinePtrOutput { + return o.ApplyT(func(v *K0sStorage) *K0sKine { + if v == nil { + return nil + } + return v.Kine + }).(K0sKinePtrOutput) } -// ClusterWinRMInput is an input type that accepts ClusterWinRMArgs and ClusterWinRMOutput values. -// You can construct a concrete instance of `ClusterWinRMInput` via: +func (o K0sStoragePtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *K0sStorage) *string { + if v == nil { + return nil + } + return v.Type + }).(pulumi.StringPtrOutput) +} + +type K0sTelemetry struct { + Enabled *bool `pulumi:"enabled"` +} + +// K0sTelemetryInput is an input type that accepts K0sTelemetryArgs and K0sTelemetryOutput values. +// You can construct a concrete instance of `K0sTelemetryInput` via: // -// ClusterWinRMArgs{...} -type ClusterWinRMInput interface { +// K0sTelemetryArgs{...} +type K0sTelemetryInput interface { pulumi.Input - ToClusterWinRMOutput() ClusterWinRMOutput - ToClusterWinRMOutputWithContext(context.Context) ClusterWinRMOutput + ToK0sTelemetryOutput() K0sTelemetryOutput + ToK0sTelemetryOutputWithContext(context.Context) K0sTelemetryOutput } -type ClusterWinRMArgs struct { - Address pulumi.StringInput `pulumi:"address"` - Bastion ClusterSSHPtrInput `pulumi:"bastion"` - CaCert pulumi.StringPtrInput `pulumi:"caCert"` - Cert pulumi.StringPtrInput `pulumi:"cert"` - Insecure pulumi.BoolPtrInput `pulumi:"insecure"` - Key pulumi.StringPtrInput `pulumi:"key"` - Password pulumi.StringPtrInput `pulumi:"password"` - Port pulumi.IntPtrInput `pulumi:"port"` - TlsServerName pulumi.StringPtrInput `pulumi:"tlsServerName"` - UseHTTPS pulumi.BoolPtrInput `pulumi:"useHTTPS"` - UseNTLM pulumi.BoolPtrInput `pulumi:"useNTLM"` - User pulumi.StringPtrInput `pulumi:"user"` +type K0sTelemetryArgs struct { + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` } -func (ClusterWinRMArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterWinRM)(nil)).Elem() +func (K0sTelemetryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sTelemetry)(nil)).Elem() } -func (i ClusterWinRMArgs) ToClusterWinRMOutput() ClusterWinRMOutput { - return i.ToClusterWinRMOutputWithContext(context.Background()) +func (i K0sTelemetryArgs) ToK0sTelemetryOutput() K0sTelemetryOutput { + return i.ToK0sTelemetryOutputWithContext(context.Background()) } -func (i ClusterWinRMArgs) ToClusterWinRMOutputWithContext(ctx context.Context) ClusterWinRMOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterWinRMOutput) +func (i K0sTelemetryArgs) ToK0sTelemetryOutputWithContext(ctx context.Context) K0sTelemetryOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sTelemetryOutput) } -func (i ClusterWinRMArgs) ToClusterWinRMPtrOutput() ClusterWinRMPtrOutput { - return i.ToClusterWinRMPtrOutputWithContext(context.Background()) +func (i K0sTelemetryArgs) ToK0sTelemetryPtrOutput() K0sTelemetryPtrOutput { + return i.ToK0sTelemetryPtrOutputWithContext(context.Background()) } -func (i ClusterWinRMArgs) ToClusterWinRMPtrOutputWithContext(ctx context.Context) ClusterWinRMPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterWinRMOutput).ToClusterWinRMPtrOutputWithContext(ctx) +func (i K0sTelemetryArgs) ToK0sTelemetryPtrOutputWithContext(ctx context.Context) K0sTelemetryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sTelemetryOutput).ToK0sTelemetryPtrOutputWithContext(ctx) } -// ClusterWinRMPtrInput is an input type that accepts ClusterWinRMArgs, ClusterWinRMPtr and ClusterWinRMPtrOutput values. -// You can construct a concrete instance of `ClusterWinRMPtrInput` via: +// K0sTelemetryPtrInput is an input type that accepts K0sTelemetryArgs, K0sTelemetryPtr and K0sTelemetryPtrOutput values. +// You can construct a concrete instance of `K0sTelemetryPtrInput` via: // -// ClusterWinRMArgs{...} +// K0sTelemetryArgs{...} // // or: // // nil -type ClusterWinRMPtrInput interface { +type K0sTelemetryPtrInput interface { pulumi.Input - ToClusterWinRMPtrOutput() ClusterWinRMPtrOutput - ToClusterWinRMPtrOutputWithContext(context.Context) ClusterWinRMPtrOutput + ToK0sTelemetryPtrOutput() K0sTelemetryPtrOutput + ToK0sTelemetryPtrOutputWithContext(context.Context) K0sTelemetryPtrOutput } -type clusterWinRMPtrType ClusterWinRMArgs +type k0sTelemetryPtrType K0sTelemetryArgs -func ClusterWinRMPtr(v *ClusterWinRMArgs) ClusterWinRMPtrInput { - return (*clusterWinRMPtrType)(v) +func K0sTelemetryPtr(v *K0sTelemetryArgs) K0sTelemetryPtrInput { + return (*k0sTelemetryPtrType)(v) } -func (*clusterWinRMPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterWinRM)(nil)).Elem() +func (*k0sTelemetryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**K0sTelemetry)(nil)).Elem() } -func (i *clusterWinRMPtrType) ToClusterWinRMPtrOutput() ClusterWinRMPtrOutput { - return i.ToClusterWinRMPtrOutputWithContext(context.Background()) +func (i *k0sTelemetryPtrType) ToK0sTelemetryPtrOutput() K0sTelemetryPtrOutput { + return i.ToK0sTelemetryPtrOutputWithContext(context.Background()) } -func (i *clusterWinRMPtrType) ToClusterWinRMPtrOutputWithContext(ctx context.Context) ClusterWinRMPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterWinRMPtrOutput) +func (i *k0sTelemetryPtrType) ToK0sTelemetryPtrOutputWithContext(ctx context.Context) K0sTelemetryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sTelemetryPtrOutput) } -type ClusterWinRMOutput struct{ *pulumi.OutputState } +type K0sTelemetryOutput struct{ *pulumi.OutputState } -func (ClusterWinRMOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterWinRM)(nil)).Elem() +func (K0sTelemetryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sTelemetry)(nil)).Elem() } -func (o ClusterWinRMOutput) ToClusterWinRMOutput() ClusterWinRMOutput { +func (o K0sTelemetryOutput) ToK0sTelemetryOutput() K0sTelemetryOutput { return o } -func (o ClusterWinRMOutput) ToClusterWinRMOutputWithContext(ctx context.Context) ClusterWinRMOutput { +func (o K0sTelemetryOutput) ToK0sTelemetryOutputWithContext(ctx context.Context) K0sTelemetryOutput { return o } -func (o ClusterWinRMOutput) ToClusterWinRMPtrOutput() ClusterWinRMPtrOutput { - return o.ToClusterWinRMPtrOutputWithContext(context.Background()) +func (o K0sTelemetryOutput) ToK0sTelemetryPtrOutput() K0sTelemetryPtrOutput { + return o.ToK0sTelemetryPtrOutputWithContext(context.Background()) } -func (o ClusterWinRMOutput) ToClusterWinRMPtrOutputWithContext(ctx context.Context) ClusterWinRMPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterWinRM) *ClusterWinRM { +func (o K0sTelemetryOutput) ToK0sTelemetryPtrOutputWithContext(ctx context.Context) K0sTelemetryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v K0sTelemetry) *K0sTelemetry { return &v - }).(ClusterWinRMPtrOutput) -} - -func (o ClusterWinRMOutput) Address() pulumi.StringOutput { - return o.ApplyT(func(v ClusterWinRM) string { return v.Address }).(pulumi.StringOutput) -} - -func (o ClusterWinRMOutput) Bastion() ClusterSSHPtrOutput { - return o.ApplyT(func(v ClusterWinRM) *ClusterSSH { return v.Bastion }).(ClusterSSHPtrOutput) -} - -func (o ClusterWinRMOutput) CaCert() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterWinRM) *string { return v.CaCert }).(pulumi.StringPtrOutput) -} - -func (o ClusterWinRMOutput) Cert() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterWinRM) *string { return v.Cert }).(pulumi.StringPtrOutput) -} - -func (o ClusterWinRMOutput) Insecure() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterWinRM) *bool { return v.Insecure }).(pulumi.BoolPtrOutput) -} - -func (o ClusterWinRMOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterWinRM) *string { return v.Key }).(pulumi.StringPtrOutput) -} - -func (o ClusterWinRMOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterWinRM) *string { return v.Password }).(pulumi.StringPtrOutput) -} - -func (o ClusterWinRMOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v ClusterWinRM) *int { return v.Port }).(pulumi.IntPtrOutput) -} - -func (o ClusterWinRMOutput) TlsServerName() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterWinRM) *string { return v.TlsServerName }).(pulumi.StringPtrOutput) -} - -func (o ClusterWinRMOutput) UseHTTPS() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterWinRM) *bool { return v.UseHTTPS }).(pulumi.BoolPtrOutput) -} - -func (o ClusterWinRMOutput) UseNTLM() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterWinRM) *bool { return v.UseNTLM }).(pulumi.BoolPtrOutput) + }).(K0sTelemetryPtrOutput) } -func (o ClusterWinRMOutput) User() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterWinRM) *string { return v.User }).(pulumi.StringPtrOutput) +func (o K0sTelemetryOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v K0sTelemetry) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -type ClusterWinRMPtrOutput struct{ *pulumi.OutputState } +type K0sTelemetryPtrOutput struct{ *pulumi.OutputState } -func (ClusterWinRMPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterWinRM)(nil)).Elem() +func (K0sTelemetryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**K0sTelemetry)(nil)).Elem() } -func (o ClusterWinRMPtrOutput) ToClusterWinRMPtrOutput() ClusterWinRMPtrOutput { +func (o K0sTelemetryPtrOutput) ToK0sTelemetryPtrOutput() K0sTelemetryPtrOutput { return o } -func (o ClusterWinRMPtrOutput) ToClusterWinRMPtrOutputWithContext(ctx context.Context) ClusterWinRMPtrOutput { +func (o K0sTelemetryPtrOutput) ToK0sTelemetryPtrOutputWithContext(ctx context.Context) K0sTelemetryPtrOutput { return o } -func (o ClusterWinRMPtrOutput) Elem() ClusterWinRMOutput { - return o.ApplyT(func(v *ClusterWinRM) ClusterWinRM { +func (o K0sTelemetryPtrOutput) Elem() K0sTelemetryOutput { + return o.ApplyT(func(v *K0sTelemetry) K0sTelemetry { if v != nil { return *v } - var ret ClusterWinRM + var ret K0sTelemetry return ret - }).(ClusterWinRMOutput) -} - -func (o ClusterWinRMPtrOutput) Address() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterWinRM) *string { - if v == nil { - return nil - } - return &v.Address - }).(pulumi.StringPtrOutput) -} - -func (o ClusterWinRMPtrOutput) Bastion() ClusterSSHPtrOutput { - return o.ApplyT(func(v *ClusterWinRM) *ClusterSSH { - if v == nil { - return nil - } - return v.Bastion - }).(ClusterSSHPtrOutput) -} - -func (o ClusterWinRMPtrOutput) CaCert() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterWinRM) *string { - if v == nil { - return nil - } - return v.CaCert - }).(pulumi.StringPtrOutput) -} - -func (o ClusterWinRMPtrOutput) Cert() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterWinRM) *string { - if v == nil { - return nil - } - return v.Cert - }).(pulumi.StringPtrOutput) -} - -func (o ClusterWinRMPtrOutput) Insecure() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterWinRM) *bool { - if v == nil { - return nil - } - return v.Insecure - }).(pulumi.BoolPtrOutput) -} - -func (o ClusterWinRMPtrOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterWinRM) *string { - if v == nil { - return nil - } - return v.Key - }).(pulumi.StringPtrOutput) -} - -func (o ClusterWinRMPtrOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterWinRM) *string { - if v == nil { - return nil - } - return v.Password - }).(pulumi.StringPtrOutput) -} - -func (o ClusterWinRMPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ClusterWinRM) *int { - if v == nil { - return nil - } - return v.Port - }).(pulumi.IntPtrOutput) -} - -func (o ClusterWinRMPtrOutput) TlsServerName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterWinRM) *string { - if v == nil { - return nil - } - return v.TlsServerName - }).(pulumi.StringPtrOutput) -} - -func (o ClusterWinRMPtrOutput) UseHTTPS() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterWinRM) *bool { - if v == nil { - return nil - } - return v.UseHTTPS - }).(pulumi.BoolPtrOutput) + }).(K0sTelemetryOutput) } -func (o ClusterWinRMPtrOutput) UseNTLM() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterWinRM) *bool { +func (o K0sTelemetryPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *K0sTelemetry) *bool { if v == nil { return nil } - return v.UseNTLM + return v.Enabled }).(pulumi.BoolPtrOutput) } -func (o ClusterWinRMPtrOutput) User() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterWinRM) *string { - if v == nil { - return nil - } - return v.User - }).(pulumi.StringPtrOutput) -} - -type ClusterWorkerProfile struct { +type K0sWorkerProfile struct { Name string `pulumi:"name"` Values map[string]interface{} `pulumi:"values"` } -// ClusterWorkerProfileInput is an input type that accepts ClusterWorkerProfileArgs and ClusterWorkerProfileOutput values. -// You can construct a concrete instance of `ClusterWorkerProfileInput` via: +// K0sWorkerProfileInput is an input type that accepts K0sWorkerProfileArgs and K0sWorkerProfileOutput values. +// You can construct a concrete instance of `K0sWorkerProfileInput` via: // -// ClusterWorkerProfileArgs{...} -type ClusterWorkerProfileInput interface { +// K0sWorkerProfileArgs{...} +type K0sWorkerProfileInput interface { pulumi.Input - ToClusterWorkerProfileOutput() ClusterWorkerProfileOutput - ToClusterWorkerProfileOutputWithContext(context.Context) ClusterWorkerProfileOutput + ToK0sWorkerProfileOutput() K0sWorkerProfileOutput + ToK0sWorkerProfileOutputWithContext(context.Context) K0sWorkerProfileOutput } -type ClusterWorkerProfileArgs struct { +type K0sWorkerProfileArgs struct { Name pulumi.StringInput `pulumi:"name"` Values pulumi.MapInput `pulumi:"values"` } -func (ClusterWorkerProfileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterWorkerProfile)(nil)).Elem() +func (K0sWorkerProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*K0sWorkerProfile)(nil)).Elem() } -func (i ClusterWorkerProfileArgs) ToClusterWorkerProfileOutput() ClusterWorkerProfileOutput { - return i.ToClusterWorkerProfileOutputWithContext(context.Background()) +func (i K0sWorkerProfileArgs) ToK0sWorkerProfileOutput() K0sWorkerProfileOutput { + return i.ToK0sWorkerProfileOutputWithContext(context.Background()) } -func (i ClusterWorkerProfileArgs) ToClusterWorkerProfileOutputWithContext(ctx context.Context) ClusterWorkerProfileOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterWorkerProfileOutput) +func (i K0sWorkerProfileArgs) ToK0sWorkerProfileOutputWithContext(ctx context.Context) K0sWorkerProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sWorkerProfileOutput) } -// ClusterWorkerProfileArrayInput is an input type that accepts ClusterWorkerProfileArray and ClusterWorkerProfileArrayOutput values. -// You can construct a concrete instance of `ClusterWorkerProfileArrayInput` via: +// K0sWorkerProfileArrayInput is an input type that accepts K0sWorkerProfileArray and K0sWorkerProfileArrayOutput values. +// You can construct a concrete instance of `K0sWorkerProfileArrayInput` via: // -// ClusterWorkerProfileArray{ ClusterWorkerProfileArgs{...} } -type ClusterWorkerProfileArrayInput interface { +// K0sWorkerProfileArray{ K0sWorkerProfileArgs{...} } +type K0sWorkerProfileArrayInput interface { pulumi.Input - ToClusterWorkerProfileArrayOutput() ClusterWorkerProfileArrayOutput - ToClusterWorkerProfileArrayOutputWithContext(context.Context) ClusterWorkerProfileArrayOutput + ToK0sWorkerProfileArrayOutput() K0sWorkerProfileArrayOutput + ToK0sWorkerProfileArrayOutputWithContext(context.Context) K0sWorkerProfileArrayOutput } -type ClusterWorkerProfileArray []ClusterWorkerProfileInput +type K0sWorkerProfileArray []K0sWorkerProfileInput -func (ClusterWorkerProfileArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ClusterWorkerProfile)(nil)).Elem() +func (K0sWorkerProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]K0sWorkerProfile)(nil)).Elem() } -func (i ClusterWorkerProfileArray) ToClusterWorkerProfileArrayOutput() ClusterWorkerProfileArrayOutput { - return i.ToClusterWorkerProfileArrayOutputWithContext(context.Background()) +func (i K0sWorkerProfileArray) ToK0sWorkerProfileArrayOutput() K0sWorkerProfileArrayOutput { + return i.ToK0sWorkerProfileArrayOutputWithContext(context.Background()) } -func (i ClusterWorkerProfileArray) ToClusterWorkerProfileArrayOutputWithContext(ctx context.Context) ClusterWorkerProfileArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterWorkerProfileArrayOutput) +func (i K0sWorkerProfileArray) ToK0sWorkerProfileArrayOutputWithContext(ctx context.Context) K0sWorkerProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(K0sWorkerProfileArrayOutput) } -type ClusterWorkerProfileOutput struct{ *pulumi.OutputState } +type K0sWorkerProfileOutput struct{ *pulumi.OutputState } -func (ClusterWorkerProfileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterWorkerProfile)(nil)).Elem() +func (K0sWorkerProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*K0sWorkerProfile)(nil)).Elem() } -func (o ClusterWorkerProfileOutput) ToClusterWorkerProfileOutput() ClusterWorkerProfileOutput { +func (o K0sWorkerProfileOutput) ToK0sWorkerProfileOutput() K0sWorkerProfileOutput { return o } -func (o ClusterWorkerProfileOutput) ToClusterWorkerProfileOutputWithContext(ctx context.Context) ClusterWorkerProfileOutput { +func (o K0sWorkerProfileOutput) ToK0sWorkerProfileOutputWithContext(ctx context.Context) K0sWorkerProfileOutput { return o } -func (o ClusterWorkerProfileOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v ClusterWorkerProfile) string { return v.Name }).(pulumi.StringOutput) +func (o K0sWorkerProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v K0sWorkerProfile) string { return v.Name }).(pulumi.StringOutput) } -func (o ClusterWorkerProfileOutput) Values() pulumi.MapOutput { - return o.ApplyT(func(v ClusterWorkerProfile) map[string]interface{} { return v.Values }).(pulumi.MapOutput) +func (o K0sWorkerProfileOutput) Values() pulumi.MapOutput { + return o.ApplyT(func(v K0sWorkerProfile) map[string]interface{} { return v.Values }).(pulumi.MapOutput) } -type ClusterWorkerProfileArrayOutput struct{ *pulumi.OutputState } +type K0sWorkerProfileArrayOutput struct{ *pulumi.OutputState } -func (ClusterWorkerProfileArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ClusterWorkerProfile)(nil)).Elem() +func (K0sWorkerProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]K0sWorkerProfile)(nil)).Elem() } -func (o ClusterWorkerProfileArrayOutput) ToClusterWorkerProfileArrayOutput() ClusterWorkerProfileArrayOutput { +func (o K0sWorkerProfileArrayOutput) ToK0sWorkerProfileArrayOutput() K0sWorkerProfileArrayOutput { return o } -func (o ClusterWorkerProfileArrayOutput) ToClusterWorkerProfileArrayOutputWithContext(ctx context.Context) ClusterWorkerProfileArrayOutput { +func (o K0sWorkerProfileArrayOutput) ToK0sWorkerProfileArrayOutputWithContext(ctx context.Context) K0sWorkerProfileArrayOutput { return o } -func (o ClusterWorkerProfileArrayOutput) Index(i pulumi.IntInput) ClusterWorkerProfileOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterWorkerProfile { - return vs[0].([]ClusterWorkerProfile)[vs[1].(int)] - }).(ClusterWorkerProfileOutput) +func (o K0sWorkerProfileArrayOutput) Index(i pulumi.IntInput) K0sWorkerProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) K0sWorkerProfile { + return vs[0].([]K0sWorkerProfile)[vs[1].(int)] + }).(K0sWorkerProfileOutput) } func init() { - pulumi.RegisterInputType(reflect.TypeOf((*ClusterAPIInput)(nil)).Elem(), ClusterAPIArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterAPIPtrInput)(nil)).Elem(), ClusterAPIArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterCalicoInput)(nil)).Elem(), ClusterCalicoArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterCalicoPtrInput)(nil)).Elem(), ClusterCalicoArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterCalicoImageInput)(nil)).Elem(), ClusterCalicoImageArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterCalicoImagePtrInput)(nil)).Elem(), ClusterCalicoImageArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterControllerManagerInput)(nil)).Elem(), ClusterControllerManagerArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterControllerManagerPtrInput)(nil)).Elem(), ClusterControllerManagerArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterDualStackInput)(nil)).Elem(), ClusterDualStackArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterDualStackPtrInput)(nil)).Elem(), ClusterDualStackArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterEnvoyProxyInput)(nil)).Elem(), ClusterEnvoyProxyArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterEnvoyProxyPtrInput)(nil)).Elem(), ClusterEnvoyProxyArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterEtcdInput)(nil)).Elem(), ClusterEtcdArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterEtcdPtrInput)(nil)).Elem(), ClusterEtcdArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterEtcdExternalClusterInput)(nil)).Elem(), ClusterEtcdExternalClusterArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterEtcdExternalClusterPtrInput)(nil)).Elem(), ClusterEtcdExternalClusterArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterFeatureGateInput)(nil)).Elem(), ClusterFeatureGateArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterFeatureGateArrayInput)(nil)).Elem(), ClusterFeatureGateArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterFileInput)(nil)).Elem(), ClusterFileArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterFileArrayInput)(nil)).Elem(), ClusterFileArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterHookInput)(nil)).Elem(), ClusterHookArgs{}) @@ -6835,76 +6980,78 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ClusterHooksPtrInput)(nil)).Elem(), ClusterHooksArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterHostInput)(nil)).Elem(), ClusterHostArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterHostArrayInput)(nil)).Elem(), ClusterHostArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterImageInput)(nil)).Elem(), ClusterImageArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterImagePtrInput)(nil)).Elem(), ClusterImageArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterImagesInput)(nil)).Elem(), ClusterImagesArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterImagesPtrInput)(nil)).Elem(), ClusterImagesArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstallConfigInput)(nil)).Elem(), ClusterInstallConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstallConfigPtrInput)(nil)).Elem(), ClusterInstallConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstallConfigUserInput)(nil)).Elem(), ClusterInstallConfigUserArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstallConfigUserPtrInput)(nil)).Elem(), ClusterInstallConfigUserArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterK0sInput)(nil)).Elem(), ClusterK0sArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterK0sPtrInput)(nil)).Elem(), ClusterK0sArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterK0sConfigInput)(nil)).Elem(), ClusterK0sConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterK0sConfigPtrInput)(nil)).Elem(), ClusterK0sConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterK0sSpecInput)(nil)).Elem(), ClusterK0sSpecArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterK0sSpecPtrInput)(nil)).Elem(), ClusterK0sSpecArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterKineInput)(nil)).Elem(), ClusterKineArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterKinePtrInput)(nil)).Elem(), ClusterKineArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterKonnectivityInput)(nil)).Elem(), ClusterKonnectivityArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterKonnectivityPtrInput)(nil)).Elem(), ClusterKonnectivityArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterKubeProxyInput)(nil)).Elem(), ClusterKubeProxyArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterKubeProxyPtrInput)(nil)).Elem(), ClusterKubeProxyArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterKubeProxyIPTablesInput)(nil)).Elem(), ClusterKubeProxyIPTablesArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterKubeProxyIPTablesPtrInput)(nil)).Elem(), ClusterKubeProxyIPTablesArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterKubeProxyIPVSInput)(nil)).Elem(), ClusterKubeProxyIPVSArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterKubeProxyIPVSPtrInput)(nil)).Elem(), ClusterKubeProxyIPVSArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterKubeRouterInput)(nil)).Elem(), ClusterKubeRouterArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterKubeRouterPtrInput)(nil)).Elem(), ClusterKubeRouterArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterKubeRouterImageInput)(nil)).Elem(), ClusterKubeRouterImageArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterKubeRouterImagePtrInput)(nil)).Elem(), ClusterKubeRouterImageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterLocalhostInput)(nil)).Elem(), ClusterLocalhostArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterLocalhostPtrInput)(nil)).Elem(), ClusterLocalhostArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterMetadataInput)(nil)).Elem(), ClusterMetadataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterMetadataPtrInput)(nil)).Elem(), ClusterMetadataArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterNetworkInput)(nil)).Elem(), ClusterNetworkArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterNetworkPtrInput)(nil)).Elem(), ClusterNetworkArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterNodeLocalLoadBalancingInput)(nil)).Elem(), ClusterNodeLocalLoadBalancingArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterNodeLocalLoadBalancingPtrInput)(nil)).Elem(), ClusterNodeLocalLoadBalancingArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterPodSecurityPolicyInput)(nil)).Elem(), ClusterPodSecurityPolicyArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterPodSecurityPolicyPtrInput)(nil)).Elem(), ClusterPodSecurityPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterSSHInput)(nil)).Elem(), ClusterSSHArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterSSHPtrInput)(nil)).Elem(), ClusterSSHArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterSchedulerInput)(nil)).Elem(), ClusterSchedulerArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterSchedulerPtrInput)(nil)).Elem(), ClusterSchedulerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterSpecInput)(nil)).Elem(), ClusterSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterSpecPtrInput)(nil)).Elem(), ClusterSpecArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterStorageInput)(nil)).Elem(), ClusterStorageArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterStoragePtrInput)(nil)).Elem(), ClusterStorageArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterTelemetryInput)(nil)).Elem(), ClusterTelemetryArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterTelemetryPtrInput)(nil)).Elem(), ClusterTelemetryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterWinRMInput)(nil)).Elem(), ClusterWinRMArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterWinRMPtrInput)(nil)).Elem(), ClusterWinRMArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterWorkerProfileInput)(nil)).Elem(), ClusterWorkerProfileArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ClusterWorkerProfileArrayInput)(nil)).Elem(), ClusterWorkerProfileArray{}) - pulumi.RegisterOutputType(ClusterAPIOutput{}) - pulumi.RegisterOutputType(ClusterAPIPtrOutput{}) - pulumi.RegisterOutputType(ClusterCalicoOutput{}) - pulumi.RegisterOutputType(ClusterCalicoPtrOutput{}) - pulumi.RegisterOutputType(ClusterCalicoImageOutput{}) - pulumi.RegisterOutputType(ClusterCalicoImagePtrOutput{}) - pulumi.RegisterOutputType(ClusterControllerManagerOutput{}) - pulumi.RegisterOutputType(ClusterControllerManagerPtrOutput{}) - pulumi.RegisterOutputType(ClusterDualStackOutput{}) - pulumi.RegisterOutputType(ClusterDualStackPtrOutput{}) - pulumi.RegisterOutputType(ClusterEnvoyProxyOutput{}) - pulumi.RegisterOutputType(ClusterEnvoyProxyPtrOutput{}) - pulumi.RegisterOutputType(ClusterEtcdOutput{}) - pulumi.RegisterOutputType(ClusterEtcdPtrOutput{}) - pulumi.RegisterOutputType(ClusterEtcdExternalClusterOutput{}) - pulumi.RegisterOutputType(ClusterEtcdExternalClusterPtrOutput{}) - pulumi.RegisterOutputType(ClusterFeatureGateOutput{}) - pulumi.RegisterOutputType(ClusterFeatureGateArrayOutput{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sInput)(nil)).Elem(), K0sArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sPtrInput)(nil)).Elem(), K0sArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sAPIInput)(nil)).Elem(), K0sAPIArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sAPIPtrInput)(nil)).Elem(), K0sAPIArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sCalicoInput)(nil)).Elem(), K0sCalicoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sCalicoPtrInput)(nil)).Elem(), K0sCalicoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sCalicoImageInput)(nil)).Elem(), K0sCalicoImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sCalicoImagePtrInput)(nil)).Elem(), K0sCalicoImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sControllerManagerInput)(nil)).Elem(), K0sControllerManagerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sControllerManagerPtrInput)(nil)).Elem(), K0sControllerManagerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sDualStackInput)(nil)).Elem(), K0sDualStackArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sDualStackPtrInput)(nil)).Elem(), K0sDualStackArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sEnvoyProxyInput)(nil)).Elem(), K0sEnvoyProxyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sEnvoyProxyPtrInput)(nil)).Elem(), K0sEnvoyProxyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sEtcdInput)(nil)).Elem(), K0sEtcdArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sEtcdPtrInput)(nil)).Elem(), K0sEtcdArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sEtcdExternalClusterInput)(nil)).Elem(), K0sEtcdExternalClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sEtcdExternalClusterPtrInput)(nil)).Elem(), K0sEtcdExternalClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sFeatureGateInput)(nil)).Elem(), K0sFeatureGateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sFeatureGateArrayInput)(nil)).Elem(), K0sFeatureGateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sImageInput)(nil)).Elem(), K0sImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sImagePtrInput)(nil)).Elem(), K0sImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sImagesInput)(nil)).Elem(), K0sImagesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sImagesPtrInput)(nil)).Elem(), K0sImagesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sInstallConfigInput)(nil)).Elem(), K0sInstallConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sInstallConfigPtrInput)(nil)).Elem(), K0sInstallConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sInstallConfigUserInput)(nil)).Elem(), K0sInstallConfigUserArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sInstallConfigUserPtrInput)(nil)).Elem(), K0sInstallConfigUserArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sKineInput)(nil)).Elem(), K0sKineArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sKinePtrInput)(nil)).Elem(), K0sKineArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sKonnectivityInput)(nil)).Elem(), K0sKonnectivityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sKonnectivityPtrInput)(nil)).Elem(), K0sKonnectivityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sKubeProxyInput)(nil)).Elem(), K0sKubeProxyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sKubeProxyPtrInput)(nil)).Elem(), K0sKubeProxyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sKubeProxyIPTablesInput)(nil)).Elem(), K0sKubeProxyIPTablesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sKubeProxyIPTablesPtrInput)(nil)).Elem(), K0sKubeProxyIPTablesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sKubeProxyIPVSInput)(nil)).Elem(), K0sKubeProxyIPVSArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sKubeProxyIPVSPtrInput)(nil)).Elem(), K0sKubeProxyIPVSArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sKubeRouterInput)(nil)).Elem(), K0sKubeRouterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sKubeRouterPtrInput)(nil)).Elem(), K0sKubeRouterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sKubeRouterImageInput)(nil)).Elem(), K0sKubeRouterImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sKubeRouterImagePtrInput)(nil)).Elem(), K0sKubeRouterImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sMetadataInput)(nil)).Elem(), K0sMetadataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sMetadataPtrInput)(nil)).Elem(), K0sMetadataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sNetworkInput)(nil)).Elem(), K0sNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sNetworkPtrInput)(nil)).Elem(), K0sNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sNodeLocalLoadBalancingInput)(nil)).Elem(), K0sNodeLocalLoadBalancingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sNodeLocalLoadBalancingPtrInput)(nil)).Elem(), K0sNodeLocalLoadBalancingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sPodSecurityPolicyInput)(nil)).Elem(), K0sPodSecurityPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sPodSecurityPolicyPtrInput)(nil)).Elem(), K0sPodSecurityPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sSchedulerInput)(nil)).Elem(), K0sSchedulerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sSchedulerPtrInput)(nil)).Elem(), K0sSchedulerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sSpecInput)(nil)).Elem(), K0sSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sSpecPtrInput)(nil)).Elem(), K0sSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sStorageInput)(nil)).Elem(), K0sStorageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sStoragePtrInput)(nil)).Elem(), K0sStorageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sTelemetryInput)(nil)).Elem(), K0sTelemetryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sTelemetryPtrInput)(nil)).Elem(), K0sTelemetryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sWorkerProfileInput)(nil)).Elem(), K0sWorkerProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*K0sWorkerProfileArrayInput)(nil)).Elem(), K0sWorkerProfileArray{}) pulumi.RegisterOutputType(ClusterFileOutput{}) pulumi.RegisterOutputType(ClusterFileArrayOutput{}) pulumi.RegisterOutputType(ClusterHookOutput{}) @@ -6913,56 +7060,76 @@ func init() { pulumi.RegisterOutputType(ClusterHooksPtrOutput{}) pulumi.RegisterOutputType(ClusterHostOutput{}) pulumi.RegisterOutputType(ClusterHostArrayOutput{}) - pulumi.RegisterOutputType(ClusterImageOutput{}) - pulumi.RegisterOutputType(ClusterImagePtrOutput{}) - pulumi.RegisterOutputType(ClusterImagesOutput{}) - pulumi.RegisterOutputType(ClusterImagesPtrOutput{}) - pulumi.RegisterOutputType(ClusterInstallConfigOutput{}) - pulumi.RegisterOutputType(ClusterInstallConfigPtrOutput{}) - pulumi.RegisterOutputType(ClusterInstallConfigUserOutput{}) - pulumi.RegisterOutputType(ClusterInstallConfigUserPtrOutput{}) pulumi.RegisterOutputType(ClusterK0sOutput{}) pulumi.RegisterOutputType(ClusterK0sPtrOutput{}) - pulumi.RegisterOutputType(ClusterK0sConfigOutput{}) - pulumi.RegisterOutputType(ClusterK0sConfigPtrOutput{}) - pulumi.RegisterOutputType(ClusterK0sSpecOutput{}) - pulumi.RegisterOutputType(ClusterK0sSpecPtrOutput{}) - pulumi.RegisterOutputType(ClusterKineOutput{}) - pulumi.RegisterOutputType(ClusterKinePtrOutput{}) - pulumi.RegisterOutputType(ClusterKonnectivityOutput{}) - pulumi.RegisterOutputType(ClusterKonnectivityPtrOutput{}) - pulumi.RegisterOutputType(ClusterKubeProxyOutput{}) - pulumi.RegisterOutputType(ClusterKubeProxyPtrOutput{}) - pulumi.RegisterOutputType(ClusterKubeProxyIPTablesOutput{}) - pulumi.RegisterOutputType(ClusterKubeProxyIPTablesPtrOutput{}) - pulumi.RegisterOutputType(ClusterKubeProxyIPVSOutput{}) - pulumi.RegisterOutputType(ClusterKubeProxyIPVSPtrOutput{}) - pulumi.RegisterOutputType(ClusterKubeRouterOutput{}) - pulumi.RegisterOutputType(ClusterKubeRouterPtrOutput{}) - pulumi.RegisterOutputType(ClusterKubeRouterImageOutput{}) - pulumi.RegisterOutputType(ClusterKubeRouterImagePtrOutput{}) pulumi.RegisterOutputType(ClusterLocalhostOutput{}) pulumi.RegisterOutputType(ClusterLocalhostPtrOutput{}) pulumi.RegisterOutputType(ClusterMetadataOutput{}) pulumi.RegisterOutputType(ClusterMetadataPtrOutput{}) - pulumi.RegisterOutputType(ClusterNetworkOutput{}) - pulumi.RegisterOutputType(ClusterNetworkPtrOutput{}) - pulumi.RegisterOutputType(ClusterNodeLocalLoadBalancingOutput{}) - pulumi.RegisterOutputType(ClusterNodeLocalLoadBalancingPtrOutput{}) - pulumi.RegisterOutputType(ClusterPodSecurityPolicyOutput{}) - pulumi.RegisterOutputType(ClusterPodSecurityPolicyPtrOutput{}) pulumi.RegisterOutputType(ClusterSSHOutput{}) pulumi.RegisterOutputType(ClusterSSHPtrOutput{}) - pulumi.RegisterOutputType(ClusterSchedulerOutput{}) - pulumi.RegisterOutputType(ClusterSchedulerPtrOutput{}) pulumi.RegisterOutputType(ClusterSpecOutput{}) pulumi.RegisterOutputType(ClusterSpecPtrOutput{}) - pulumi.RegisterOutputType(ClusterStorageOutput{}) - pulumi.RegisterOutputType(ClusterStoragePtrOutput{}) - pulumi.RegisterOutputType(ClusterTelemetryOutput{}) - pulumi.RegisterOutputType(ClusterTelemetryPtrOutput{}) pulumi.RegisterOutputType(ClusterWinRMOutput{}) pulumi.RegisterOutputType(ClusterWinRMPtrOutput{}) - pulumi.RegisterOutputType(ClusterWorkerProfileOutput{}) - pulumi.RegisterOutputType(ClusterWorkerProfileArrayOutput{}) + pulumi.RegisterOutputType(K0sOutput{}) + pulumi.RegisterOutputType(K0sPtrOutput{}) + pulumi.RegisterOutputType(K0sAPIOutput{}) + pulumi.RegisterOutputType(K0sAPIPtrOutput{}) + pulumi.RegisterOutputType(K0sCalicoOutput{}) + pulumi.RegisterOutputType(K0sCalicoPtrOutput{}) + pulumi.RegisterOutputType(K0sCalicoImageOutput{}) + pulumi.RegisterOutputType(K0sCalicoImagePtrOutput{}) + pulumi.RegisterOutputType(K0sControllerManagerOutput{}) + pulumi.RegisterOutputType(K0sControllerManagerPtrOutput{}) + pulumi.RegisterOutputType(K0sDualStackOutput{}) + pulumi.RegisterOutputType(K0sDualStackPtrOutput{}) + pulumi.RegisterOutputType(K0sEnvoyProxyOutput{}) + pulumi.RegisterOutputType(K0sEnvoyProxyPtrOutput{}) + pulumi.RegisterOutputType(K0sEtcdOutput{}) + pulumi.RegisterOutputType(K0sEtcdPtrOutput{}) + pulumi.RegisterOutputType(K0sEtcdExternalClusterOutput{}) + pulumi.RegisterOutputType(K0sEtcdExternalClusterPtrOutput{}) + pulumi.RegisterOutputType(K0sFeatureGateOutput{}) + pulumi.RegisterOutputType(K0sFeatureGateArrayOutput{}) + pulumi.RegisterOutputType(K0sImageOutput{}) + pulumi.RegisterOutputType(K0sImagePtrOutput{}) + pulumi.RegisterOutputType(K0sImagesOutput{}) + pulumi.RegisterOutputType(K0sImagesPtrOutput{}) + pulumi.RegisterOutputType(K0sInstallConfigOutput{}) + pulumi.RegisterOutputType(K0sInstallConfigPtrOutput{}) + pulumi.RegisterOutputType(K0sInstallConfigUserOutput{}) + pulumi.RegisterOutputType(K0sInstallConfigUserPtrOutput{}) + pulumi.RegisterOutputType(K0sKineOutput{}) + pulumi.RegisterOutputType(K0sKinePtrOutput{}) + pulumi.RegisterOutputType(K0sKonnectivityOutput{}) + pulumi.RegisterOutputType(K0sKonnectivityPtrOutput{}) + pulumi.RegisterOutputType(K0sKubeProxyOutput{}) + pulumi.RegisterOutputType(K0sKubeProxyPtrOutput{}) + pulumi.RegisterOutputType(K0sKubeProxyIPTablesOutput{}) + pulumi.RegisterOutputType(K0sKubeProxyIPTablesPtrOutput{}) + pulumi.RegisterOutputType(K0sKubeProxyIPVSOutput{}) + pulumi.RegisterOutputType(K0sKubeProxyIPVSPtrOutput{}) + pulumi.RegisterOutputType(K0sKubeRouterOutput{}) + pulumi.RegisterOutputType(K0sKubeRouterPtrOutput{}) + pulumi.RegisterOutputType(K0sKubeRouterImageOutput{}) + pulumi.RegisterOutputType(K0sKubeRouterImagePtrOutput{}) + pulumi.RegisterOutputType(K0sMetadataOutput{}) + pulumi.RegisterOutputType(K0sMetadataPtrOutput{}) + pulumi.RegisterOutputType(K0sNetworkOutput{}) + pulumi.RegisterOutputType(K0sNetworkPtrOutput{}) + pulumi.RegisterOutputType(K0sNodeLocalLoadBalancingOutput{}) + pulumi.RegisterOutputType(K0sNodeLocalLoadBalancingPtrOutput{}) + pulumi.RegisterOutputType(K0sPodSecurityPolicyOutput{}) + pulumi.RegisterOutputType(K0sPodSecurityPolicyPtrOutput{}) + pulumi.RegisterOutputType(K0sSchedulerOutput{}) + pulumi.RegisterOutputType(K0sSchedulerPtrOutput{}) + pulumi.RegisterOutputType(K0sSpecOutput{}) + pulumi.RegisterOutputType(K0sSpecPtrOutput{}) + pulumi.RegisterOutputType(K0sStorageOutput{}) + pulumi.RegisterOutputType(K0sStoragePtrOutput{}) + pulumi.RegisterOutputType(K0sTelemetryOutput{}) + pulumi.RegisterOutputType(K0sTelemetryPtrOutput{}) + pulumi.RegisterOutputType(K0sWorkerProfileOutput{}) + pulumi.RegisterOutputType(K0sWorkerProfileArrayOutput{}) } diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 192a0e1..ad409d8 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -5,7 +5,98 @@ import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; -export interface ClusterAPIArgs { +export interface ClusterFileArgs { + dirPerm?: pulumi.Input; + dst?: pulumi.Input; + dstDir?: pulumi.Input; + group?: pulumi.Input; + name?: pulumi.Input; + perm?: pulumi.Input; + src?: pulumi.Input; + user?: pulumi.Input; +} + +export interface ClusterHookArgs { + after?: pulumi.Input[]>; + before?: pulumi.Input[]>; +} + +export interface ClusterHooksArgs { + apply?: pulumi.Input; + backup?: pulumi.Input; + reset?: pulumi.Input; +} + +export interface ClusterHostArgs { + environment?: pulumi.Input<{[key: string]: pulumi.Input}>; + files?: pulumi.Input[]>; + hooks?: pulumi.Input; + hostname?: pulumi.Input; + installFlags?: pulumi.Input[]>; + k0sBinaryPath?: pulumi.Input; + localhost?: pulumi.Input; + noTaints?: pulumi.Input; + os?: pulumi.Input; + privateAddress?: pulumi.Input; + privateInterface?: pulumi.Input; + role: pulumi.Input; + ssh?: pulumi.Input; + uploadBinary?: pulumi.Input; + winRM?: pulumi.Input; +} + +export interface ClusterK0sArgs { + config?: pulumi.Input; + dynamicConfig?: pulumi.Input; + version?: pulumi.Input; + versionChannel?: pulumi.Input; +} + +export interface ClusterLocalhostArgs { + enabled?: pulumi.Input; +} + +export interface ClusterMetadataArgs { + name: pulumi.Input; +} + +export interface ClusterSSHArgs { + address: pulumi.Input; + bastion?: pulumi.Input; + hostKey?: pulumi.Input; + key?: pulumi.Input; + port?: pulumi.Input; + user?: pulumi.Input; +} + +export interface ClusterSpecArgs { + hosts: pulumi.Input[]>; + k0s?: pulumi.Input; +} + +export interface ClusterWinRMArgs { + address: pulumi.Input; + bastion?: pulumi.Input; + caCert?: pulumi.Input; + cert?: pulumi.Input; + insecure?: pulumi.Input; + key?: pulumi.Input; + password?: pulumi.Input; + port?: pulumi.Input; + tlsServerName?: pulumi.Input; + useHTTPS?: pulumi.Input; + useNTLM?: pulumi.Input; + user?: pulumi.Input; +} + +export interface K0sArgs { + apiVersion?: pulumi.Input; + kind?: pulumi.Input; + metadata?: pulumi.Input; + spec?: pulumi.Input; +} + +export interface K0sAPIArgs { address?: pulumi.Input; externalAddress?: pulumi.Input; extraArgs?: pulumi.Input<{[key: string]: pulumi.Input}>; @@ -14,7 +105,7 @@ export interface ClusterAPIArgs { sans?: pulumi.Input[]>; } -export interface ClusterCalicoArgs { +export interface K0sCalicoArgs { envVars?: pulumi.Input<{[key: string]: pulumi.Input}>; flexVolumeDriverPath?: pulumi.Input; ipAutodetectionMethod?: pulumi.Input; @@ -26,37 +117,37 @@ export interface ClusterCalicoArgs { wireguard?: pulumi.Input; } -export interface ClusterCalicoImageArgs { - cni?: pulumi.Input; - flexvolume?: pulumi.Input; - kubecontrollers?: pulumi.Input; - node?: pulumi.Input; +export interface K0sCalicoImageArgs { + cni?: pulumi.Input; + flexvolume?: pulumi.Input; + kubecontrollers?: pulumi.Input; + node?: pulumi.Input; } -export interface ClusterControllerManagerArgs { +export interface K0sControllerManagerArgs { extraArgs?: pulumi.Input<{[key: string]: pulumi.Input}>; } -export interface ClusterDualStackArgs { +export interface K0sDualStackArgs { IPv6podCIDR?: pulumi.Input; IPv6serviceCIDR?: pulumi.Input; enabled?: pulumi.Input; } -export interface ClusterEnvoyProxyArgs { +export interface K0sEnvoyProxyArgs { apiServerBindPort?: pulumi.Input; image?: pulumi.Input; imagePullPolicy?: pulumi.Input; konnectivityServerBindPort?: pulumi.Input; } -export interface ClusterEtcdArgs { - externalCluster?: pulumi.Input; +export interface K0sEtcdArgs { + externalCluster?: pulumi.Input; extraArgs?: pulumi.Input<{[key: string]: pulumi.Input}>; peerAddress?: pulumi.Input; } -export interface ClusterEtcdExternalClusterArgs { +export interface K0sEtcdExternalClusterArgs { ca?: pulumi.Input; clientCert?: pulumi.Input; clientKey?: pulumi.Input; @@ -64,74 +155,34 @@ export interface ClusterEtcdExternalClusterArgs { etcdPrefix?: pulumi.Input; } -export interface ClusterFeatureGateArgs { +export interface K0sFeatureGateArgs { components?: pulumi.Input[]>; enabled?: pulumi.Input; name: pulumi.Input; } -export interface ClusterFileArgs { - dirPerm?: pulumi.Input; - dst?: pulumi.Input; - dstDir?: pulumi.Input; - group?: pulumi.Input; - name?: pulumi.Input; - perm?: pulumi.Input; - src?: pulumi.Input; - user?: pulumi.Input; -} - -export interface ClusterHookArgs { - after?: pulumi.Input[]>; - before?: pulumi.Input[]>; -} - -export interface ClusterHooksArgs { - apply?: pulumi.Input; - backup?: pulumi.Input; - reset?: pulumi.Input; -} - -export interface ClusterHostArgs { - environment?: pulumi.Input<{[key: string]: pulumi.Input}>; - files?: pulumi.Input[]>; - hooks?: pulumi.Input; - hostname?: pulumi.Input; - installFlags?: pulumi.Input[]>; - k0sBinaryPath?: pulumi.Input; - localhost?: pulumi.Input; - noTaints?: pulumi.Input; - os?: pulumi.Input; - privateAddress?: pulumi.Input; - privateInterface?: pulumi.Input; - role: pulumi.Input; - ssh?: pulumi.Input; - uploadBinary?: pulumi.Input; - winRM?: pulumi.Input; -} - -export interface ClusterImageArgs { +export interface K0sImageArgs { image?: pulumi.Input; version?: pulumi.Input; } -export interface ClusterImagesArgs { - calico?: pulumi.Input; - coredns?: pulumi.Input; +export interface K0sImagesArgs { + calico?: pulumi.Input; + coredns?: pulumi.Input; default_pull_policy?: pulumi.Input; - konnectivity?: pulumi.Input; - kubeproxy?: pulumi.Input; - kuberouter?: pulumi.Input; - metricsserver?: pulumi.Input; - pause?: pulumi.Input; + konnectivity?: pulumi.Input; + kubeproxy?: pulumi.Input; + kuberouter?: pulumi.Input; + metricsserver?: pulumi.Input; + pause?: pulumi.Input; repository?: pulumi.Input; } -export interface ClusterInstallConfigArgs { - users?: pulumi.Input; +export interface K0sInstallConfigArgs { + users?: pulumi.Input; } -export interface ClusterInstallConfigUserArgs { +export interface K0sInstallConfigUserArgs { etcdUser?: pulumi.Input; kineUser?: pulumi.Input; konnectivityUser?: pulumi.Input; @@ -139,58 +190,31 @@ export interface ClusterInstallConfigUserArgs { kubeSchedulerUser?: pulumi.Input; } -export interface ClusterK0sArgs { - config?: pulumi.Input; - dynamicConfig?: pulumi.Input; - version?: pulumi.Input; - versionChannel?: pulumi.Input; -} - -export interface ClusterK0sConfigArgs { - metadata?: pulumi.Input; - spec?: pulumi.Input; -} - -export interface ClusterK0sSpecArgs { - api?: pulumi.Input; - controllerManager?: pulumi.Input; - featureGates?: pulumi.Input[]>; - images?: pulumi.Input; - installConfig?: pulumi.Input; - konnectivity?: pulumi.Input; - network?: pulumi.Input; - podSecurityPolicy?: pulumi.Input; - scheduler?: pulumi.Input; - storage?: pulumi.Input; - telemetry?: pulumi.Input; - workerProfiles?: pulumi.Input[]>; -} - -export interface ClusterKineArgs { +export interface K0sKineArgs { dataSource: pulumi.Input; } -export interface ClusterKonnectivityArgs { +export interface K0sKonnectivityArgs { adminPort?: pulumi.Input; agentPort?: pulumi.Input; } -export interface ClusterKubeProxyArgs { +export interface K0sKubeProxyArgs { disabled?: pulumi.Input; - iptables?: pulumi.Input; - ipvs?: pulumi.Input; + iptables?: pulumi.Input; + ipvs?: pulumi.Input; mode?: pulumi.Input; nodePortAddresses?: pulumi.Input; } -export interface ClusterKubeProxyIPTablesArgs { +export interface K0sKubeProxyIPTablesArgs { masqueradeAll?: pulumi.Input; masqueradeBit?: pulumi.Input; minSyncPeriod?: pulumi.Input; syncPeriod?: pulumi.Input; } -export interface ClusterKubeProxyIPVSArgs { +export interface K0sKubeProxyIPVSArgs { excludeCIDRs?: pulumi.Input; minSyncPeriod?: pulumi.Input; scheduler?: pulumi.Input; @@ -201,7 +225,7 @@ export interface ClusterKubeProxyIPVSArgs { udpTimeout?: pulumi.Input; } -export interface ClusterKubeRouterArgs { +export interface K0sKubeRouterArgs { autoMTU?: pulumi.Input; extraArgs?: pulumi.Input<{[key: string]: pulumi.Input}>; hairpin?: pulumi.Input; @@ -210,85 +234,67 @@ export interface ClusterKubeRouterArgs { mtu?: pulumi.Input; } -export interface ClusterKubeRouterImageArgs { - cni?: pulumi.Input; - cniInstaller?: pulumi.Input; +export interface K0sKubeRouterImageArgs { + cni?: pulumi.Input; + cniInstaller?: pulumi.Input; } -export interface ClusterLocalhostArgs { - enabled?: pulumi.Input; -} - -export interface ClusterMetadataArgs { +export interface K0sMetadataArgs { name: pulumi.Input; } -export interface ClusterNetworkArgs { - calico?: pulumi.Input; +export interface K0sNetworkArgs { + calico?: pulumi.Input; clusterDomain?: pulumi.Input; - dualStack?: pulumi.Input; - kubeProxy?: pulumi.Input; - kuberouter?: pulumi.Input; - nodeLocalLoadBalancing?: pulumi.Input; + dualStack?: pulumi.Input; + kubeProxy?: pulumi.Input; + kuberouter?: pulumi.Input; + nodeLocalLoadBalancing?: pulumi.Input; podCIDR?: pulumi.Input; provider?: pulumi.Input; serviceCIDR?: pulumi.Input; } -export interface ClusterNodeLocalLoadBalancingArgs { +export interface K0sNodeLocalLoadBalancingArgs { enabled?: pulumi.Input; - envoyProxy?: pulumi.Input; + envoyProxy?: pulumi.Input; type?: pulumi.Input; } -export interface ClusterPodSecurityPolicyArgs { +export interface K0sPodSecurityPolicyArgs { defaultPolicy?: pulumi.Input; } -export interface ClusterSSHArgs { - address: pulumi.Input; - bastion?: pulumi.Input; - hostKey?: pulumi.Input; - key?: pulumi.Input; - port?: pulumi.Input; - user?: pulumi.Input; -} - -export interface ClusterSchedulerArgs { +export interface K0sSchedulerArgs { extraArgs?: pulumi.Input<{[key: string]: pulumi.Input}>; } -export interface ClusterSpecArgs { - hosts: pulumi.Input[]>; - k0s?: pulumi.Input; -} - -export interface ClusterStorageArgs { - etcd?: pulumi.Input; - kine?: pulumi.Input; +export interface K0sSpecArgs { + api?: pulumi.Input; + controllerManager?: pulumi.Input; + featureGates?: pulumi.Input[]>; + images?: pulumi.Input; + installConfig?: pulumi.Input; + konnectivity?: pulumi.Input; + network?: pulumi.Input; + podSecurityPolicy?: pulumi.Input; + scheduler?: pulumi.Input; + storage?: pulumi.Input; + telemetry?: pulumi.Input; + workerProfiles?: pulumi.Input[]>; +} + +export interface K0sStorageArgs { + etcd?: pulumi.Input; + kine?: pulumi.Input; type?: pulumi.Input; } -export interface ClusterTelemetryArgs { +export interface K0sTelemetryArgs { enabled?: pulumi.Input; } -export interface ClusterWinRMArgs { - address: pulumi.Input; - bastion?: pulumi.Input; - caCert?: pulumi.Input; - cert?: pulumi.Input; - insecure?: pulumi.Input; - key?: pulumi.Input; - password?: pulumi.Input; - port?: pulumi.Input; - tlsServerName?: pulumi.Input; - useHTTPS?: pulumi.Input; - useNTLM?: pulumi.Input; - user?: pulumi.Input; -} - -export interface ClusterWorkerProfileArgs { +export interface K0sWorkerProfileArgs { name: pulumi.Input; values: pulumi.Input<{[key: string]: any}>; } diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 4ec7baf..1dfa78d 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -5,7 +5,98 @@ import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; -export interface ClusterAPI { +export interface ClusterFile { + dirPerm?: string; + dst?: string; + dstDir?: string; + group?: string; + name?: string; + perm?: string; + src?: string; + user?: string; +} + +export interface ClusterHook { + after?: string[]; + before?: string[]; +} + +export interface ClusterHooks { + apply?: outputs.ClusterHook; + backup?: outputs.ClusterHook; + reset?: outputs.ClusterHook; +} + +export interface ClusterHost { + environment?: {[key: string]: string}; + files?: outputs.ClusterFile[]; + hooks?: outputs.ClusterHooks; + hostname?: string; + installFlags?: string[]; + k0sBinaryPath?: string; + localhost?: outputs.ClusterLocalhost; + noTaints?: boolean; + os?: string; + privateAddress?: string; + privateInterface?: string; + role: string; + ssh?: outputs.ClusterSSH; + uploadBinary?: boolean; + winRM?: outputs.ClusterWinRM; +} + +export interface ClusterK0s { + config?: outputs.K0s; + dynamicConfig?: boolean; + version?: string; + versionChannel?: string; +} + +export interface ClusterLocalhost { + enabled?: boolean; +} + +export interface ClusterMetadata { + name: string; +} + +export interface ClusterSSH { + address: string; + bastion?: outputs.ClusterSSH; + hostKey?: string; + key?: string; + port?: number; + user?: string; +} + +export interface ClusterSpec { + hosts: outputs.ClusterHost[]; + k0s?: outputs.ClusterK0s; +} + +export interface ClusterWinRM { + address: string; + bastion?: outputs.ClusterSSH; + caCert?: string; + cert?: string; + insecure?: boolean; + key?: string; + password?: string; + port?: number; + tlsServerName?: string; + useHTTPS?: boolean; + useNTLM?: boolean; + user?: string; +} + +export interface K0s { + apiVersion?: string; + kind?: string; + metadata?: outputs.K0sMetadata; + spec?: outputs.K0sSpec; +} + +export interface K0sAPI { address?: string; externalAddress?: string; extraArgs?: {[key: string]: string}; @@ -14,7 +105,7 @@ export interface ClusterAPI { sans?: string[]; } -export interface ClusterCalico { +export interface K0sCalico { envVars?: {[key: string]: string}; flexVolumeDriverPath?: string; ipAutodetectionMethod?: string; @@ -26,37 +117,37 @@ export interface ClusterCalico { wireguard?: boolean; } -export interface ClusterCalicoImage { - cni?: outputs.ClusterImage; - flexvolume?: outputs.ClusterImage; - kubecontrollers?: outputs.ClusterImage; - node?: outputs.ClusterImage; +export interface K0sCalicoImage { + cni?: outputs.K0sImage; + flexvolume?: outputs.K0sImage; + kubecontrollers?: outputs.K0sImage; + node?: outputs.K0sImage; } -export interface ClusterControllerManager { +export interface K0sControllerManager { extraArgs?: {[key: string]: string}; } -export interface ClusterDualStack { +export interface K0sDualStack { IPv6podCIDR?: string; IPv6serviceCIDR?: string; enabled?: boolean; } -export interface ClusterEnvoyProxy { +export interface K0sEnvoyProxy { apiServerBindPort?: number; image?: string; imagePullPolicy?: string; konnectivityServerBindPort?: number; } -export interface ClusterEtcd { - externalCluster?: outputs.ClusterEtcdExternalCluster; +export interface K0sEtcd { + externalCluster?: outputs.K0sEtcdExternalCluster; extraArgs?: {[key: string]: string}; peerAddress?: string; } -export interface ClusterEtcdExternalCluster { +export interface K0sEtcdExternalCluster { ca?: string; clientCert?: string; clientKey?: string; @@ -64,74 +155,34 @@ export interface ClusterEtcdExternalCluster { etcdPrefix?: string; } -export interface ClusterFeatureGate { +export interface K0sFeatureGate { components?: string[]; enabled?: boolean; name: string; } -export interface ClusterFile { - dirPerm?: string; - dst?: string; - dstDir?: string; - group?: string; - name?: string; - perm?: string; - src?: string; - user?: string; -} - -export interface ClusterHook { - after?: string[]; - before?: string[]; -} - -export interface ClusterHooks { - apply?: outputs.ClusterHook; - backup?: outputs.ClusterHook; - reset?: outputs.ClusterHook; -} - -export interface ClusterHost { - environment?: {[key: string]: string}; - files?: outputs.ClusterFile[]; - hooks?: outputs.ClusterHooks; - hostname?: string; - installFlags?: string[]; - k0sBinaryPath?: string; - localhost?: outputs.ClusterLocalhost; - noTaints?: boolean; - os?: string; - privateAddress?: string; - privateInterface?: string; - role: string; - ssh?: outputs.ClusterSSH; - uploadBinary?: boolean; - winRM?: outputs.ClusterWinRM; -} - -export interface ClusterImage { +export interface K0sImage { image?: string; version?: string; } -export interface ClusterImages { - calico?: outputs.ClusterCalicoImage; - coredns?: outputs.ClusterImage; +export interface K0sImages { + calico?: outputs.K0sCalicoImage; + coredns?: outputs.K0sImage; default_pull_policy?: string; - konnectivity?: outputs.ClusterImage; - kubeproxy?: outputs.ClusterImage; - kuberouter?: outputs.ClusterKubeRouterImage; - metricsserver?: outputs.ClusterImage; - pause?: outputs.ClusterImage; + konnectivity?: outputs.K0sImage; + kubeproxy?: outputs.K0sImage; + kuberouter?: outputs.K0sKubeRouterImage; + metricsserver?: outputs.K0sImage; + pause?: outputs.K0sImage; repository?: string; } -export interface ClusterInstallConfig { - users?: outputs.ClusterInstallConfigUser; +export interface K0sInstallConfig { + users?: outputs.K0sInstallConfigUser; } -export interface ClusterInstallConfigUser { +export interface K0sInstallConfigUser { etcdUser?: string; kineUser?: string; konnectivityUser?: string; @@ -139,58 +190,31 @@ export interface ClusterInstallConfigUser { kubeSchedulerUser?: string; } -export interface ClusterK0s { - config?: outputs.ClusterK0sConfig; - dynamicConfig?: boolean; - version?: string; - versionChannel?: string; -} - -export interface ClusterK0sConfig { - metadata?: outputs.ClusterMetadata; - spec?: outputs.ClusterK0sSpec; -} - -export interface ClusterK0sSpec { - api?: outputs.ClusterAPI; - controllerManager?: outputs.ClusterControllerManager; - featureGates?: outputs.ClusterFeatureGate[]; - images?: outputs.ClusterImages; - installConfig?: outputs.ClusterInstallConfig; - konnectivity?: outputs.ClusterKonnectivity; - network?: outputs.ClusterNetwork; - podSecurityPolicy?: outputs.ClusterPodSecurityPolicy; - scheduler?: outputs.ClusterScheduler; - storage?: outputs.ClusterStorage; - telemetry?: outputs.ClusterTelemetry; - workerProfiles?: outputs.ClusterWorkerProfile[]; -} - -export interface ClusterKine { +export interface K0sKine { dataSource: string; } -export interface ClusterKonnectivity { +export interface K0sKonnectivity { adminPort?: number; agentPort?: number; } -export interface ClusterKubeProxy { +export interface K0sKubeProxy { disabled?: boolean; - iptables?: outputs.ClusterKubeProxyIPTables; - ipvs?: outputs.ClusterKubeProxyIPVS; + iptables?: outputs.K0sKubeProxyIPTables; + ipvs?: outputs.K0sKubeProxyIPVS; mode?: string; nodePortAddresses?: string; } -export interface ClusterKubeProxyIPTables { +export interface K0sKubeProxyIPTables { masqueradeAll?: boolean; masqueradeBit?: number; minSyncPeriod?: string; syncPeriod?: string; } -export interface ClusterKubeProxyIPVS { +export interface K0sKubeProxyIPVS { excludeCIDRs?: string; minSyncPeriod?: string; scheduler?: string; @@ -201,7 +225,7 @@ export interface ClusterKubeProxyIPVS { udpTimeout?: string; } -export interface ClusterKubeRouter { +export interface K0sKubeRouter { autoMTU?: boolean; extraArgs?: {[key: string]: string}; hairpin?: string; @@ -210,85 +234,67 @@ export interface ClusterKubeRouter { mtu?: number; } -export interface ClusterKubeRouterImage { - cni?: outputs.ClusterImage; - cniInstaller?: outputs.ClusterImage; +export interface K0sKubeRouterImage { + cni?: outputs.K0sImage; + cniInstaller?: outputs.K0sImage; } -export interface ClusterLocalhost { - enabled?: boolean; -} - -export interface ClusterMetadata { +export interface K0sMetadata { name: string; } -export interface ClusterNetwork { - calico?: outputs.ClusterCalico; +export interface K0sNetwork { + calico?: outputs.K0sCalico; clusterDomain?: string; - dualStack?: outputs.ClusterDualStack; - kubeProxy?: outputs.ClusterKubeProxy; - kuberouter?: outputs.ClusterKubeRouter; - nodeLocalLoadBalancing?: outputs.ClusterNodeLocalLoadBalancing; + dualStack?: outputs.K0sDualStack; + kubeProxy?: outputs.K0sKubeProxy; + kuberouter?: outputs.K0sKubeRouter; + nodeLocalLoadBalancing?: outputs.K0sNodeLocalLoadBalancing; podCIDR?: string; provider?: string; serviceCIDR?: string; } -export interface ClusterNodeLocalLoadBalancing { +export interface K0sNodeLocalLoadBalancing { enabled?: boolean; - envoyProxy?: outputs.ClusterEnvoyProxy; + envoyProxy?: outputs.K0sEnvoyProxy; type?: string; } -export interface ClusterPodSecurityPolicy { +export interface K0sPodSecurityPolicy { defaultPolicy?: string; } -export interface ClusterSSH { - address: string; - bastion?: outputs.ClusterSSH; - hostKey?: string; - key?: string; - port?: number; - user?: string; -} - -export interface ClusterScheduler { +export interface K0sScheduler { extraArgs?: {[key: string]: string}; } -export interface ClusterSpec { - hosts: outputs.ClusterHost[]; - k0s?: outputs.ClusterK0s; -} - -export interface ClusterStorage { - etcd?: outputs.ClusterEtcd; - kine?: outputs.ClusterKine; +export interface K0sSpec { + api?: outputs.K0sAPI; + controllerManager?: outputs.K0sControllerManager; + featureGates?: outputs.K0sFeatureGate[]; + images?: outputs.K0sImages; + installConfig?: outputs.K0sInstallConfig; + konnectivity?: outputs.K0sKonnectivity; + network?: outputs.K0sNetwork; + podSecurityPolicy?: outputs.K0sPodSecurityPolicy; + scheduler?: outputs.K0sScheduler; + storage?: outputs.K0sStorage; + telemetry?: outputs.K0sTelemetry; + workerProfiles?: outputs.K0sWorkerProfile[]; +} + +export interface K0sStorage { + etcd?: outputs.K0sEtcd; + kine?: outputs.K0sKine; type?: string; } -export interface ClusterTelemetry { +export interface K0sTelemetry { enabled?: boolean; } -export interface ClusterWinRM { - address: string; - bastion?: outputs.ClusterSSH; - caCert?: string; - cert?: string; - insecure?: boolean; - key?: string; - password?: string; - port?: number; - tlsServerName?: string; - useHTTPS?: boolean; - useNTLM?: boolean; - user?: string; -} - -export interface ClusterWorkerProfile { +export interface K0sWorkerProfile { name: string; values: {[key: string]: any}; } diff --git a/sdk/python/pulumi_k0s/_inputs.py b/sdk/python/pulumi_k0s/_inputs.py index b7b1754..e15f2f7 100644 --- a/sdk/python/pulumi_k0s/_inputs.py +++ b/sdk/python/pulumi_k0s/_inputs.py @@ -10,1023 +10,1066 @@ from . import _utilities __all__ = [ - 'ClusterAPIArgs', - 'ClusterCalicoImageArgs', - 'ClusterCalicoArgs', - 'ClusterControllerManagerArgs', - 'ClusterDualStackArgs', - 'ClusterEnvoyProxyArgs', - 'ClusterEtcdExternalClusterArgs', - 'ClusterEtcdArgs', - 'ClusterFeatureGateArgs', 'ClusterFileArgs', 'ClusterHooksArgs', 'ClusterHookArgs', 'ClusterHostArgs', - 'ClusterImagesArgs', - 'ClusterImageArgs', - 'ClusterInstallConfigUserArgs', - 'ClusterInstallConfigArgs', - 'ClusterK0sConfigArgs', - 'ClusterK0sSpecArgs', 'ClusterK0sArgs', - 'ClusterKineArgs', - 'ClusterKonnectivityArgs', - 'ClusterKubeProxyIPTablesArgs', - 'ClusterKubeProxyIPVSArgs', - 'ClusterKubeProxyArgs', - 'ClusterKubeRouterImageArgs', - 'ClusterKubeRouterArgs', 'ClusterLocalhostArgs', 'ClusterMetadataArgs', - 'ClusterNetworkArgs', - 'ClusterNodeLocalLoadBalancingArgs', - 'ClusterPodSecurityPolicyArgs', 'ClusterSSHArgs', - 'ClusterSchedulerArgs', 'ClusterSpecArgs', - 'ClusterStorageArgs', - 'ClusterTelemetryArgs', 'ClusterWinRMArgs', - 'ClusterWorkerProfileArgs', + 'K0sAPIArgs', + 'K0sCalicoImageArgs', + 'K0sCalicoArgs', + 'K0sControllerManagerArgs', + 'K0sDualStackArgs', + 'K0sEnvoyProxyArgs', + 'K0sEtcdExternalClusterArgs', + 'K0sEtcdArgs', + 'K0sFeatureGateArgs', + 'K0sImagesArgs', + 'K0sImageArgs', + 'K0sInstallConfigUserArgs', + 'K0sInstallConfigArgs', + 'K0sKineArgs', + 'K0sKonnectivityArgs', + 'K0sKubeProxyIPTablesArgs', + 'K0sKubeProxyIPVSArgs', + 'K0sKubeProxyArgs', + 'K0sKubeRouterImageArgs', + 'K0sKubeRouterArgs', + 'K0sMetadataArgs', + 'K0sNetworkArgs', + 'K0sNodeLocalLoadBalancingArgs', + 'K0sPodSecurityPolicyArgs', + 'K0sSchedulerArgs', + 'K0sSpecArgs', + 'K0sStorageArgs', + 'K0sTelemetryArgs', + 'K0sWorkerProfileArgs', + 'K0sArgs', ] @pulumi.input_type -class ClusterAPIArgs: +class ClusterFileArgs: def __init__(__self__, *, - address: Optional[pulumi.Input[str]] = None, - external_address: Optional[pulumi.Input[str]] = None, - extra_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - k0s_api_port: Optional[pulumi.Input[int]] = None, - port: Optional[pulumi.Input[int]] = None, - sans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): - if address is not None: - pulumi.set(__self__, "address", address) - if external_address is not None: - pulumi.set(__self__, "external_address", external_address) - if extra_args is not None: - pulumi.set(__self__, "extra_args", extra_args) - if k0s_api_port is not None: - pulumi.set(__self__, "k0s_api_port", k0s_api_port) - if port is not None: - pulumi.set(__self__, "port", port) - if sans is not None: - pulumi.set(__self__, "sans", sans) - - @property - @pulumi.getter - def address(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "address") - - @address.setter - def address(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "address", value) - - @property - @pulumi.getter(name="externalAddress") - def external_address(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "external_address") - - @external_address.setter - def external_address(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "external_address", value) + dir_perm: Optional[pulumi.Input[str]] = None, + dst: Optional[pulumi.Input[str]] = None, + dst_dir: Optional[pulumi.Input[str]] = None, + group: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + perm: Optional[pulumi.Input[str]] = None, + src: Optional[pulumi.Input[str]] = None, + user: Optional[pulumi.Input[str]] = None): + if dir_perm is not None: + pulumi.set(__self__, "dir_perm", dir_perm) + if dst is not None: + pulumi.set(__self__, "dst", dst) + if dst_dir is not None: + pulumi.set(__self__, "dst_dir", dst_dir) + if group is not None: + pulumi.set(__self__, "group", group) + if name is not None: + pulumi.set(__self__, "name", name) + if perm is not None: + pulumi.set(__self__, "perm", perm) + if src is not None: + pulumi.set(__self__, "src", src) + if user is not None: + pulumi.set(__self__, "user", user) @property - @pulumi.getter(name="extraArgs") - def extra_args(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - return pulumi.get(self, "extra_args") + @pulumi.getter(name="dirPerm") + def dir_perm(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "dir_perm") - @extra_args.setter - def extra_args(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "extra_args", value) + @dir_perm.setter + def dir_perm(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dir_perm", value) @property - @pulumi.getter(name="k0sApiPort") - def k0s_api_port(self) -> Optional[pulumi.Input[int]]: - return pulumi.get(self, "k0s_api_port") + @pulumi.getter + def dst(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "dst") - @k0s_api_port.setter - def k0s_api_port(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "k0s_api_port", value) + @dst.setter + def dst(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dst", value) @property - @pulumi.getter - def port(self) -> Optional[pulumi.Input[int]]: - return pulumi.get(self, "port") + @pulumi.getter(name="dstDir") + def dst_dir(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "dst_dir") - @port.setter - def port(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "port", value) + @dst_dir.setter + def dst_dir(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dst_dir", value) @property @pulumi.getter - def sans(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - return pulumi.get(self, "sans") - - @sans.setter - def sans(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "sans", value) - + def group(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "group") -@pulumi.input_type -class ClusterCalicoImageArgs: - def __init__(__self__, *, - cni: Optional[pulumi.Input['ClusterImageArgs']] = None, - flexvolume: Optional[pulumi.Input['ClusterImageArgs']] = None, - kubecontrollers: Optional[pulumi.Input['ClusterImageArgs']] = None, - node: Optional[pulumi.Input['ClusterImageArgs']] = None): - if cni is not None: - pulumi.set(__self__, "cni", cni) - if flexvolume is not None: - pulumi.set(__self__, "flexvolume", flexvolume) - if kubecontrollers is not None: - pulumi.set(__self__, "kubecontrollers", kubecontrollers) - if node is not None: - pulumi.set(__self__, "node", node) + @group.setter + def group(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group", value) @property @pulumi.getter - def cni(self) -> Optional[pulumi.Input['ClusterImageArgs']]: - return pulumi.get(self, "cni") + def name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "name") - @cni.setter - def cni(self, value: Optional[pulumi.Input['ClusterImageArgs']]): - pulumi.set(self, "cni", value) + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) @property @pulumi.getter - def flexvolume(self) -> Optional[pulumi.Input['ClusterImageArgs']]: - return pulumi.get(self, "flexvolume") + def perm(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "perm") - @flexvolume.setter - def flexvolume(self, value: Optional[pulumi.Input['ClusterImageArgs']]): - pulumi.set(self, "flexvolume", value) + @perm.setter + def perm(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "perm", value) @property @pulumi.getter - def kubecontrollers(self) -> Optional[pulumi.Input['ClusterImageArgs']]: - return pulumi.get(self, "kubecontrollers") + def src(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "src") - @kubecontrollers.setter - def kubecontrollers(self, value: Optional[pulumi.Input['ClusterImageArgs']]): - pulumi.set(self, "kubecontrollers", value) + @src.setter + def src(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "src", value) @property @pulumi.getter - def node(self) -> Optional[pulumi.Input['ClusterImageArgs']]: - return pulumi.get(self, "node") + def user(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "user") - @node.setter - def node(self, value: Optional[pulumi.Input['ClusterImageArgs']]): - pulumi.set(self, "node", value) + @user.setter + def user(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user", value) @pulumi.input_type -class ClusterCalicoArgs: +class ClusterHooksArgs: def __init__(__self__, *, - env_vars: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - flex_volume_driver_path: Optional[pulumi.Input[str]] = None, - ip_autodetection_method: Optional[pulumi.Input[str]] = None, - mode: Optional[pulumi.Input[str]] = None, - mtu: Optional[pulumi.Input[int]] = None, - overlay: Optional[pulumi.Input[str]] = None, - vxlan_port: Optional[pulumi.Input[int]] = None, - vxlan_vni: Optional[pulumi.Input[int]] = None, - wireguard: Optional[pulumi.Input[bool]] = None): - if env_vars is not None: - pulumi.set(__self__, "env_vars", env_vars) - if flex_volume_driver_path is not None: - pulumi.set(__self__, "flex_volume_driver_path", flex_volume_driver_path) - if ip_autodetection_method is not None: - pulumi.set(__self__, "ip_autodetection_method", ip_autodetection_method) - if mode is not None: - pulumi.set(__self__, "mode", mode) - if mtu is not None: - pulumi.set(__self__, "mtu", mtu) - if overlay is not None: - pulumi.set(__self__, "overlay", overlay) - if vxlan_port is not None: - pulumi.set(__self__, "vxlan_port", vxlan_port) - if vxlan_vni is not None: - pulumi.set(__self__, "vxlan_vni", vxlan_vni) - if wireguard is not None: - pulumi.set(__self__, "wireguard", wireguard) - - @property - @pulumi.getter(name="envVars") - def env_vars(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - return pulumi.get(self, "env_vars") - - @env_vars.setter - def env_vars(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "env_vars", value) - - @property - @pulumi.getter(name="flexVolumeDriverPath") - def flex_volume_driver_path(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "flex_volume_driver_path") - - @flex_volume_driver_path.setter - def flex_volume_driver_path(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "flex_volume_driver_path", value) - - @property - @pulumi.getter(name="ipAutodetectionMethod") - def ip_autodetection_method(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "ip_autodetection_method") - - @ip_autodetection_method.setter - def ip_autodetection_method(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "ip_autodetection_method", value) + apply: Optional[pulumi.Input['ClusterHookArgs']] = None, + backup: Optional[pulumi.Input['ClusterHookArgs']] = None, + reset: Optional[pulumi.Input['ClusterHookArgs']] = None): + if apply is not None: + pulumi.set(__self__, "apply", apply) + if backup is not None: + pulumi.set(__self__, "backup", backup) + if reset is not None: + pulumi.set(__self__, "reset", reset) @property @pulumi.getter - def mode(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "mode") + def apply(self) -> Optional[pulumi.Input['ClusterHookArgs']]: + return pulumi.get(self, "apply") - @mode.setter - def mode(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "mode", value) + @apply.setter + def apply(self, value: Optional[pulumi.Input['ClusterHookArgs']]): + pulumi.set(self, "apply", value) @property @pulumi.getter - def mtu(self) -> Optional[pulumi.Input[int]]: - return pulumi.get(self, "mtu") + def backup(self) -> Optional[pulumi.Input['ClusterHookArgs']]: + return pulumi.get(self, "backup") - @mtu.setter - def mtu(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "mtu", value) + @backup.setter + def backup(self, value: Optional[pulumi.Input['ClusterHookArgs']]): + pulumi.set(self, "backup", value) @property @pulumi.getter - def overlay(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "overlay") + def reset(self) -> Optional[pulumi.Input['ClusterHookArgs']]: + return pulumi.get(self, "reset") - @overlay.setter - def overlay(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "overlay", value) + @reset.setter + def reset(self, value: Optional[pulumi.Input['ClusterHookArgs']]): + pulumi.set(self, "reset", value) - @property - @pulumi.getter(name="vxlanPort") - def vxlan_port(self) -> Optional[pulumi.Input[int]]: - return pulumi.get(self, "vxlan_port") - @vxlan_port.setter - def vxlan_port(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "vxlan_port", value) +@pulumi.input_type +class ClusterHookArgs: + def __init__(__self__, *, + after: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + before: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + if after is not None: + pulumi.set(__self__, "after", after) + if before is not None: + pulumi.set(__self__, "before", before) @property - @pulumi.getter(name="vxlanVNI") - def vxlan_vni(self) -> Optional[pulumi.Input[int]]: - return pulumi.get(self, "vxlan_vni") + @pulumi.getter + def after(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "after") - @vxlan_vni.setter - def vxlan_vni(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "vxlan_vni", value) + @after.setter + def after(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "after", value) @property @pulumi.getter - def wireguard(self) -> Optional[pulumi.Input[bool]]: - return pulumi.get(self, "wireguard") + def before(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "before") - @wireguard.setter - def wireguard(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "wireguard", value) + @before.setter + def before(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "before", value) @pulumi.input_type -class ClusterControllerManagerArgs: +class ClusterHostArgs: def __init__(__self__, *, - extra_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): - if extra_args is not None: - pulumi.set(__self__, "extra_args", extra_args) + role: pulumi.Input[str], + environment: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + files: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterFileArgs']]]] = None, + hooks: Optional[pulumi.Input['ClusterHooksArgs']] = None, + hostname: Optional[pulumi.Input[str]] = None, + install_flags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + k0s_binary_path: Optional[pulumi.Input[str]] = None, + localhost: Optional[pulumi.Input['ClusterLocalhostArgs']] = None, + no_taints: Optional[pulumi.Input[bool]] = None, + os: Optional[pulumi.Input[str]] = None, + private_address: Optional[pulumi.Input[str]] = None, + private_interface: Optional[pulumi.Input[str]] = None, + ssh: Optional[pulumi.Input['ClusterSSHArgs']] = None, + upload_binary: Optional[pulumi.Input[bool]] = None, + win_rm: Optional[pulumi.Input['ClusterWinRMArgs']] = None): + pulumi.set(__self__, "role", role) + if environment is not None: + pulumi.set(__self__, "environment", environment) + if files is not None: + pulumi.set(__self__, "files", files) + if hooks is not None: + pulumi.set(__self__, "hooks", hooks) + if hostname is not None: + pulumi.set(__self__, "hostname", hostname) + if install_flags is not None: + pulumi.set(__self__, "install_flags", install_flags) + if k0s_binary_path is not None: + pulumi.set(__self__, "k0s_binary_path", k0s_binary_path) + if localhost is not None: + pulumi.set(__self__, "localhost", localhost) + if no_taints is not None: + pulumi.set(__self__, "no_taints", no_taints) + if os is not None: + pulumi.set(__self__, "os", os) + if private_address is not None: + pulumi.set(__self__, "private_address", private_address) + if private_interface is not None: + pulumi.set(__self__, "private_interface", private_interface) + if ssh is not None: + pulumi.set(__self__, "ssh", ssh) + if upload_binary is not None: + pulumi.set(__self__, "upload_binary", upload_binary) + if win_rm is not None: + pulumi.set(__self__, "win_rm", win_rm) @property - @pulumi.getter(name="extraArgs") - def extra_args(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - return pulumi.get(self, "extra_args") + @pulumi.getter + def role(self) -> pulumi.Input[str]: + return pulumi.get(self, "role") - @extra_args.setter - def extra_args(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "extra_args", value) + @role.setter + def role(self, value: pulumi.Input[str]): + pulumi.set(self, "role", value) + @property + @pulumi.getter + def environment(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "environment") -@pulumi.input_type -class ClusterDualStackArgs: - def __init__(__self__, *, - i_pv6pod_cidr: Optional[pulumi.Input[str]] = None, - i_pv6service_cidr: Optional[pulumi.Input[str]] = None, - enabled: Optional[pulumi.Input[bool]] = None): - if i_pv6pod_cidr is not None: - pulumi.set(__self__, "i_pv6pod_cidr", i_pv6pod_cidr) - if i_pv6service_cidr is not None: - pulumi.set(__self__, "i_pv6service_cidr", i_pv6service_cidr) - if enabled is not None: - pulumi.set(__self__, "enabled", enabled) + @environment.setter + def environment(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "environment", value) @property - @pulumi.getter(name="IPv6podCIDR") - def i_pv6pod_cidr(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "i_pv6pod_cidr") + @pulumi.getter + def files(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterFileArgs']]]]: + return pulumi.get(self, "files") - @i_pv6pod_cidr.setter - def i_pv6pod_cidr(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "i_pv6pod_cidr", value) + @files.setter + def files(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterFileArgs']]]]): + pulumi.set(self, "files", value) @property - @pulumi.getter(name="IPv6serviceCIDR") - def i_pv6service_cidr(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "i_pv6service_cidr") + @pulumi.getter + def hooks(self) -> Optional[pulumi.Input['ClusterHooksArgs']]: + return pulumi.get(self, "hooks") - @i_pv6service_cidr.setter - def i_pv6service_cidr(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "i_pv6service_cidr", value) + @hooks.setter + def hooks(self, value: Optional[pulumi.Input['ClusterHooksArgs']]): + pulumi.set(self, "hooks", value) @property @pulumi.getter - def enabled(self) -> Optional[pulumi.Input[bool]]: - return pulumi.get(self, "enabled") + def hostname(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "hostname") - @enabled.setter - def enabled(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "enabled", value) + @hostname.setter + def hostname(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "hostname", value) + @property + @pulumi.getter(name="installFlags") + def install_flags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "install_flags") -@pulumi.input_type -class ClusterEnvoyProxyArgs: - def __init__(__self__, *, - api_server_bind_port: Optional[pulumi.Input[int]] = None, - image: Optional[pulumi.Input[str]] = None, - image_pull_policy: Optional[pulumi.Input[str]] = None, - konnectivity_server_bind_port: Optional[pulumi.Input[int]] = None): - if api_server_bind_port is not None: - pulumi.set(__self__, "api_server_bind_port", api_server_bind_port) - if image is not None: - pulumi.set(__self__, "image", image) - if image_pull_policy is not None: - pulumi.set(__self__, "image_pull_policy", image_pull_policy) - if konnectivity_server_bind_port is not None: - pulumi.set(__self__, "konnectivity_server_bind_port", konnectivity_server_bind_port) + @install_flags.setter + def install_flags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "install_flags", value) @property - @pulumi.getter(name="apiServerBindPort") - def api_server_bind_port(self) -> Optional[pulumi.Input[int]]: - return pulumi.get(self, "api_server_bind_port") + @pulumi.getter(name="k0sBinaryPath") + def k0s_binary_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "k0s_binary_path") - @api_server_bind_port.setter - def api_server_bind_port(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "api_server_bind_port", value) + @k0s_binary_path.setter + def k0s_binary_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "k0s_binary_path", value) @property @pulumi.getter - def image(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "image") + def localhost(self) -> Optional[pulumi.Input['ClusterLocalhostArgs']]: + return pulumi.get(self, "localhost") - @image.setter - def image(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "image", value) + @localhost.setter + def localhost(self, value: Optional[pulumi.Input['ClusterLocalhostArgs']]): + pulumi.set(self, "localhost", value) @property - @pulumi.getter(name="imagePullPolicy") - def image_pull_policy(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "image_pull_policy") + @pulumi.getter(name="noTaints") + def no_taints(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "no_taints") - @image_pull_policy.setter - def image_pull_policy(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "image_pull_policy", value) + @no_taints.setter + def no_taints(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "no_taints", value) @property - @pulumi.getter(name="konnectivityServerBindPort") - def konnectivity_server_bind_port(self) -> Optional[pulumi.Input[int]]: - return pulumi.get(self, "konnectivity_server_bind_port") - - @konnectivity_server_bind_port.setter - def konnectivity_server_bind_port(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "konnectivity_server_bind_port", value) - + @pulumi.getter + def os(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "os") -@pulumi.input_type -class ClusterEtcdExternalClusterArgs: - def __init__(__self__, *, - endpoints: pulumi.Input[Sequence[pulumi.Input[str]]], - ca: Optional[pulumi.Input[str]] = None, - client_cert: Optional[pulumi.Input[str]] = None, - client_key: Optional[pulumi.Input[str]] = None, - etcd_prefix: Optional[pulumi.Input[str]] = None): - pulumi.set(__self__, "endpoints", endpoints) - if ca is not None: - pulumi.set(__self__, "ca", ca) - if client_cert is not None: - pulumi.set(__self__, "client_cert", client_cert) - if client_key is not None: - pulumi.set(__self__, "client_key", client_key) - if etcd_prefix is not None: - pulumi.set(__self__, "etcd_prefix", etcd_prefix) + @os.setter + def os(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "os", value) @property - @pulumi.getter - def endpoints(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - return pulumi.get(self, "endpoints") + @pulumi.getter(name="privateAddress") + def private_address(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "private_address") - @endpoints.setter - def endpoints(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "endpoints", value) + @private_address.setter + def private_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "private_address", value) @property - @pulumi.getter - def ca(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "ca") + @pulumi.getter(name="privateInterface") + def private_interface(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "private_interface") - @ca.setter - def ca(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "ca", value) + @private_interface.setter + def private_interface(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "private_interface", value) @property - @pulumi.getter(name="clientCert") - def client_cert(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "client_cert") + @pulumi.getter + def ssh(self) -> Optional[pulumi.Input['ClusterSSHArgs']]: + return pulumi.get(self, "ssh") - @client_cert.setter - def client_cert(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "client_cert", value) + @ssh.setter + def ssh(self, value: Optional[pulumi.Input['ClusterSSHArgs']]): + pulumi.set(self, "ssh", value) @property - @pulumi.getter(name="clientKey") - def client_key(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "client_key") + @pulumi.getter(name="uploadBinary") + def upload_binary(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "upload_binary") - @client_key.setter - def client_key(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "client_key", value) + @upload_binary.setter + def upload_binary(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "upload_binary", value) @property - @pulumi.getter(name="etcdPrefix") - def etcd_prefix(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "etcd_prefix") + @pulumi.getter(name="winRM") + def win_rm(self) -> Optional[pulumi.Input['ClusterWinRMArgs']]: + return pulumi.get(self, "win_rm") - @etcd_prefix.setter - def etcd_prefix(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "etcd_prefix", value) + @win_rm.setter + def win_rm(self, value: Optional[pulumi.Input['ClusterWinRMArgs']]): + pulumi.set(self, "win_rm", value) @pulumi.input_type -class ClusterEtcdArgs: +class ClusterK0sArgs: def __init__(__self__, *, - external_cluster: Optional[pulumi.Input['ClusterEtcdExternalClusterArgs']] = None, - extra_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - peer_address: Optional[pulumi.Input[str]] = None): - if external_cluster is not None: - pulumi.set(__self__, "external_cluster", external_cluster) - if extra_args is not None: - pulumi.set(__self__, "extra_args", extra_args) - if peer_address is not None: - pulumi.set(__self__, "peer_address", peer_address) + config: Optional[pulumi.Input['K0sArgs']] = None, + dynamic_config: Optional[pulumi.Input[bool]] = None, + version: Optional[pulumi.Input[str]] = None, + version_channel: Optional[pulumi.Input[str]] = None): + if config is not None: + pulumi.set(__self__, "config", config) + if dynamic_config is not None: + pulumi.set(__self__, "dynamic_config", dynamic_config) + if version is not None: + pulumi.set(__self__, "version", version) + if version_channel is not None: + pulumi.set(__self__, "version_channel", version_channel) @property - @pulumi.getter(name="externalCluster") - def external_cluster(self) -> Optional[pulumi.Input['ClusterEtcdExternalClusterArgs']]: - return pulumi.get(self, "external_cluster") + @pulumi.getter + def config(self) -> Optional[pulumi.Input['K0sArgs']]: + return pulumi.get(self, "config") - @external_cluster.setter - def external_cluster(self, value: Optional[pulumi.Input['ClusterEtcdExternalClusterArgs']]): - pulumi.set(self, "external_cluster", value) + @config.setter + def config(self, value: Optional[pulumi.Input['K0sArgs']]): + pulumi.set(self, "config", value) @property - @pulumi.getter(name="extraArgs") - def extra_args(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - return pulumi.get(self, "extra_args") + @pulumi.getter(name="dynamicConfig") + def dynamic_config(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "dynamic_config") + + @dynamic_config.setter + def dynamic_config(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "dynamic_config", value) - @extra_args.setter - def extra_args(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "extra_args", value) + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) @property - @pulumi.getter(name="peerAddress") - def peer_address(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "peer_address") + @pulumi.getter(name="versionChannel") + def version_channel(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "version_channel") - @peer_address.setter - def peer_address(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "peer_address", value) + @version_channel.setter + def version_channel(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version_channel", value) @pulumi.input_type -class ClusterFeatureGateArgs: +class ClusterLocalhostArgs: def __init__(__self__, *, - name: pulumi.Input[str], - components: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enabled: Optional[pulumi.Input[bool]] = None): - pulumi.set(__self__, "name", name) - if components is not None: - pulumi.set(__self__, "components", components) if enabled is not None: pulumi.set(__self__, "enabled", enabled) @property @pulumi.getter - def name(self) -> pulumi.Input[str]: - return pulumi.get(self, "name") + def enabled(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enabled") - @name.setter - def name(self, value: pulumi.Input[str]): - pulumi.set(self, "name", value) + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) - @property - @pulumi.getter - def components(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - return pulumi.get(self, "components") - @components.setter - def components(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "components", value) +@pulumi.input_type +class ClusterMetadataArgs: + def __init__(__self__, *, + name: pulumi.Input[str]): + pulumi.set(__self__, "name", name) @property @pulumi.getter - def enabled(self) -> Optional[pulumi.Input[bool]]: - return pulumi.get(self, "enabled") + def name(self) -> pulumi.Input[str]: + return pulumi.get(self, "name") - @enabled.setter - def enabled(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "enabled", value) + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) @pulumi.input_type -class ClusterFileArgs: +class ClusterSSHArgs: def __init__(__self__, *, - dir_perm: Optional[pulumi.Input[str]] = None, - dst: Optional[pulumi.Input[str]] = None, - dst_dir: Optional[pulumi.Input[str]] = None, - group: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None, - perm: Optional[pulumi.Input[str]] = None, - src: Optional[pulumi.Input[str]] = None, + address: pulumi.Input[str], + bastion: Optional[pulumi.Input['ClusterSSHArgs']] = None, + host_key: Optional[pulumi.Input[str]] = None, + key: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[int]] = None, user: Optional[pulumi.Input[str]] = None): - if dir_perm is not None: - pulumi.set(__self__, "dir_perm", dir_perm) - if dst is not None: - pulumi.set(__self__, "dst", dst) - if dst_dir is not None: - pulumi.set(__self__, "dst_dir", dst_dir) - if group is not None: - pulumi.set(__self__, "group", group) - if name is not None: - pulumi.set(__self__, "name", name) - if perm is not None: - pulumi.set(__self__, "perm", perm) - if src is not None: - pulumi.set(__self__, "src", src) + pulumi.set(__self__, "address", address) + if bastion is not None: + pulumi.set(__self__, "bastion", bastion) + if host_key is not None: + pulumi.set(__self__, "host_key", host_key) + if key is not None: + pulumi.set(__self__, "key", key) + if port is not None: + pulumi.set(__self__, "port", port) if user is not None: pulumi.set(__self__, "user", user) @property - @pulumi.getter(name="dirPerm") - def dir_perm(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "dir_perm") + @pulumi.getter + def address(self) -> pulumi.Input[str]: + return pulumi.get(self, "address") - @dir_perm.setter - def dir_perm(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "dir_perm", value) + @address.setter + def address(self, value: pulumi.Input[str]): + pulumi.set(self, "address", value) @property @pulumi.getter - def dst(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "dst") + def bastion(self) -> Optional[pulumi.Input['ClusterSSHArgs']]: + return pulumi.get(self, "bastion") - @dst.setter - def dst(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "dst", value) + @bastion.setter + def bastion(self, value: Optional[pulumi.Input['ClusterSSHArgs']]): + pulumi.set(self, "bastion", value) @property - @pulumi.getter(name="dstDir") - def dst_dir(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "dst_dir") + @pulumi.getter(name="hostKey") + def host_key(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "host_key") - @dst_dir.setter - def dst_dir(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "dst_dir", value) + @host_key.setter + def host_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host_key", value) @property @pulumi.getter - def group(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "group") + def key(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "key") - @group.setter - def group(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "group", value) + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) @property @pulumi.getter - def name(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "name") + def port(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "port") - @name.setter - def name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "name", value) + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) @property @pulumi.getter - def perm(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "perm") + def user(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "user") - @perm.setter - def perm(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "perm", value) + @user.setter + def user(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user", value) + + +@pulumi.input_type +class ClusterSpecArgs: + def __init__(__self__, *, + hosts: pulumi.Input[Sequence[pulumi.Input['ClusterHostArgs']]], + k0s: Optional[pulumi.Input['ClusterK0sArgs']] = None): + pulumi.set(__self__, "hosts", hosts) + if k0s is not None: + pulumi.set(__self__, "k0s", k0s) @property @pulumi.getter - def src(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "src") + def hosts(self) -> pulumi.Input[Sequence[pulumi.Input['ClusterHostArgs']]]: + return pulumi.get(self, "hosts") - @src.setter - def src(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "src", value) + @hosts.setter + def hosts(self, value: pulumi.Input[Sequence[pulumi.Input['ClusterHostArgs']]]): + pulumi.set(self, "hosts", value) @property @pulumi.getter - def user(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "user") + def k0s(self) -> Optional[pulumi.Input['ClusterK0sArgs']]: + return pulumi.get(self, "k0s") - @user.setter - def user(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "user", value) + @k0s.setter + def k0s(self, value: Optional[pulumi.Input['ClusterK0sArgs']]): + pulumi.set(self, "k0s", value) @pulumi.input_type -class ClusterHooksArgs: +class ClusterWinRMArgs: def __init__(__self__, *, - apply: Optional[pulumi.Input['ClusterHookArgs']] = None, - backup: Optional[pulumi.Input['ClusterHookArgs']] = None, - reset: Optional[pulumi.Input['ClusterHookArgs']] = None): - if apply is not None: - pulumi.set(__self__, "apply", apply) - if backup is not None: - pulumi.set(__self__, "backup", backup) - if reset is not None: - pulumi.set(__self__, "reset", reset) + address: pulumi.Input[str], + bastion: Optional[pulumi.Input['ClusterSSHArgs']] = None, + ca_cert: Optional[pulumi.Input[str]] = None, + cert: Optional[pulumi.Input[str]] = None, + insecure: Optional[pulumi.Input[bool]] = None, + key: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[int]] = None, + tls_server_name: Optional[pulumi.Input[str]] = None, + use_https: Optional[pulumi.Input[bool]] = None, + use_ntlm: Optional[pulumi.Input[bool]] = None, + user: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "address", address) + if bastion is not None: + pulumi.set(__self__, "bastion", bastion) + if ca_cert is not None: + pulumi.set(__self__, "ca_cert", ca_cert) + if cert is not None: + pulumi.set(__self__, "cert", cert) + if insecure is not None: + pulumi.set(__self__, "insecure", insecure) + if key is not None: + pulumi.set(__self__, "key", key) + if password is not None: + pulumi.set(__self__, "password", password) + if port is not None: + pulumi.set(__self__, "port", port) + if tls_server_name is not None: + pulumi.set(__self__, "tls_server_name", tls_server_name) + if use_https is not None: + pulumi.set(__self__, "use_https", use_https) + if use_ntlm is not None: + pulumi.set(__self__, "use_ntlm", use_ntlm) + if user is not None: + pulumi.set(__self__, "user", user) + + @property + @pulumi.getter + def address(self) -> pulumi.Input[str]: + return pulumi.get(self, "address") + + @address.setter + def address(self, value: pulumi.Input[str]): + pulumi.set(self, "address", value) + + @property + @pulumi.getter + def bastion(self) -> Optional[pulumi.Input['ClusterSSHArgs']]: + return pulumi.get(self, "bastion") + + @bastion.setter + def bastion(self, value: Optional[pulumi.Input['ClusterSSHArgs']]): + pulumi.set(self, "bastion", value) @property - @pulumi.getter - def apply(self) -> Optional[pulumi.Input['ClusterHookArgs']]: - return pulumi.get(self, "apply") + @pulumi.getter(name="caCert") + def ca_cert(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "ca_cert") - @apply.setter - def apply(self, value: Optional[pulumi.Input['ClusterHookArgs']]): - pulumi.set(self, "apply", value) + @ca_cert.setter + def ca_cert(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ca_cert", value) @property @pulumi.getter - def backup(self) -> Optional[pulumi.Input['ClusterHookArgs']]: - return pulumi.get(self, "backup") + def cert(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "cert") - @backup.setter - def backup(self, value: Optional[pulumi.Input['ClusterHookArgs']]): - pulumi.set(self, "backup", value) + @cert.setter + def cert(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cert", value) @property @pulumi.getter - def reset(self) -> Optional[pulumi.Input['ClusterHookArgs']]: - return pulumi.get(self, "reset") + def insecure(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "insecure") - @reset.setter - def reset(self, value: Optional[pulumi.Input['ClusterHookArgs']]): - pulumi.set(self, "reset", value) + @insecure.setter + def insecure(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "insecure", value) + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "key") -@pulumi.input_type -class ClusterHookArgs: - def __init__(__self__, *, - after: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - before: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): - if after is not None: - pulumi.set(__self__, "after", after) - if before is not None: - pulumi.set(__self__, "before", before) + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) @property @pulumi.getter - def after(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - return pulumi.get(self, "after") + def password(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "password") - @after.setter - def after(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "after", value) + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) @property @pulumi.getter - def before(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - return pulumi.get(self, "before") + def port(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "port") - @before.setter - def before(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "before", value) + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + @property + @pulumi.getter(name="tlsServerName") + def tls_server_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "tls_server_name") -@pulumi.input_type -class ClusterHostArgs: - def __init__(__self__, *, - role: pulumi.Input[str], - environment: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - files: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterFileArgs']]]] = None, - hooks: Optional[pulumi.Input['ClusterHooksArgs']] = None, - hostname: Optional[pulumi.Input[str]] = None, - install_flags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - k0s_binary_path: Optional[pulumi.Input[str]] = None, - localhost: Optional[pulumi.Input['ClusterLocalhostArgs']] = None, - no_taints: Optional[pulumi.Input[bool]] = None, - os: Optional[pulumi.Input[str]] = None, - private_address: Optional[pulumi.Input[str]] = None, - private_interface: Optional[pulumi.Input[str]] = None, - ssh: Optional[pulumi.Input['ClusterSSHArgs']] = None, - upload_binary: Optional[pulumi.Input[bool]] = None, - win_rm: Optional[pulumi.Input['ClusterWinRMArgs']] = None): - pulumi.set(__self__, "role", role) - if environment is not None: - pulumi.set(__self__, "environment", environment) - if files is not None: - pulumi.set(__self__, "files", files) - if hooks is not None: - pulumi.set(__self__, "hooks", hooks) - if hostname is not None: - pulumi.set(__self__, "hostname", hostname) - if install_flags is not None: - pulumi.set(__self__, "install_flags", install_flags) - if k0s_binary_path is not None: - pulumi.set(__self__, "k0s_binary_path", k0s_binary_path) - if localhost is not None: - pulumi.set(__self__, "localhost", localhost) - if no_taints is not None: - pulumi.set(__self__, "no_taints", no_taints) - if os is not None: - pulumi.set(__self__, "os", os) - if private_address is not None: - pulumi.set(__self__, "private_address", private_address) - if private_interface is not None: - pulumi.set(__self__, "private_interface", private_interface) - if ssh is not None: - pulumi.set(__self__, "ssh", ssh) - if upload_binary is not None: - pulumi.set(__self__, "upload_binary", upload_binary) - if win_rm is not None: - pulumi.set(__self__, "win_rm", win_rm) + @tls_server_name.setter + def tls_server_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tls_server_name", value) @property - @pulumi.getter - def role(self) -> pulumi.Input[str]: - return pulumi.get(self, "role") + @pulumi.getter(name="useHTTPS") + def use_https(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "use_https") - @role.setter - def role(self, value: pulumi.Input[str]): - pulumi.set(self, "role", value) + @use_https.setter + def use_https(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "use_https", value) @property - @pulumi.getter - def environment(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - return pulumi.get(self, "environment") + @pulumi.getter(name="useNTLM") + def use_ntlm(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "use_ntlm") - @environment.setter - def environment(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "environment", value) + @use_ntlm.setter + def use_ntlm(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "use_ntlm", value) @property @pulumi.getter - def files(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterFileArgs']]]]: - return pulumi.get(self, "files") + def user(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "user") - @files.setter - def files(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterFileArgs']]]]): - pulumi.set(self, "files", value) + @user.setter + def user(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user", value) + + +@pulumi.input_type +class K0sAPIArgs: + def __init__(__self__, *, + address: Optional[pulumi.Input[str]] = None, + external_address: Optional[pulumi.Input[str]] = None, + extra_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + k0s_api_port: Optional[pulumi.Input[int]] = None, + port: Optional[pulumi.Input[int]] = None, + sans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + if address is not None: + pulumi.set(__self__, "address", address) + if external_address is not None: + pulumi.set(__self__, "external_address", external_address) + if extra_args is not None: + pulumi.set(__self__, "extra_args", extra_args) + if k0s_api_port is not None: + pulumi.set(__self__, "k0s_api_port", k0s_api_port) + if port is not None: + pulumi.set(__self__, "port", port) + if sans is not None: + pulumi.set(__self__, "sans", sans) @property @pulumi.getter - def hooks(self) -> Optional[pulumi.Input['ClusterHooksArgs']]: - return pulumi.get(self, "hooks") + def address(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "address") - @hooks.setter - def hooks(self, value: Optional[pulumi.Input['ClusterHooksArgs']]): - pulumi.set(self, "hooks", value) + @address.setter + def address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "address", value) @property - @pulumi.getter - def hostname(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "hostname") + @pulumi.getter(name="externalAddress") + def external_address(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "external_address") - @hostname.setter - def hostname(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "hostname", value) + @external_address.setter + def external_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "external_address", value) @property - @pulumi.getter(name="installFlags") - def install_flags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - return pulumi.get(self, "install_flags") + @pulumi.getter(name="extraArgs") + def extra_args(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "extra_args") - @install_flags.setter - def install_flags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "install_flags", value) + @extra_args.setter + def extra_args(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "extra_args", value) @property - @pulumi.getter(name="k0sBinaryPath") - def k0s_binary_path(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "k0s_binary_path") + @pulumi.getter(name="k0sApiPort") + def k0s_api_port(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "k0s_api_port") - @k0s_binary_path.setter - def k0s_binary_path(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "k0s_binary_path", value) + @k0s_api_port.setter + def k0s_api_port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "k0s_api_port", value) @property @pulumi.getter - def localhost(self) -> Optional[pulumi.Input['ClusterLocalhostArgs']]: - return pulumi.get(self, "localhost") + def port(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "port") - @localhost.setter - def localhost(self, value: Optional[pulumi.Input['ClusterLocalhostArgs']]): - pulumi.set(self, "localhost", value) + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) @property - @pulumi.getter(name="noTaints") - def no_taints(self) -> Optional[pulumi.Input[bool]]: - return pulumi.get(self, "no_taints") + @pulumi.getter + def sans(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "sans") - @no_taints.setter - def no_taints(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "no_taints", value) + @sans.setter + def sans(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "sans", value) + + +@pulumi.input_type +class K0sCalicoImageArgs: + def __init__(__self__, *, + cni: Optional[pulumi.Input['K0sImageArgs']] = None, + flexvolume: Optional[pulumi.Input['K0sImageArgs']] = None, + kubecontrollers: Optional[pulumi.Input['K0sImageArgs']] = None, + node: Optional[pulumi.Input['K0sImageArgs']] = None): + if cni is not None: + pulumi.set(__self__, "cni", cni) + if flexvolume is not None: + pulumi.set(__self__, "flexvolume", flexvolume) + if kubecontrollers is not None: + pulumi.set(__self__, "kubecontrollers", kubecontrollers) + if node is not None: + pulumi.set(__self__, "node", node) @property @pulumi.getter - def os(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "os") + def cni(self) -> Optional[pulumi.Input['K0sImageArgs']]: + return pulumi.get(self, "cni") - @os.setter - def os(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "os", value) + @cni.setter + def cni(self, value: Optional[pulumi.Input['K0sImageArgs']]): + pulumi.set(self, "cni", value) @property - @pulumi.getter(name="privateAddress") - def private_address(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "private_address") + @pulumi.getter + def flexvolume(self) -> Optional[pulumi.Input['K0sImageArgs']]: + return pulumi.get(self, "flexvolume") - @private_address.setter - def private_address(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "private_address", value) + @flexvolume.setter + def flexvolume(self, value: Optional[pulumi.Input['K0sImageArgs']]): + pulumi.set(self, "flexvolume", value) @property - @pulumi.getter(name="privateInterface") - def private_interface(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "private_interface") + @pulumi.getter + def kubecontrollers(self) -> Optional[pulumi.Input['K0sImageArgs']]: + return pulumi.get(self, "kubecontrollers") - @private_interface.setter - def private_interface(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "private_interface", value) + @kubecontrollers.setter + def kubecontrollers(self, value: Optional[pulumi.Input['K0sImageArgs']]): + pulumi.set(self, "kubecontrollers", value) @property @pulumi.getter - def ssh(self) -> Optional[pulumi.Input['ClusterSSHArgs']]: - return pulumi.get(self, "ssh") + def node(self) -> Optional[pulumi.Input['K0sImageArgs']]: + return pulumi.get(self, "node") - @ssh.setter - def ssh(self, value: Optional[pulumi.Input['ClusterSSHArgs']]): - pulumi.set(self, "ssh", value) + @node.setter + def node(self, value: Optional[pulumi.Input['K0sImageArgs']]): + pulumi.set(self, "node", value) + + +@pulumi.input_type +class K0sCalicoArgs: + def __init__(__self__, *, + env_vars: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + flex_volume_driver_path: Optional[pulumi.Input[str]] = None, + ip_autodetection_method: Optional[pulumi.Input[str]] = None, + mode: Optional[pulumi.Input[str]] = None, + mtu: Optional[pulumi.Input[int]] = None, + overlay: Optional[pulumi.Input[str]] = None, + vxlan_port: Optional[pulumi.Input[int]] = None, + vxlan_vni: Optional[pulumi.Input[int]] = None, + wireguard: Optional[pulumi.Input[bool]] = None): + if env_vars is not None: + pulumi.set(__self__, "env_vars", env_vars) + if flex_volume_driver_path is not None: + pulumi.set(__self__, "flex_volume_driver_path", flex_volume_driver_path) + if ip_autodetection_method is not None: + pulumi.set(__self__, "ip_autodetection_method", ip_autodetection_method) + if mode is not None: + pulumi.set(__self__, "mode", mode) + if mtu is not None: + pulumi.set(__self__, "mtu", mtu) + if overlay is not None: + pulumi.set(__self__, "overlay", overlay) + if vxlan_port is not None: + pulumi.set(__self__, "vxlan_port", vxlan_port) + if vxlan_vni is not None: + pulumi.set(__self__, "vxlan_vni", vxlan_vni) + if wireguard is not None: + pulumi.set(__self__, "wireguard", wireguard) @property - @pulumi.getter(name="uploadBinary") - def upload_binary(self) -> Optional[pulumi.Input[bool]]: - return pulumi.get(self, "upload_binary") + @pulumi.getter(name="envVars") + def env_vars(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "env_vars") - @upload_binary.setter - def upload_binary(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "upload_binary", value) + @env_vars.setter + def env_vars(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "env_vars", value) @property - @pulumi.getter(name="winRM") - def win_rm(self) -> Optional[pulumi.Input['ClusterWinRMArgs']]: - return pulumi.get(self, "win_rm") + @pulumi.getter(name="flexVolumeDriverPath") + def flex_volume_driver_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "flex_volume_driver_path") - @win_rm.setter - def win_rm(self, value: Optional[pulumi.Input['ClusterWinRMArgs']]): - pulumi.set(self, "win_rm", value) + @flex_volume_driver_path.setter + def flex_volume_driver_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "flex_volume_driver_path", value) + @property + @pulumi.getter(name="ipAutodetectionMethod") + def ip_autodetection_method(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "ip_autodetection_method") -@pulumi.input_type -class ClusterImagesArgs: - def __init__(__self__, *, - calico: Optional[pulumi.Input['ClusterCalicoImageArgs']] = None, - coredns: Optional[pulumi.Input['ClusterImageArgs']] = None, - default_pull_policy: Optional[pulumi.Input[str]] = None, - konnectivity: Optional[pulumi.Input['ClusterImageArgs']] = None, - kubeproxy: Optional[pulumi.Input['ClusterImageArgs']] = None, - kuberouter: Optional[pulumi.Input['ClusterKubeRouterImageArgs']] = None, - metricsserver: Optional[pulumi.Input['ClusterImageArgs']] = None, - pause: Optional[pulumi.Input['ClusterImageArgs']] = None, - repository: Optional[pulumi.Input[str]] = None): - if calico is not None: - pulumi.set(__self__, "calico", calico) - if coredns is not None: - pulumi.set(__self__, "coredns", coredns) - if default_pull_policy is not None: - pulumi.set(__self__, "default_pull_policy", default_pull_policy) - if konnectivity is not None: - pulumi.set(__self__, "konnectivity", konnectivity) - if kubeproxy is not None: - pulumi.set(__self__, "kubeproxy", kubeproxy) - if kuberouter is not None: - pulumi.set(__self__, "kuberouter", kuberouter) - if metricsserver is not None: - pulumi.set(__self__, "metricsserver", metricsserver) - if pause is not None: - pulumi.set(__self__, "pause", pause) - if repository is not None: - pulumi.set(__self__, "repository", repository) + @ip_autodetection_method.setter + def ip_autodetection_method(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ip_autodetection_method", value) @property @pulumi.getter - def calico(self) -> Optional[pulumi.Input['ClusterCalicoImageArgs']]: - return pulumi.get(self, "calico") + def mode(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "mode") - @calico.setter - def calico(self, value: Optional[pulumi.Input['ClusterCalicoImageArgs']]): - pulumi.set(self, "calico", value) + @mode.setter + def mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mode", value) @property @pulumi.getter - def coredns(self) -> Optional[pulumi.Input['ClusterImageArgs']]: - return pulumi.get(self, "coredns") + def mtu(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "mtu") - @coredns.setter - def coredns(self, value: Optional[pulumi.Input['ClusterImageArgs']]): - pulumi.set(self, "coredns", value) + @mtu.setter + def mtu(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "mtu", value) @property @pulumi.getter - def default_pull_policy(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "default_pull_policy") + def overlay(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "overlay") - @default_pull_policy.setter - def default_pull_policy(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "default_pull_policy", value) + @overlay.setter + def overlay(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "overlay", value) @property - @pulumi.getter - def konnectivity(self) -> Optional[pulumi.Input['ClusterImageArgs']]: - return pulumi.get(self, "konnectivity") + @pulumi.getter(name="vxlanPort") + def vxlan_port(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "vxlan_port") - @konnectivity.setter - def konnectivity(self, value: Optional[pulumi.Input['ClusterImageArgs']]): - pulumi.set(self, "konnectivity", value) + @vxlan_port.setter + def vxlan_port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "vxlan_port", value) @property - @pulumi.getter - def kubeproxy(self) -> Optional[pulumi.Input['ClusterImageArgs']]: - return pulumi.get(self, "kubeproxy") + @pulumi.getter(name="vxlanVNI") + def vxlan_vni(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "vxlan_vni") - @kubeproxy.setter - def kubeproxy(self, value: Optional[pulumi.Input['ClusterImageArgs']]): - pulumi.set(self, "kubeproxy", value) + @vxlan_vni.setter + def vxlan_vni(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "vxlan_vni", value) @property @pulumi.getter - def kuberouter(self) -> Optional[pulumi.Input['ClusterKubeRouterImageArgs']]: - return pulumi.get(self, "kuberouter") + def wireguard(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "wireguard") - @kuberouter.setter - def kuberouter(self, value: Optional[pulumi.Input['ClusterKubeRouterImageArgs']]): - pulumi.set(self, "kuberouter", value) + @wireguard.setter + def wireguard(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wireguard", value) + + +@pulumi.input_type +class K0sControllerManagerArgs: + def __init__(__self__, *, + extra_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + if extra_args is not None: + pulumi.set(__self__, "extra_args", extra_args) @property - @pulumi.getter - def metricsserver(self) -> Optional[pulumi.Input['ClusterImageArgs']]: - return pulumi.get(self, "metricsserver") + @pulumi.getter(name="extraArgs") + def extra_args(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "extra_args") - @metricsserver.setter - def metricsserver(self, value: Optional[pulumi.Input['ClusterImageArgs']]): - pulumi.set(self, "metricsserver", value) + @extra_args.setter + def extra_args(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "extra_args", value) + + +@pulumi.input_type +class K0sDualStackArgs: + def __init__(__self__, *, + i_pv6pod_cidr: Optional[pulumi.Input[str]] = None, + i_pv6service_cidr: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None): + if i_pv6pod_cidr is not None: + pulumi.set(__self__, "i_pv6pod_cidr", i_pv6pod_cidr) + if i_pv6service_cidr is not None: + pulumi.set(__self__, "i_pv6service_cidr", i_pv6service_cidr) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) @property - @pulumi.getter - def pause(self) -> Optional[pulumi.Input['ClusterImageArgs']]: - return pulumi.get(self, "pause") + @pulumi.getter(name="IPv6podCIDR") + def i_pv6pod_cidr(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "i_pv6pod_cidr") - @pause.setter - def pause(self, value: Optional[pulumi.Input['ClusterImageArgs']]): - pulumi.set(self, "pause", value) + @i_pv6pod_cidr.setter + def i_pv6pod_cidr(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "i_pv6pod_cidr", value) + + @property + @pulumi.getter(name="IPv6serviceCIDR") + def i_pv6service_cidr(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "i_pv6service_cidr") + + @i_pv6service_cidr.setter + def i_pv6service_cidr(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "i_pv6service_cidr", value) @property @pulumi.getter - def repository(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "repository") + def enabled(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enabled") - @repository.setter - def repository(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "repository", value) + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) @pulumi.input_type -class ClusterImageArgs: +class K0sEnvoyProxyArgs: def __init__(__self__, *, + api_server_bind_port: Optional[pulumi.Input[int]] = None, image: Optional[pulumi.Input[str]] = None, - version: Optional[pulumi.Input[str]] = None): + image_pull_policy: Optional[pulumi.Input[str]] = None, + konnectivity_server_bind_port: Optional[pulumi.Input[int]] = None): + if api_server_bind_port is not None: + pulumi.set(__self__, "api_server_bind_port", api_server_bind_port) if image is not None: pulumi.set(__self__, "image", image) - if version is not None: - pulumi.set(__self__, "version", version) + if image_pull_policy is not None: + pulumi.set(__self__, "image_pull_policy", image_pull_policy) + if konnectivity_server_bind_port is not None: + pulumi.set(__self__, "konnectivity_server_bind_port", konnectivity_server_bind_port) + + @property + @pulumi.getter(name="apiServerBindPort") + def api_server_bind_port(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "api_server_bind_port") + + @api_server_bind_port.setter + def api_server_bind_port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "api_server_bind_port", value) @property @pulumi.getter @@ -1038,308 +1081,300 @@ def image(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "image", value) @property - @pulumi.getter - def version(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "version") + @pulumi.getter(name="imagePullPolicy") + def image_pull_policy(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "image_pull_policy") - @version.setter - def version(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "version", value) + @image_pull_policy.setter + def image_pull_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "image_pull_policy", value) + + @property + @pulumi.getter(name="konnectivityServerBindPort") + def konnectivity_server_bind_port(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "konnectivity_server_bind_port") + + @konnectivity_server_bind_port.setter + def konnectivity_server_bind_port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "konnectivity_server_bind_port", value) @pulumi.input_type -class ClusterInstallConfigUserArgs: +class K0sEtcdExternalClusterArgs: def __init__(__self__, *, - etcd_user: Optional[pulumi.Input[str]] = None, - kine_user: Optional[pulumi.Input[str]] = None, - konnectivity_user: Optional[pulumi.Input[str]] = None, - kube_apiserver_user: Optional[pulumi.Input[str]] = None, - kube_scheduler_user: Optional[pulumi.Input[str]] = None): - if etcd_user is not None: - pulumi.set(__self__, "etcd_user", etcd_user) - if kine_user is not None: - pulumi.set(__self__, "kine_user", kine_user) - if konnectivity_user is not None: - pulumi.set(__self__, "konnectivity_user", konnectivity_user) - if kube_apiserver_user is not None: - pulumi.set(__self__, "kube_apiserver_user", kube_apiserver_user) - if kube_scheduler_user is not None: - pulumi.set(__self__, "kube_scheduler_user", kube_scheduler_user) + endpoints: pulumi.Input[Sequence[pulumi.Input[str]]], + ca: Optional[pulumi.Input[str]] = None, + client_cert: Optional[pulumi.Input[str]] = None, + client_key: Optional[pulumi.Input[str]] = None, + etcd_prefix: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "endpoints", endpoints) + if ca is not None: + pulumi.set(__self__, "ca", ca) + if client_cert is not None: + pulumi.set(__self__, "client_cert", client_cert) + if client_key is not None: + pulumi.set(__self__, "client_key", client_key) + if etcd_prefix is not None: + pulumi.set(__self__, "etcd_prefix", etcd_prefix) @property - @pulumi.getter(name="etcdUser") - def etcd_user(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "etcd_user") + @pulumi.getter + def endpoints(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + return pulumi.get(self, "endpoints") - @etcd_user.setter - def etcd_user(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "etcd_user", value) + @endpoints.setter + def endpoints(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "endpoints", value) @property - @pulumi.getter(name="kineUser") - def kine_user(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "kine_user") + @pulumi.getter + def ca(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "ca") - @kine_user.setter - def kine_user(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "kine_user", value) + @ca.setter + def ca(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ca", value) @property - @pulumi.getter(name="konnectivityUser") - def konnectivity_user(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "konnectivity_user") + @pulumi.getter(name="clientCert") + def client_cert(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "client_cert") - @konnectivity_user.setter - def konnectivity_user(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "konnectivity_user", value) + @client_cert.setter + def client_cert(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_cert", value) @property - @pulumi.getter(name="kubeAPIserverUser") - def kube_apiserver_user(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "kube_apiserver_user") + @pulumi.getter(name="clientKey") + def client_key(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "client_key") - @kube_apiserver_user.setter - def kube_apiserver_user(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "kube_apiserver_user", value) + @client_key.setter + def client_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_key", value) @property - @pulumi.getter(name="kubeSchedulerUser") - def kube_scheduler_user(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "kube_scheduler_user") + @pulumi.getter(name="etcdPrefix") + def etcd_prefix(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "etcd_prefix") - @kube_scheduler_user.setter - def kube_scheduler_user(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "kube_scheduler_user", value) + @etcd_prefix.setter + def etcd_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "etcd_prefix", value) @pulumi.input_type -class ClusterInstallConfigArgs: +class K0sEtcdArgs: def __init__(__self__, *, - users: Optional[pulumi.Input['ClusterInstallConfigUserArgs']] = None): - if users is not None: - pulumi.set(__self__, "users", users) + external_cluster: Optional[pulumi.Input['K0sEtcdExternalClusterArgs']] = None, + extra_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + peer_address: Optional[pulumi.Input[str]] = None): + if external_cluster is not None: + pulumi.set(__self__, "external_cluster", external_cluster) + if extra_args is not None: + pulumi.set(__self__, "extra_args", extra_args) + if peer_address is not None: + pulumi.set(__self__, "peer_address", peer_address) @property - @pulumi.getter - def users(self) -> Optional[pulumi.Input['ClusterInstallConfigUserArgs']]: - return pulumi.get(self, "users") + @pulumi.getter(name="externalCluster") + def external_cluster(self) -> Optional[pulumi.Input['K0sEtcdExternalClusterArgs']]: + return pulumi.get(self, "external_cluster") - @users.setter - def users(self, value: Optional[pulumi.Input['ClusterInstallConfigUserArgs']]): - pulumi.set(self, "users", value) + @external_cluster.setter + def external_cluster(self, value: Optional[pulumi.Input['K0sEtcdExternalClusterArgs']]): + pulumi.set(self, "external_cluster", value) + + @property + @pulumi.getter(name="extraArgs") + def extra_args(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "extra_args") + + @extra_args.setter + def extra_args(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "extra_args", value) + + @property + @pulumi.getter(name="peerAddress") + def peer_address(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "peer_address") + + @peer_address.setter + def peer_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "peer_address", value) @pulumi.input_type -class ClusterK0sConfigArgs: +class K0sFeatureGateArgs: def __init__(__self__, *, - metadata: Optional[pulumi.Input['ClusterMetadataArgs']] = None, - spec: Optional[pulumi.Input['ClusterK0sSpecArgs']] = None): - if metadata is not None: - pulumi.set(__self__, "metadata", metadata) - if spec is not None: - pulumi.set(__self__, "spec", spec) + name: pulumi.Input[str], + components: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + enabled: Optional[pulumi.Input[bool]] = None): + pulumi.set(__self__, "name", name) + if components is not None: + pulumi.set(__self__, "components", components) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) @property @pulumi.getter - def metadata(self) -> Optional[pulumi.Input['ClusterMetadataArgs']]: - return pulumi.get(self, "metadata") + def name(self) -> pulumi.Input[str]: + return pulumi.get(self, "name") - @metadata.setter - def metadata(self, value: Optional[pulumi.Input['ClusterMetadataArgs']]): - pulumi.set(self, "metadata", value) + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) @property @pulumi.getter - def spec(self) -> Optional[pulumi.Input['ClusterK0sSpecArgs']]: - return pulumi.get(self, "spec") + def components(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "components") - @spec.setter - def spec(self, value: Optional[pulumi.Input['ClusterK0sSpecArgs']]): - pulumi.set(self, "spec", value) + @components.setter + def components(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "components", value) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) @pulumi.input_type -class ClusterK0sSpecArgs: +class K0sImagesArgs: def __init__(__self__, *, - api: Optional[pulumi.Input['ClusterAPIArgs']] = None, - controller_manager: Optional[pulumi.Input['ClusterControllerManagerArgs']] = None, - feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterFeatureGateArgs']]]] = None, - images: Optional[pulumi.Input['ClusterImagesArgs']] = None, - install_config: Optional[pulumi.Input['ClusterInstallConfigArgs']] = None, - konnectivity: Optional[pulumi.Input['ClusterKonnectivityArgs']] = None, - network: Optional[pulumi.Input['ClusterNetworkArgs']] = None, - pod_security_policy: Optional[pulumi.Input['ClusterPodSecurityPolicyArgs']] = None, - scheduler: Optional[pulumi.Input['ClusterSchedulerArgs']] = None, - storage: Optional[pulumi.Input['ClusterStorageArgs']] = None, - telemetry: Optional[pulumi.Input['ClusterTelemetryArgs']] = None, - worker_profiles: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterWorkerProfileArgs']]]] = None): - if api is not None: - pulumi.set(__self__, "api", api) - if controller_manager is not None: - pulumi.set(__self__, "controller_manager", controller_manager) - if feature_gates is not None: - pulumi.set(__self__, "feature_gates", feature_gates) - if images is not None: - pulumi.set(__self__, "images", images) - if install_config is not None: - pulumi.set(__self__, "install_config", install_config) + calico: Optional[pulumi.Input['K0sCalicoImageArgs']] = None, + coredns: Optional[pulumi.Input['K0sImageArgs']] = None, + default_pull_policy: Optional[pulumi.Input[str]] = None, + konnectivity: Optional[pulumi.Input['K0sImageArgs']] = None, + kubeproxy: Optional[pulumi.Input['K0sImageArgs']] = None, + kuberouter: Optional[pulumi.Input['K0sKubeRouterImageArgs']] = None, + metricsserver: Optional[pulumi.Input['K0sImageArgs']] = None, + pause: Optional[pulumi.Input['K0sImageArgs']] = None, + repository: Optional[pulumi.Input[str]] = None): + if calico is not None: + pulumi.set(__self__, "calico", calico) + if coredns is not None: + pulumi.set(__self__, "coredns", coredns) + if default_pull_policy is not None: + pulumi.set(__self__, "default_pull_policy", default_pull_policy) if konnectivity is not None: pulumi.set(__self__, "konnectivity", konnectivity) - if network is not None: - pulumi.set(__self__, "network", network) - if pod_security_policy is not None: - pulumi.set(__self__, "pod_security_policy", pod_security_policy) - if scheduler is not None: - pulumi.set(__self__, "scheduler", scheduler) - if storage is not None: - pulumi.set(__self__, "storage", storage) - if telemetry is not None: - pulumi.set(__self__, "telemetry", telemetry) - if worker_profiles is not None: - pulumi.set(__self__, "worker_profiles", worker_profiles) + if kubeproxy is not None: + pulumi.set(__self__, "kubeproxy", kubeproxy) + if kuberouter is not None: + pulumi.set(__self__, "kuberouter", kuberouter) + if metricsserver is not None: + pulumi.set(__self__, "metricsserver", metricsserver) + if pause is not None: + pulumi.set(__self__, "pause", pause) + if repository is not None: + pulumi.set(__self__, "repository", repository) @property @pulumi.getter - def api(self) -> Optional[pulumi.Input['ClusterAPIArgs']]: - return pulumi.get(self, "api") - - @api.setter - def api(self, value: Optional[pulumi.Input['ClusterAPIArgs']]): - pulumi.set(self, "api", value) - - @property - @pulumi.getter(name="controllerManager") - def controller_manager(self) -> Optional[pulumi.Input['ClusterControllerManagerArgs']]: - return pulumi.get(self, "controller_manager") - - @controller_manager.setter - def controller_manager(self, value: Optional[pulumi.Input['ClusterControllerManagerArgs']]): - pulumi.set(self, "controller_manager", value) - - @property - @pulumi.getter(name="featureGates") - def feature_gates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterFeatureGateArgs']]]]: - return pulumi.get(self, "feature_gates") + def calico(self) -> Optional[pulumi.Input['K0sCalicoImageArgs']]: + return pulumi.get(self, "calico") - @feature_gates.setter - def feature_gates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterFeatureGateArgs']]]]): - pulumi.set(self, "feature_gates", value) + @calico.setter + def calico(self, value: Optional[pulumi.Input['K0sCalicoImageArgs']]): + pulumi.set(self, "calico", value) @property @pulumi.getter - def images(self) -> Optional[pulumi.Input['ClusterImagesArgs']]: - return pulumi.get(self, "images") + def coredns(self) -> Optional[pulumi.Input['K0sImageArgs']]: + return pulumi.get(self, "coredns") - @images.setter - def images(self, value: Optional[pulumi.Input['ClusterImagesArgs']]): - pulumi.set(self, "images", value) + @coredns.setter + def coredns(self, value: Optional[pulumi.Input['K0sImageArgs']]): + pulumi.set(self, "coredns", value) @property - @pulumi.getter(name="installConfig") - def install_config(self) -> Optional[pulumi.Input['ClusterInstallConfigArgs']]: - return pulumi.get(self, "install_config") + @pulumi.getter + def default_pull_policy(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "default_pull_policy") - @install_config.setter - def install_config(self, value: Optional[pulumi.Input['ClusterInstallConfigArgs']]): - pulumi.set(self, "install_config", value) + @default_pull_policy.setter + def default_pull_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "default_pull_policy", value) @property @pulumi.getter - def konnectivity(self) -> Optional[pulumi.Input['ClusterKonnectivityArgs']]: + def konnectivity(self) -> Optional[pulumi.Input['K0sImageArgs']]: return pulumi.get(self, "konnectivity") @konnectivity.setter - def konnectivity(self, value: Optional[pulumi.Input['ClusterKonnectivityArgs']]): + def konnectivity(self, value: Optional[pulumi.Input['K0sImageArgs']]): pulumi.set(self, "konnectivity", value) @property @pulumi.getter - def network(self) -> Optional[pulumi.Input['ClusterNetworkArgs']]: - return pulumi.get(self, "network") - - @network.setter - def network(self, value: Optional[pulumi.Input['ClusterNetworkArgs']]): - pulumi.set(self, "network", value) - - @property - @pulumi.getter(name="podSecurityPolicy") - def pod_security_policy(self) -> Optional[pulumi.Input['ClusterPodSecurityPolicyArgs']]: - return pulumi.get(self, "pod_security_policy") + def kubeproxy(self) -> Optional[pulumi.Input['K0sImageArgs']]: + return pulumi.get(self, "kubeproxy") - @pod_security_policy.setter - def pod_security_policy(self, value: Optional[pulumi.Input['ClusterPodSecurityPolicyArgs']]): - pulumi.set(self, "pod_security_policy", value) + @kubeproxy.setter + def kubeproxy(self, value: Optional[pulumi.Input['K0sImageArgs']]): + pulumi.set(self, "kubeproxy", value) @property @pulumi.getter - def scheduler(self) -> Optional[pulumi.Input['ClusterSchedulerArgs']]: - return pulumi.get(self, "scheduler") + def kuberouter(self) -> Optional[pulumi.Input['K0sKubeRouterImageArgs']]: + return pulumi.get(self, "kuberouter") - @scheduler.setter - def scheduler(self, value: Optional[pulumi.Input['ClusterSchedulerArgs']]): - pulumi.set(self, "scheduler", value) + @kuberouter.setter + def kuberouter(self, value: Optional[pulumi.Input['K0sKubeRouterImageArgs']]): + pulumi.set(self, "kuberouter", value) @property @pulumi.getter - def storage(self) -> Optional[pulumi.Input['ClusterStorageArgs']]: - return pulumi.get(self, "storage") + def metricsserver(self) -> Optional[pulumi.Input['K0sImageArgs']]: + return pulumi.get(self, "metricsserver") - @storage.setter - def storage(self, value: Optional[pulumi.Input['ClusterStorageArgs']]): - pulumi.set(self, "storage", value) + @metricsserver.setter + def metricsserver(self, value: Optional[pulumi.Input['K0sImageArgs']]): + pulumi.set(self, "metricsserver", value) @property @pulumi.getter - def telemetry(self) -> Optional[pulumi.Input['ClusterTelemetryArgs']]: - return pulumi.get(self, "telemetry") + def pause(self) -> Optional[pulumi.Input['K0sImageArgs']]: + return pulumi.get(self, "pause") - @telemetry.setter - def telemetry(self, value: Optional[pulumi.Input['ClusterTelemetryArgs']]): - pulumi.set(self, "telemetry", value) + @pause.setter + def pause(self, value: Optional[pulumi.Input['K0sImageArgs']]): + pulumi.set(self, "pause", value) @property - @pulumi.getter(name="workerProfiles") - def worker_profiles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterWorkerProfileArgs']]]]: - return pulumi.get(self, "worker_profiles") + @pulumi.getter + def repository(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "repository") - @worker_profiles.setter - def worker_profiles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterWorkerProfileArgs']]]]): - pulumi.set(self, "worker_profiles", value) + @repository.setter + def repository(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "repository", value) @pulumi.input_type -class ClusterK0sArgs: +class K0sImageArgs: def __init__(__self__, *, - config: Optional[pulumi.Input['ClusterK0sConfigArgs']] = None, - dynamic_config: Optional[pulumi.Input[bool]] = None, - version: Optional[pulumi.Input[str]] = None, - version_channel: Optional[pulumi.Input[str]] = None): - if config is not None: - pulumi.set(__self__, "config", config) - if dynamic_config is not None: - pulumi.set(__self__, "dynamic_config", dynamic_config) + image: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None): + if image is not None: + pulumi.set(__self__, "image", image) if version is not None: pulumi.set(__self__, "version", version) - if version_channel is not None: - pulumi.set(__self__, "version_channel", version_channel) @property @pulumi.getter - def config(self) -> Optional[pulumi.Input['ClusterK0sConfigArgs']]: - return pulumi.get(self, "config") - - @config.setter - def config(self, value: Optional[pulumi.Input['ClusterK0sConfigArgs']]): - pulumi.set(self, "config", value) - - @property - @pulumi.getter(name="dynamicConfig") - def dynamic_config(self) -> Optional[pulumi.Input[bool]]: - return pulumi.get(self, "dynamic_config") + def image(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "image") - @dynamic_config.setter - def dynamic_config(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "dynamic_config", value) + @image.setter + def image(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "image", value) @property @pulumi.getter @@ -1350,18 +1385,91 @@ def version(self) -> Optional[pulumi.Input[str]]: def version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "version", value) + +@pulumi.input_type +class K0sInstallConfigUserArgs: + def __init__(__self__, *, + etcd_user: Optional[pulumi.Input[str]] = None, + kine_user: Optional[pulumi.Input[str]] = None, + konnectivity_user: Optional[pulumi.Input[str]] = None, + kube_apiserver_user: Optional[pulumi.Input[str]] = None, + kube_scheduler_user: Optional[pulumi.Input[str]] = None): + if etcd_user is not None: + pulumi.set(__self__, "etcd_user", etcd_user) + if kine_user is not None: + pulumi.set(__self__, "kine_user", kine_user) + if konnectivity_user is not None: + pulumi.set(__self__, "konnectivity_user", konnectivity_user) + if kube_apiserver_user is not None: + pulumi.set(__self__, "kube_apiserver_user", kube_apiserver_user) + if kube_scheduler_user is not None: + pulumi.set(__self__, "kube_scheduler_user", kube_scheduler_user) + @property - @pulumi.getter(name="versionChannel") - def version_channel(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "version_channel") + @pulumi.getter(name="etcdUser") + def etcd_user(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "etcd_user") - @version_channel.setter - def version_channel(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "version_channel", value) + @etcd_user.setter + def etcd_user(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "etcd_user", value) + + @property + @pulumi.getter(name="kineUser") + def kine_user(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "kine_user") + + @kine_user.setter + def kine_user(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kine_user", value) + + @property + @pulumi.getter(name="konnectivityUser") + def konnectivity_user(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "konnectivity_user") + + @konnectivity_user.setter + def konnectivity_user(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "konnectivity_user", value) + + @property + @pulumi.getter(name="kubeAPIserverUser") + def kube_apiserver_user(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "kube_apiserver_user") + + @kube_apiserver_user.setter + def kube_apiserver_user(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kube_apiserver_user", value) + + @property + @pulumi.getter(name="kubeSchedulerUser") + def kube_scheduler_user(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "kube_scheduler_user") + + @kube_scheduler_user.setter + def kube_scheduler_user(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kube_scheduler_user", value) + + +@pulumi.input_type +class K0sInstallConfigArgs: + def __init__(__self__, *, + users: Optional[pulumi.Input['K0sInstallConfigUserArgs']] = None): + if users is not None: + pulumi.set(__self__, "users", users) + + @property + @pulumi.getter + def users(self) -> Optional[pulumi.Input['K0sInstallConfigUserArgs']]: + return pulumi.get(self, "users") + + @users.setter + def users(self, value: Optional[pulumi.Input['K0sInstallConfigUserArgs']]): + pulumi.set(self, "users", value) @pulumi.input_type -class ClusterKineArgs: +class K0sKineArgs: def __init__(__self__, *, data_source: pulumi.Input[str]): pulumi.set(__self__, "data_source", data_source) @@ -1377,7 +1485,7 @@ def data_source(self, value: pulumi.Input[str]): @pulumi.input_type -class ClusterKonnectivityArgs: +class K0sKonnectivityArgs: def __init__(__self__, *, admin_port: Optional[pulumi.Input[int]] = None, agent_port: Optional[pulumi.Input[int]] = None): @@ -1406,7 +1514,7 @@ def agent_port(self, value: Optional[pulumi.Input[int]]): @pulumi.input_type -class ClusterKubeProxyIPTablesArgs: +class K0sKubeProxyIPTablesArgs: def __init__(__self__, *, masquerade_all: Optional[pulumi.Input[bool]] = None, masquerade_bit: Optional[pulumi.Input[int]] = None, @@ -1459,7 +1567,7 @@ def sync_period(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type -class ClusterKubeProxyIPVSArgs: +class K0sKubeProxyIPVSArgs: def __init__(__self__, *, exclude_cidrs: Optional[pulumi.Input[str]] = None, min_sync_period: Optional[pulumi.Input[str]] = None, @@ -1560,11 +1668,11 @@ def udp_timeout(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type -class ClusterKubeProxyArgs: +class K0sKubeProxyArgs: def __init__(__self__, *, disabled: Optional[pulumi.Input[bool]] = None, - iptables: Optional[pulumi.Input['ClusterKubeProxyIPTablesArgs']] = None, - ipvs: Optional[pulumi.Input['ClusterKubeProxyIPVSArgs']] = None, + iptables: Optional[pulumi.Input['K0sKubeProxyIPTablesArgs']] = None, + ipvs: Optional[pulumi.Input['K0sKubeProxyIPVSArgs']] = None, mode: Optional[pulumi.Input[str]] = None, node_port_addresses: Optional[pulumi.Input[str]] = None): if disabled is not None: @@ -1589,20 +1697,20 @@ def disabled(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter - def iptables(self) -> Optional[pulumi.Input['ClusterKubeProxyIPTablesArgs']]: + def iptables(self) -> Optional[pulumi.Input['K0sKubeProxyIPTablesArgs']]: return pulumi.get(self, "iptables") @iptables.setter - def iptables(self, value: Optional[pulumi.Input['ClusterKubeProxyIPTablesArgs']]): + def iptables(self, value: Optional[pulumi.Input['K0sKubeProxyIPTablesArgs']]): pulumi.set(self, "iptables", value) @property @pulumi.getter - def ipvs(self) -> Optional[pulumi.Input['ClusterKubeProxyIPVSArgs']]: + def ipvs(self) -> Optional[pulumi.Input['K0sKubeProxyIPVSArgs']]: return pulumi.get(self, "ipvs") @ipvs.setter - def ipvs(self, value: Optional[pulumi.Input['ClusterKubeProxyIPVSArgs']]): + def ipvs(self, value: Optional[pulumi.Input['K0sKubeProxyIPVSArgs']]): pulumi.set(self, "ipvs", value) @property @@ -1625,10 +1733,10 @@ def node_port_addresses(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type -class ClusterKubeRouterImageArgs: +class K0sKubeRouterImageArgs: def __init__(__self__, *, - cni: Optional[pulumi.Input['ClusterImageArgs']] = None, - cni_installer: Optional[pulumi.Input['ClusterImageArgs']] = None): + cni: Optional[pulumi.Input['K0sImageArgs']] = None, + cni_installer: Optional[pulumi.Input['K0sImageArgs']] = None): if cni is not None: pulumi.set(__self__, "cni", cni) if cni_installer is not None: @@ -1636,25 +1744,25 @@ def __init__(__self__, *, @property @pulumi.getter - def cni(self) -> Optional[pulumi.Input['ClusterImageArgs']]: + def cni(self) -> Optional[pulumi.Input['K0sImageArgs']]: return pulumi.get(self, "cni") @cni.setter - def cni(self, value: Optional[pulumi.Input['ClusterImageArgs']]): + def cni(self, value: Optional[pulumi.Input['K0sImageArgs']]): pulumi.set(self, "cni", value) @property @pulumi.getter(name="cniInstaller") - def cni_installer(self) -> Optional[pulumi.Input['ClusterImageArgs']]: + def cni_installer(self) -> Optional[pulumi.Input['K0sImageArgs']]: return pulumi.get(self, "cni_installer") @cni_installer.setter - def cni_installer(self, value: Optional[pulumi.Input['ClusterImageArgs']]): + def cni_installer(self, value: Optional[pulumi.Input['K0sImageArgs']]): pulumi.set(self, "cni_installer", value) @pulumi.input_type -class ClusterKubeRouterArgs: +class K0sKubeRouterArgs: def __init__(__self__, *, auto_mtu: Optional[pulumi.Input[bool]] = None, extra_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -1731,24 +1839,7 @@ def mtu(self, value: Optional[pulumi.Input[int]]): @pulumi.input_type -class ClusterLocalhostArgs: - def __init__(__self__, *, - enabled: Optional[pulumi.Input[bool]] = None): - if enabled is not None: - pulumi.set(__self__, "enabled", enabled) - - @property - @pulumi.getter - def enabled(self) -> Optional[pulumi.Input[bool]]: - return pulumi.get(self, "enabled") - - @enabled.setter - def enabled(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "enabled", value) - - -@pulumi.input_type -class ClusterMetadataArgs: +class K0sMetadataArgs: def __init__(__self__, *, name: pulumi.Input[str]): pulumi.set(__self__, "name", name) @@ -1764,14 +1855,14 @@ def name(self, value: pulumi.Input[str]): @pulumi.input_type -class ClusterNetworkArgs: +class K0sNetworkArgs: def __init__(__self__, *, - calico: Optional[pulumi.Input['ClusterCalicoArgs']] = None, + calico: Optional[pulumi.Input['K0sCalicoArgs']] = None, cluster_domain: Optional[pulumi.Input[str]] = None, - dual_stack: Optional[pulumi.Input['ClusterDualStackArgs']] = None, - kube_proxy: Optional[pulumi.Input['ClusterKubeProxyArgs']] = None, - kuberouter: Optional[pulumi.Input['ClusterKubeRouterArgs']] = None, - node_local_load_balancing: Optional[pulumi.Input['ClusterNodeLocalLoadBalancingArgs']] = None, + dual_stack: Optional[pulumi.Input['K0sDualStackArgs']] = None, + kube_proxy: Optional[pulumi.Input['K0sKubeProxyArgs']] = None, + kuberouter: Optional[pulumi.Input['K0sKubeRouterArgs']] = None, + node_local_load_balancing: Optional[pulumi.Input['K0sNodeLocalLoadBalancingArgs']] = None, pod_cidr: Optional[pulumi.Input[str]] = None, provider: Optional[pulumi.Input[str]] = None, service_cidr: Optional[pulumi.Input[str]] = None): @@ -1796,11 +1887,11 @@ def __init__(__self__, *, @property @pulumi.getter - def calico(self) -> Optional[pulumi.Input['ClusterCalicoArgs']]: + def calico(self) -> Optional[pulumi.Input['K0sCalicoArgs']]: return pulumi.get(self, "calico") @calico.setter - def calico(self, value: Optional[pulumi.Input['ClusterCalicoArgs']]): + def calico(self, value: Optional[pulumi.Input['K0sCalicoArgs']]): pulumi.set(self, "calico", value) @property @@ -1814,38 +1905,38 @@ def cluster_domain(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="dualStack") - def dual_stack(self) -> Optional[pulumi.Input['ClusterDualStackArgs']]: + def dual_stack(self) -> Optional[pulumi.Input['K0sDualStackArgs']]: return pulumi.get(self, "dual_stack") @dual_stack.setter - def dual_stack(self, value: Optional[pulumi.Input['ClusterDualStackArgs']]): + def dual_stack(self, value: Optional[pulumi.Input['K0sDualStackArgs']]): pulumi.set(self, "dual_stack", value) @property @pulumi.getter(name="kubeProxy") - def kube_proxy(self) -> Optional[pulumi.Input['ClusterKubeProxyArgs']]: + def kube_proxy(self) -> Optional[pulumi.Input['K0sKubeProxyArgs']]: return pulumi.get(self, "kube_proxy") @kube_proxy.setter - def kube_proxy(self, value: Optional[pulumi.Input['ClusterKubeProxyArgs']]): + def kube_proxy(self, value: Optional[pulumi.Input['K0sKubeProxyArgs']]): pulumi.set(self, "kube_proxy", value) @property @pulumi.getter - def kuberouter(self) -> Optional[pulumi.Input['ClusterKubeRouterArgs']]: + def kuberouter(self) -> Optional[pulumi.Input['K0sKubeRouterArgs']]: return pulumi.get(self, "kuberouter") @kuberouter.setter - def kuberouter(self, value: Optional[pulumi.Input['ClusterKubeRouterArgs']]): + def kuberouter(self, value: Optional[pulumi.Input['K0sKubeRouterArgs']]): pulumi.set(self, "kuberouter", value) @property @pulumi.getter(name="nodeLocalLoadBalancing") - def node_local_load_balancing(self) -> Optional[pulumi.Input['ClusterNodeLocalLoadBalancingArgs']]: + def node_local_load_balancing(self) -> Optional[pulumi.Input['K0sNodeLocalLoadBalancingArgs']]: return pulumi.get(self, "node_local_load_balancing") @node_local_load_balancing.setter - def node_local_load_balancing(self, value: Optional[pulumi.Input['ClusterNodeLocalLoadBalancingArgs']]): + def node_local_load_balancing(self, value: Optional[pulumi.Input['K0sNodeLocalLoadBalancingArgs']]): pulumi.set(self, "node_local_load_balancing", value) @property @@ -1877,10 +1968,10 @@ def service_cidr(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type -class ClusterNodeLocalLoadBalancingArgs: +class K0sNodeLocalLoadBalancingArgs: def __init__(__self__, *, enabled: Optional[pulumi.Input[bool]] = None, - envoy_proxy: Optional[pulumi.Input['ClusterEnvoyProxyArgs']] = None, + envoy_proxy: Optional[pulumi.Input['K0sEnvoyProxyArgs']] = None, type: Optional[pulumi.Input[str]] = None): if enabled is not None: pulumi.set(__self__, "enabled", enabled) @@ -1900,11 +1991,11 @@ def enabled(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="envoyProxy") - def envoy_proxy(self) -> Optional[pulumi.Input['ClusterEnvoyProxyArgs']]: + def envoy_proxy(self) -> Optional[pulumi.Input['K0sEnvoyProxyArgs']]: return pulumi.get(self, "envoy_proxy") @envoy_proxy.setter - def envoy_proxy(self, value: Optional[pulumi.Input['ClusterEnvoyProxyArgs']]): + def envoy_proxy(self, value: Optional[pulumi.Input['K0sEnvoyProxyArgs']]): pulumi.set(self, "envoy_proxy", value) @property @@ -1918,7 +2009,7 @@ def type(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type -class ClusterPodSecurityPolicyArgs: +class K0sPodSecurityPolicyArgs: def __init__(__self__, *, default_policy: Optional[pulumi.Input[str]] = None): if default_policy is not None: @@ -1935,131 +2026,176 @@ def default_policy(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type -class ClusterSSHArgs: +class K0sSchedulerArgs: def __init__(__self__, *, - address: pulumi.Input[str], - bastion: Optional[pulumi.Input['ClusterSSHArgs']] = None, - host_key: Optional[pulumi.Input[str]] = None, - key: Optional[pulumi.Input[str]] = None, - port: Optional[pulumi.Input[int]] = None, - user: Optional[pulumi.Input[str]] = None): - pulumi.set(__self__, "address", address) - if bastion is not None: - pulumi.set(__self__, "bastion", bastion) - if host_key is not None: - pulumi.set(__self__, "host_key", host_key) - if key is not None: - pulumi.set(__self__, "key", key) - if port is not None: - pulumi.set(__self__, "port", port) - if user is not None: - pulumi.set(__self__, "user", user) + extra_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + if extra_args is not None: + pulumi.set(__self__, "extra_args", extra_args) @property - @pulumi.getter - def address(self) -> pulumi.Input[str]: - return pulumi.get(self, "address") + @pulumi.getter(name="extraArgs") + def extra_args(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "extra_args") - @address.setter - def address(self, value: pulumi.Input[str]): - pulumi.set(self, "address", value) + @extra_args.setter + def extra_args(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "extra_args", value) + + +@pulumi.input_type +class K0sSpecArgs: + def __init__(__self__, *, + api: Optional[pulumi.Input['K0sAPIArgs']] = None, + controller_manager: Optional[pulumi.Input['K0sControllerManagerArgs']] = None, + feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input['K0sFeatureGateArgs']]]] = None, + images: Optional[pulumi.Input['K0sImagesArgs']] = None, + install_config: Optional[pulumi.Input['K0sInstallConfigArgs']] = None, + konnectivity: Optional[pulumi.Input['K0sKonnectivityArgs']] = None, + network: Optional[pulumi.Input['K0sNetworkArgs']] = None, + pod_security_policy: Optional[pulumi.Input['K0sPodSecurityPolicyArgs']] = None, + scheduler: Optional[pulumi.Input['K0sSchedulerArgs']] = None, + storage: Optional[pulumi.Input['K0sStorageArgs']] = None, + telemetry: Optional[pulumi.Input['K0sTelemetryArgs']] = None, + worker_profiles: Optional[pulumi.Input[Sequence[pulumi.Input['K0sWorkerProfileArgs']]]] = None): + if api is not None: + pulumi.set(__self__, "api", api) + if controller_manager is not None: + pulumi.set(__self__, "controller_manager", controller_manager) + if feature_gates is not None: + pulumi.set(__self__, "feature_gates", feature_gates) + if images is not None: + pulumi.set(__self__, "images", images) + if install_config is not None: + pulumi.set(__self__, "install_config", install_config) + if konnectivity is not None: + pulumi.set(__self__, "konnectivity", konnectivity) + if network is not None: + pulumi.set(__self__, "network", network) + if pod_security_policy is not None: + pulumi.set(__self__, "pod_security_policy", pod_security_policy) + if scheduler is not None: + pulumi.set(__self__, "scheduler", scheduler) + if storage is not None: + pulumi.set(__self__, "storage", storage) + if telemetry is not None: + pulumi.set(__self__, "telemetry", telemetry) + if worker_profiles is not None: + pulumi.set(__self__, "worker_profiles", worker_profiles) @property @pulumi.getter - def bastion(self) -> Optional[pulumi.Input['ClusterSSHArgs']]: - return pulumi.get(self, "bastion") + def api(self) -> Optional[pulumi.Input['K0sAPIArgs']]: + return pulumi.get(self, "api") - @bastion.setter - def bastion(self, value: Optional[pulumi.Input['ClusterSSHArgs']]): - pulumi.set(self, "bastion", value) + @api.setter + def api(self, value: Optional[pulumi.Input['K0sAPIArgs']]): + pulumi.set(self, "api", value) @property - @pulumi.getter(name="hostKey") - def host_key(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "host_key") + @pulumi.getter(name="controllerManager") + def controller_manager(self) -> Optional[pulumi.Input['K0sControllerManagerArgs']]: + return pulumi.get(self, "controller_manager") - @host_key.setter - def host_key(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "host_key", value) + @controller_manager.setter + def controller_manager(self, value: Optional[pulumi.Input['K0sControllerManagerArgs']]): + pulumi.set(self, "controller_manager", value) + + @property + @pulumi.getter(name="featureGates") + def feature_gates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['K0sFeatureGateArgs']]]]: + return pulumi.get(self, "feature_gates") + + @feature_gates.setter + def feature_gates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['K0sFeatureGateArgs']]]]): + pulumi.set(self, "feature_gates", value) @property @pulumi.getter - def key(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "key") + def images(self) -> Optional[pulumi.Input['K0sImagesArgs']]: + return pulumi.get(self, "images") - @key.setter - def key(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "key", value) + @images.setter + def images(self, value: Optional[pulumi.Input['K0sImagesArgs']]): + pulumi.set(self, "images", value) @property - @pulumi.getter - def port(self) -> Optional[pulumi.Input[int]]: - return pulumi.get(self, "port") + @pulumi.getter(name="installConfig") + def install_config(self) -> Optional[pulumi.Input['K0sInstallConfigArgs']]: + return pulumi.get(self, "install_config") - @port.setter - def port(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "port", value) + @install_config.setter + def install_config(self, value: Optional[pulumi.Input['K0sInstallConfigArgs']]): + pulumi.set(self, "install_config", value) @property @pulumi.getter - def user(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "user") + def konnectivity(self) -> Optional[pulumi.Input['K0sKonnectivityArgs']]: + return pulumi.get(self, "konnectivity") - @user.setter - def user(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "user", value) + @konnectivity.setter + def konnectivity(self, value: Optional[pulumi.Input['K0sKonnectivityArgs']]): + pulumi.set(self, "konnectivity", value) + @property + @pulumi.getter + def network(self) -> Optional[pulumi.Input['K0sNetworkArgs']]: + return pulumi.get(self, "network") -@pulumi.input_type -class ClusterSchedulerArgs: - def __init__(__self__, *, - extra_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): - if extra_args is not None: - pulumi.set(__self__, "extra_args", extra_args) + @network.setter + def network(self, value: Optional[pulumi.Input['K0sNetworkArgs']]): + pulumi.set(self, "network", value) @property - @pulumi.getter(name="extraArgs") - def extra_args(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - return pulumi.get(self, "extra_args") + @pulumi.getter(name="podSecurityPolicy") + def pod_security_policy(self) -> Optional[pulumi.Input['K0sPodSecurityPolicyArgs']]: + return pulumi.get(self, "pod_security_policy") - @extra_args.setter - def extra_args(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "extra_args", value) + @pod_security_policy.setter + def pod_security_policy(self, value: Optional[pulumi.Input['K0sPodSecurityPolicyArgs']]): + pulumi.set(self, "pod_security_policy", value) + @property + @pulumi.getter + def scheduler(self) -> Optional[pulumi.Input['K0sSchedulerArgs']]: + return pulumi.get(self, "scheduler") -@pulumi.input_type -class ClusterSpecArgs: - def __init__(__self__, *, - hosts: pulumi.Input[Sequence[pulumi.Input['ClusterHostArgs']]], - k0s: Optional[pulumi.Input['ClusterK0sArgs']] = None): - pulumi.set(__self__, "hosts", hosts) - if k0s is not None: - pulumi.set(__self__, "k0s", k0s) + @scheduler.setter + def scheduler(self, value: Optional[pulumi.Input['K0sSchedulerArgs']]): + pulumi.set(self, "scheduler", value) @property @pulumi.getter - def hosts(self) -> pulumi.Input[Sequence[pulumi.Input['ClusterHostArgs']]]: - return pulumi.get(self, "hosts") + def storage(self) -> Optional[pulumi.Input['K0sStorageArgs']]: + return pulumi.get(self, "storage") - @hosts.setter - def hosts(self, value: pulumi.Input[Sequence[pulumi.Input['ClusterHostArgs']]]): - pulumi.set(self, "hosts", value) + @storage.setter + def storage(self, value: Optional[pulumi.Input['K0sStorageArgs']]): + pulumi.set(self, "storage", value) @property @pulumi.getter - def k0s(self) -> Optional[pulumi.Input['ClusterK0sArgs']]: - return pulumi.get(self, "k0s") + def telemetry(self) -> Optional[pulumi.Input['K0sTelemetryArgs']]: + return pulumi.get(self, "telemetry") - @k0s.setter - def k0s(self, value: Optional[pulumi.Input['ClusterK0sArgs']]): - pulumi.set(self, "k0s", value) + @telemetry.setter + def telemetry(self, value: Optional[pulumi.Input['K0sTelemetryArgs']]): + pulumi.set(self, "telemetry", value) + + @property + @pulumi.getter(name="workerProfiles") + def worker_profiles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['K0sWorkerProfileArgs']]]]: + return pulumi.get(self, "worker_profiles") + + @worker_profiles.setter + def worker_profiles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['K0sWorkerProfileArgs']]]]): + pulumi.set(self, "worker_profiles", value) @pulumi.input_type -class ClusterStorageArgs: +class K0sStorageArgs: def __init__(__self__, *, - etcd: Optional[pulumi.Input['ClusterEtcdArgs']] = None, - kine: Optional[pulumi.Input['ClusterKineArgs']] = None, + etcd: Optional[pulumi.Input['K0sEtcdArgs']] = None, + kine: Optional[pulumi.Input['K0sKineArgs']] = None, type: Optional[pulumi.Input[str]] = None): if etcd is not None: pulumi.set(__self__, "etcd", etcd) @@ -2070,20 +2206,20 @@ def __init__(__self__, *, @property @pulumi.getter - def etcd(self) -> Optional[pulumi.Input['ClusterEtcdArgs']]: + def etcd(self) -> Optional[pulumi.Input['K0sEtcdArgs']]: return pulumi.get(self, "etcd") @etcd.setter - def etcd(self, value: Optional[pulumi.Input['ClusterEtcdArgs']]): + def etcd(self, value: Optional[pulumi.Input['K0sEtcdArgs']]): pulumi.set(self, "etcd", value) @property @pulumi.getter - def kine(self) -> Optional[pulumi.Input['ClusterKineArgs']]: + def kine(self) -> Optional[pulumi.Input['K0sKineArgs']]: return pulumi.get(self, "kine") @kine.setter - def kine(self, value: Optional[pulumi.Input['ClusterKineArgs']]): + def kine(self, value: Optional[pulumi.Input['K0sKineArgs']]): pulumi.set(self, "kine", value) @property @@ -2097,7 +2233,7 @@ def type(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type -class ClusterTelemetryArgs: +class K0sTelemetryArgs: def __init__(__self__, *, enabled: Optional[pulumi.Input[bool]] = None): if enabled is not None: @@ -2114,177 +2250,82 @@ def enabled(self, value: Optional[pulumi.Input[bool]]): @pulumi.input_type -class ClusterWinRMArgs: +class K0sWorkerProfileArgs: def __init__(__self__, *, - address: pulumi.Input[str], - bastion: Optional[pulumi.Input['ClusterSSHArgs']] = None, - ca_cert: Optional[pulumi.Input[str]] = None, - cert: Optional[pulumi.Input[str]] = None, - insecure: Optional[pulumi.Input[bool]] = None, - key: Optional[pulumi.Input[str]] = None, - password: Optional[pulumi.Input[str]] = None, - port: Optional[pulumi.Input[int]] = None, - tls_server_name: Optional[pulumi.Input[str]] = None, - use_https: Optional[pulumi.Input[bool]] = None, - use_ntlm: Optional[pulumi.Input[bool]] = None, - user: Optional[pulumi.Input[str]] = None): - pulumi.set(__self__, "address", address) - if bastion is not None: - pulumi.set(__self__, "bastion", bastion) - if ca_cert is not None: - pulumi.set(__self__, "ca_cert", ca_cert) - if cert is not None: - pulumi.set(__self__, "cert", cert) - if insecure is not None: - pulumi.set(__self__, "insecure", insecure) - if key is not None: - pulumi.set(__self__, "key", key) - if password is not None: - pulumi.set(__self__, "password", password) - if port is not None: - pulumi.set(__self__, "port", port) - if tls_server_name is not None: - pulumi.set(__self__, "tls_server_name", tls_server_name) - if use_https is not None: - pulumi.set(__self__, "use_https", use_https) - if use_ntlm is not None: - pulumi.set(__self__, "use_ntlm", use_ntlm) - if user is not None: - pulumi.set(__self__, "user", user) - - @property - @pulumi.getter - def address(self) -> pulumi.Input[str]: - return pulumi.get(self, "address") - - @address.setter - def address(self, value: pulumi.Input[str]): - pulumi.set(self, "address", value) - - @property - @pulumi.getter - def bastion(self) -> Optional[pulumi.Input['ClusterSSHArgs']]: - return pulumi.get(self, "bastion") - - @bastion.setter - def bastion(self, value: Optional[pulumi.Input['ClusterSSHArgs']]): - pulumi.set(self, "bastion", value) - - @property - @pulumi.getter(name="caCert") - def ca_cert(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "ca_cert") - - @ca_cert.setter - def ca_cert(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "ca_cert", value) - - @property - @pulumi.getter - def cert(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "cert") - - @cert.setter - def cert(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "cert", value) - - @property - @pulumi.getter - def insecure(self) -> Optional[pulumi.Input[bool]]: - return pulumi.get(self, "insecure") - - @insecure.setter - def insecure(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "insecure", value) - - @property - @pulumi.getter - def key(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "key") - - @key.setter - def key(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "key", value) + name: pulumi.Input[str], + values: pulumi.Input[Mapping[str, Any]]): + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) @property @pulumi.getter - def password(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "password") + def name(self) -> pulumi.Input[str]: + return pulumi.get(self, "name") - @password.setter - def password(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "password", value) + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) @property @pulumi.getter - def port(self) -> Optional[pulumi.Input[int]]: - return pulumi.get(self, "port") - - @port.setter - def port(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "port", value) - - @property - @pulumi.getter(name="tlsServerName") - def tls_server_name(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "tls_server_name") + def values(self) -> pulumi.Input[Mapping[str, Any]]: + return pulumi.get(self, "values") - @tls_server_name.setter - def tls_server_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "tls_server_name", value) + @values.setter + def values(self, value: pulumi.Input[Mapping[str, Any]]): + pulumi.set(self, "values", value) - @property - @pulumi.getter(name="useHTTPS") - def use_https(self) -> Optional[pulumi.Input[bool]]: - return pulumi.get(self, "use_https") - @use_https.setter - def use_https(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "use_https", value) +@pulumi.input_type +class K0sArgs: + def __init__(__self__, *, + api_version: Optional[pulumi.Input[str]] = None, + kind: Optional[pulumi.Input[str]] = None, + metadata: Optional[pulumi.Input['K0sMetadataArgs']] = None, + spec: Optional[pulumi.Input['K0sSpecArgs']] = None): + if api_version is not None: + pulumi.set(__self__, "api_version", api_version) + if kind is not None: + pulumi.set(__self__, "kind", kind) + if metadata is not None: + pulumi.set(__self__, "metadata", metadata) + if spec is not None: + pulumi.set(__self__, "spec", spec) @property - @pulumi.getter(name="useNTLM") - def use_ntlm(self) -> Optional[pulumi.Input[bool]]: - return pulumi.get(self, "use_ntlm") + @pulumi.getter(name="apiVersion") + def api_version(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "api_version") - @use_ntlm.setter - def use_ntlm(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "use_ntlm", value) + @api_version.setter + def api_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "api_version", value) @property @pulumi.getter - def user(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "user") - - @user.setter - def user(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "user", value) - + def kind(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "kind") -@pulumi.input_type -class ClusterWorkerProfileArgs: - def __init__(__self__, *, - name: pulumi.Input[str], - values: pulumi.Input[Mapping[str, Any]]): - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "values", values) + @kind.setter + def kind(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kind", value) @property @pulumi.getter - def name(self) -> pulumi.Input[str]: - return pulumi.get(self, "name") + def metadata(self) -> Optional[pulumi.Input['K0sMetadataArgs']]: + return pulumi.get(self, "metadata") - @name.setter - def name(self, value: pulumi.Input[str]): - pulumi.set(self, "name", value) + @metadata.setter + def metadata(self, value: Optional[pulumi.Input['K0sMetadataArgs']]): + pulumi.set(self, "metadata", value) @property @pulumi.getter - def values(self) -> pulumi.Input[Mapping[str, Any]]: - return pulumi.get(self, "values") + def spec(self) -> Optional[pulumi.Input['K0sSpecArgs']]: + return pulumi.get(self, "spec") - @values.setter - def values(self, value: pulumi.Input[Mapping[str, Any]]): - pulumi.set(self, "values", value) + @spec.setter + def spec(self, value: Optional[pulumi.Input['K0sSpecArgs']]): + pulumi.set(self, "spec", value) diff --git a/sdk/python/pulumi_k0s/outputs.py b/sdk/python/pulumi_k0s/outputs.py index 5fa3187..0573946 100644 --- a/sdk/python/pulumi_k0s/outputs.py +++ b/sdk/python/pulumi_k0s/outputs.py @@ -11,49 +11,688 @@ from . import outputs __all__ = [ - 'ClusterAPI', - 'ClusterCalico', - 'ClusterCalicoImage', - 'ClusterControllerManager', - 'ClusterDualStack', - 'ClusterEnvoyProxy', - 'ClusterEtcd', - 'ClusterEtcdExternalCluster', - 'ClusterFeatureGate', 'ClusterFile', 'ClusterHook', 'ClusterHooks', 'ClusterHost', - 'ClusterImage', - 'ClusterImages', - 'ClusterInstallConfig', - 'ClusterInstallConfigUser', 'ClusterK0s', - 'ClusterK0sConfig', - 'ClusterK0sSpec', - 'ClusterKine', - 'ClusterKonnectivity', - 'ClusterKubeProxy', - 'ClusterKubeProxyIPTables', - 'ClusterKubeProxyIPVS', - 'ClusterKubeRouter', - 'ClusterKubeRouterImage', 'ClusterLocalhost', 'ClusterMetadata', - 'ClusterNetwork', - 'ClusterNodeLocalLoadBalancing', - 'ClusterPodSecurityPolicy', 'ClusterSSH', - 'ClusterScheduler', 'ClusterSpec', - 'ClusterStorage', - 'ClusterTelemetry', 'ClusterWinRM', - 'ClusterWorkerProfile', + 'K0s', + 'K0sAPI', + 'K0sCalico', + 'K0sCalicoImage', + 'K0sControllerManager', + 'K0sDualStack', + 'K0sEnvoyProxy', + 'K0sEtcd', + 'K0sEtcdExternalCluster', + 'K0sFeatureGate', + 'K0sImage', + 'K0sImages', + 'K0sInstallConfig', + 'K0sInstallConfigUser', + 'K0sKine', + 'K0sKonnectivity', + 'K0sKubeProxy', + 'K0sKubeProxyIPTables', + 'K0sKubeProxyIPVS', + 'K0sKubeRouter', + 'K0sKubeRouterImage', + 'K0sMetadata', + 'K0sNetwork', + 'K0sNodeLocalLoadBalancing', + 'K0sPodSecurityPolicy', + 'K0sScheduler', + 'K0sSpec', + 'K0sStorage', + 'K0sTelemetry', + 'K0sWorkerProfile', ] @pulumi.output_type -class ClusterAPI(dict): +class ClusterFile(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dirPerm": + suggest = "dir_perm" + elif key == "dstDir": + suggest = "dst_dir" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterFile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterFile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterFile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dir_perm: Optional[str] = None, + dst: Optional[str] = None, + dst_dir: Optional[str] = None, + group: Optional[str] = None, + name: Optional[str] = None, + perm: Optional[str] = None, + src: Optional[str] = None, + user: Optional[str] = None): + if dir_perm is not None: + pulumi.set(__self__, "dir_perm", dir_perm) + if dst is not None: + pulumi.set(__self__, "dst", dst) + if dst_dir is not None: + pulumi.set(__self__, "dst_dir", dst_dir) + if group is not None: + pulumi.set(__self__, "group", group) + if name is not None: + pulumi.set(__self__, "name", name) + if perm is not None: + pulumi.set(__self__, "perm", perm) + if src is not None: + pulumi.set(__self__, "src", src) + if user is not None: + pulumi.set(__self__, "user", user) + + @property + @pulumi.getter(name="dirPerm") + def dir_perm(self) -> Optional[str]: + return pulumi.get(self, "dir_perm") + + @property + @pulumi.getter + def dst(self) -> Optional[str]: + return pulumi.get(self, "dst") + + @property + @pulumi.getter(name="dstDir") + def dst_dir(self) -> Optional[str]: + return pulumi.get(self, "dst_dir") + + @property + @pulumi.getter + def group(self) -> Optional[str]: + return pulumi.get(self, "group") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + return pulumi.get(self, "name") + + @property + @pulumi.getter + def perm(self) -> Optional[str]: + return pulumi.get(self, "perm") + + @property + @pulumi.getter + def src(self) -> Optional[str]: + return pulumi.get(self, "src") + + @property + @pulumi.getter + def user(self) -> Optional[str]: + return pulumi.get(self, "user") + + +@pulumi.output_type +class ClusterHook(dict): + def __init__(__self__, *, + after: Optional[Sequence[str]] = None, + before: Optional[Sequence[str]] = None): + if after is not None: + pulumi.set(__self__, "after", after) + if before is not None: + pulumi.set(__self__, "before", before) + + @property + @pulumi.getter + def after(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "after") + + @property + @pulumi.getter + def before(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "before") + + +@pulumi.output_type +class ClusterHooks(dict): + def __init__(__self__, *, + apply: Optional['outputs.ClusterHook'] = None, + backup: Optional['outputs.ClusterHook'] = None, + reset: Optional['outputs.ClusterHook'] = None): + if apply is not None: + pulumi.set(__self__, "apply", apply) + if backup is not None: + pulumi.set(__self__, "backup", backup) + if reset is not None: + pulumi.set(__self__, "reset", reset) + + @property + @pulumi.getter + def apply(self) -> Optional['outputs.ClusterHook']: + return pulumi.get(self, "apply") + + @property + @pulumi.getter + def backup(self) -> Optional['outputs.ClusterHook']: + return pulumi.get(self, "backup") + + @property + @pulumi.getter + def reset(self) -> Optional['outputs.ClusterHook']: + return pulumi.get(self, "reset") + + +@pulumi.output_type +class ClusterHost(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "installFlags": + suggest = "install_flags" + elif key == "k0sBinaryPath": + suggest = "k0s_binary_path" + elif key == "noTaints": + suggest = "no_taints" + elif key == "privateAddress": + suggest = "private_address" + elif key == "privateInterface": + suggest = "private_interface" + elif key == "uploadBinary": + suggest = "upload_binary" + elif key == "winRM": + suggest = "win_rm" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterHost. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterHost.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterHost.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + role: str, + environment: Optional[Mapping[str, str]] = None, + files: Optional[Sequence['outputs.ClusterFile']] = None, + hooks: Optional['outputs.ClusterHooks'] = None, + hostname: Optional[str] = None, + install_flags: Optional[Sequence[str]] = None, + k0s_binary_path: Optional[str] = None, + localhost: Optional['outputs.ClusterLocalhost'] = None, + no_taints: Optional[bool] = None, + os: Optional[str] = None, + private_address: Optional[str] = None, + private_interface: Optional[str] = None, + ssh: Optional['outputs.ClusterSSH'] = None, + upload_binary: Optional[bool] = None, + win_rm: Optional['outputs.ClusterWinRM'] = None): + pulumi.set(__self__, "role", role) + if environment is not None: + pulumi.set(__self__, "environment", environment) + if files is not None: + pulumi.set(__self__, "files", files) + if hooks is not None: + pulumi.set(__self__, "hooks", hooks) + if hostname is not None: + pulumi.set(__self__, "hostname", hostname) + if install_flags is not None: + pulumi.set(__self__, "install_flags", install_flags) + if k0s_binary_path is not None: + pulumi.set(__self__, "k0s_binary_path", k0s_binary_path) + if localhost is not None: + pulumi.set(__self__, "localhost", localhost) + if no_taints is not None: + pulumi.set(__self__, "no_taints", no_taints) + if os is not None: + pulumi.set(__self__, "os", os) + if private_address is not None: + pulumi.set(__self__, "private_address", private_address) + if private_interface is not None: + pulumi.set(__self__, "private_interface", private_interface) + if ssh is not None: + pulumi.set(__self__, "ssh", ssh) + if upload_binary is not None: + pulumi.set(__self__, "upload_binary", upload_binary) + if win_rm is not None: + pulumi.set(__self__, "win_rm", win_rm) + + @property + @pulumi.getter + def role(self) -> str: + return pulumi.get(self, "role") + + @property + @pulumi.getter + def environment(self) -> Optional[Mapping[str, str]]: + return pulumi.get(self, "environment") + + @property + @pulumi.getter + def files(self) -> Optional[Sequence['outputs.ClusterFile']]: + return pulumi.get(self, "files") + + @property + @pulumi.getter + def hooks(self) -> Optional['outputs.ClusterHooks']: + return pulumi.get(self, "hooks") + + @property + @pulumi.getter + def hostname(self) -> Optional[str]: + return pulumi.get(self, "hostname") + + @property + @pulumi.getter(name="installFlags") + def install_flags(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "install_flags") + + @property + @pulumi.getter(name="k0sBinaryPath") + def k0s_binary_path(self) -> Optional[str]: + return pulumi.get(self, "k0s_binary_path") + + @property + @pulumi.getter + def localhost(self) -> Optional['outputs.ClusterLocalhost']: + return pulumi.get(self, "localhost") + + @property + @pulumi.getter(name="noTaints") + def no_taints(self) -> Optional[bool]: + return pulumi.get(self, "no_taints") + + @property + @pulumi.getter + def os(self) -> Optional[str]: + return pulumi.get(self, "os") + + @property + @pulumi.getter(name="privateAddress") + def private_address(self) -> Optional[str]: + return pulumi.get(self, "private_address") + + @property + @pulumi.getter(name="privateInterface") + def private_interface(self) -> Optional[str]: + return pulumi.get(self, "private_interface") + + @property + @pulumi.getter + def ssh(self) -> Optional['outputs.ClusterSSH']: + return pulumi.get(self, "ssh") + + @property + @pulumi.getter(name="uploadBinary") + def upload_binary(self) -> Optional[bool]: + return pulumi.get(self, "upload_binary") + + @property + @pulumi.getter(name="winRM") + def win_rm(self) -> Optional['outputs.ClusterWinRM']: + return pulumi.get(self, "win_rm") + + +@pulumi.output_type +class ClusterK0s(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dynamicConfig": + suggest = "dynamic_config" + elif key == "versionChannel": + suggest = "version_channel" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterK0s. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterK0s.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterK0s.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + config: Optional['outputs.K0s'] = None, + dynamic_config: Optional[bool] = None, + version: Optional[str] = None, + version_channel: Optional[str] = None): + if config is not None: + pulumi.set(__self__, "config", config) + if dynamic_config is not None: + pulumi.set(__self__, "dynamic_config", dynamic_config) + if version is not None: + pulumi.set(__self__, "version", version) + if version_channel is not None: + pulumi.set(__self__, "version_channel", version_channel) + + @property + @pulumi.getter + def config(self) -> Optional['outputs.K0s']: + return pulumi.get(self, "config") + + @property + @pulumi.getter(name="dynamicConfig") + def dynamic_config(self) -> Optional[bool]: + return pulumi.get(self, "dynamic_config") + + @property + @pulumi.getter + def version(self) -> Optional[str]: + return pulumi.get(self, "version") + + @property + @pulumi.getter(name="versionChannel") + def version_channel(self) -> Optional[str]: + return pulumi.get(self, "version_channel") + + +@pulumi.output_type +class ClusterLocalhost(dict): + def __init__(__self__, *, + enabled: Optional[bool] = None): + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class ClusterMetadata(dict): + def __init__(__self__, *, + name: str): + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + +@pulumi.output_type +class ClusterSSH(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "hostKey": + suggest = "host_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterSSH. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterSSH.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterSSH.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + address: str, + bastion: Optional['outputs.ClusterSSH'] = None, + host_key: Optional[str] = None, + key: Optional[str] = None, + port: Optional[int] = None, + user: Optional[str] = None): + pulumi.set(__self__, "address", address) + if bastion is not None: + pulumi.set(__self__, "bastion", bastion) + if host_key is not None: + pulumi.set(__self__, "host_key", host_key) + if key is not None: + pulumi.set(__self__, "key", key) + if port is not None: + pulumi.set(__self__, "port", port) + if user is not None: + pulumi.set(__self__, "user", user) + + @property + @pulumi.getter + def address(self) -> str: + return pulumi.get(self, "address") + + @property + @pulumi.getter + def bastion(self) -> Optional['outputs.ClusterSSH']: + return pulumi.get(self, "bastion") + + @property + @pulumi.getter(name="hostKey") + def host_key(self) -> Optional[str]: + return pulumi.get(self, "host_key") + + @property + @pulumi.getter + def key(self) -> Optional[str]: + return pulumi.get(self, "key") + + @property + @pulumi.getter + def port(self) -> Optional[int]: + return pulumi.get(self, "port") + + @property + @pulumi.getter + def user(self) -> Optional[str]: + return pulumi.get(self, "user") + + +@pulumi.output_type +class ClusterSpec(dict): + def __init__(__self__, *, + hosts: Sequence['outputs.ClusterHost'], + k0s: Optional['outputs.ClusterK0s'] = None): + pulumi.set(__self__, "hosts", hosts) + if k0s is not None: + pulumi.set(__self__, "k0s", k0s) + + @property + @pulumi.getter + def hosts(self) -> Sequence['outputs.ClusterHost']: + return pulumi.get(self, "hosts") + + @property + @pulumi.getter + def k0s(self) -> Optional['outputs.ClusterK0s']: + return pulumi.get(self, "k0s") + + +@pulumi.output_type +class ClusterWinRM(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "caCert": + suggest = "ca_cert" + elif key == "tlsServerName": + suggest = "tls_server_name" + elif key == "useHTTPS": + suggest = "use_https" + elif key == "useNTLM": + suggest = "use_ntlm" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterWinRM. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterWinRM.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterWinRM.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + address: str, + bastion: Optional['outputs.ClusterSSH'] = None, + ca_cert: Optional[str] = None, + cert: Optional[str] = None, + insecure: Optional[bool] = None, + key: Optional[str] = None, + password: Optional[str] = None, + port: Optional[int] = None, + tls_server_name: Optional[str] = None, + use_https: Optional[bool] = None, + use_ntlm: Optional[bool] = None, + user: Optional[str] = None): + pulumi.set(__self__, "address", address) + if bastion is not None: + pulumi.set(__self__, "bastion", bastion) + if ca_cert is not None: + pulumi.set(__self__, "ca_cert", ca_cert) + if cert is not None: + pulumi.set(__self__, "cert", cert) + if insecure is not None: + pulumi.set(__self__, "insecure", insecure) + if key is not None: + pulumi.set(__self__, "key", key) + if password is not None: + pulumi.set(__self__, "password", password) + if port is not None: + pulumi.set(__self__, "port", port) + if tls_server_name is not None: + pulumi.set(__self__, "tls_server_name", tls_server_name) + if use_https is not None: + pulumi.set(__self__, "use_https", use_https) + if use_ntlm is not None: + pulumi.set(__self__, "use_ntlm", use_ntlm) + if user is not None: + pulumi.set(__self__, "user", user) + + @property + @pulumi.getter + def address(self) -> str: + return pulumi.get(self, "address") + + @property + @pulumi.getter + def bastion(self) -> Optional['outputs.ClusterSSH']: + return pulumi.get(self, "bastion") + + @property + @pulumi.getter(name="caCert") + def ca_cert(self) -> Optional[str]: + return pulumi.get(self, "ca_cert") + + @property + @pulumi.getter + def cert(self) -> Optional[str]: + return pulumi.get(self, "cert") + + @property + @pulumi.getter + def insecure(self) -> Optional[bool]: + return pulumi.get(self, "insecure") + + @property + @pulumi.getter + def key(self) -> Optional[str]: + return pulumi.get(self, "key") + + @property + @pulumi.getter + def password(self) -> Optional[str]: + return pulumi.get(self, "password") + + @property + @pulumi.getter + def port(self) -> Optional[int]: + return pulumi.get(self, "port") + + @property + @pulumi.getter(name="tlsServerName") + def tls_server_name(self) -> Optional[str]: + return pulumi.get(self, "tls_server_name") + + @property + @pulumi.getter(name="useHTTPS") + def use_https(self) -> Optional[bool]: + return pulumi.get(self, "use_https") + + @property + @pulumi.getter(name="useNTLM") + def use_ntlm(self) -> Optional[bool]: + return pulumi.get(self, "use_ntlm") + + @property + @pulumi.getter + def user(self) -> Optional[str]: + return pulumi.get(self, "user") + + +@pulumi.output_type +class K0s(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "apiVersion": + suggest = "api_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in K0s. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + K0s.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + K0s.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + api_version: Optional[str] = None, + kind: Optional[str] = None, + metadata: Optional['outputs.K0sMetadata'] = None, + spec: Optional['outputs.K0sSpec'] = None): + if api_version is not None: + pulumi.set(__self__, "api_version", api_version) + if kind is not None: + pulumi.set(__self__, "kind", kind) + if metadata is not None: + pulumi.set(__self__, "metadata", metadata) + if spec is not None: + pulumi.set(__self__, "spec", spec) + + @property + @pulumi.getter(name="apiVersion") + def api_version(self) -> Optional[str]: + return pulumi.get(self, "api_version") + + @property + @pulumi.getter + def kind(self) -> Optional[str]: + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def metadata(self) -> Optional['outputs.K0sMetadata']: + return pulumi.get(self, "metadata") + + @property + @pulumi.getter + def spec(self) -> Optional['outputs.K0sSpec']: + return pulumi.get(self, "spec") + + +@pulumi.output_type +class K0sAPI(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -65,14 +704,14 @@ def __key_warning(key: str): suggest = "k0s_api_port" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterAPI. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in K0sAPI. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ClusterAPI.__key_warning(key) + K0sAPI.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ClusterAPI.__key_warning(key) + K0sAPI.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -127,7 +766,7 @@ def sans(self) -> Optional[Sequence[str]]: @pulumi.output_type -class ClusterCalico(dict): +class K0sCalico(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -143,14 +782,14 @@ def __key_warning(key: str): suggest = "vxlan_vni" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterCalico. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in K0sCalico. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ClusterCalico.__key_warning(key) + K0sCalico.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ClusterCalico.__key_warning(key) + K0sCalico.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -229,12 +868,12 @@ def wireguard(self) -> Optional[bool]: @pulumi.output_type -class ClusterCalicoImage(dict): +class K0sCalicoImage(dict): def __init__(__self__, *, - cni: Optional['outputs.ClusterImage'] = None, - flexvolume: Optional['outputs.ClusterImage'] = None, - kubecontrollers: Optional['outputs.ClusterImage'] = None, - node: Optional['outputs.ClusterImage'] = None): + cni: Optional['outputs.K0sImage'] = None, + flexvolume: Optional['outputs.K0sImage'] = None, + kubecontrollers: Optional['outputs.K0sImage'] = None, + node: Optional['outputs.K0sImage'] = None): if cni is not None: pulumi.set(__self__, "cni", cni) if flexvolume is not None: @@ -246,597 +885,306 @@ def __init__(__self__, *, @property @pulumi.getter - def cni(self) -> Optional['outputs.ClusterImage']: + def cni(self) -> Optional['outputs.K0sImage']: return pulumi.get(self, "cni") @property @pulumi.getter - def flexvolume(self) -> Optional['outputs.ClusterImage']: - return pulumi.get(self, "flexvolume") - - @property - @pulumi.getter - def kubecontrollers(self) -> Optional['outputs.ClusterImage']: - return pulumi.get(self, "kubecontrollers") - - @property - @pulumi.getter - def node(self) -> Optional['outputs.ClusterImage']: - return pulumi.get(self, "node") - - -@pulumi.output_type -class ClusterControllerManager(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "extraArgs": - suggest = "extra_args" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterControllerManager. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ClusterControllerManager.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ClusterControllerManager.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - extra_args: Optional[Mapping[str, str]] = None): - if extra_args is not None: - pulumi.set(__self__, "extra_args", extra_args) - - @property - @pulumi.getter(name="extraArgs") - def extra_args(self) -> Optional[Mapping[str, str]]: - return pulumi.get(self, "extra_args") - - -@pulumi.output_type -class ClusterDualStack(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "IPv6podCIDR": - suggest = "i_pv6pod_cidr" - elif key == "IPv6serviceCIDR": - suggest = "i_pv6service_cidr" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterDualStack. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ClusterDualStack.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ClusterDualStack.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - i_pv6pod_cidr: Optional[str] = None, - i_pv6service_cidr: Optional[str] = None, - enabled: Optional[bool] = None): - if i_pv6pod_cidr is not None: - pulumi.set(__self__, "i_pv6pod_cidr", i_pv6pod_cidr) - if i_pv6service_cidr is not None: - pulumi.set(__self__, "i_pv6service_cidr", i_pv6service_cidr) - if enabled is not None: - pulumi.set(__self__, "enabled", enabled) - - @property - @pulumi.getter(name="IPv6podCIDR") - def i_pv6pod_cidr(self) -> Optional[str]: - return pulumi.get(self, "i_pv6pod_cidr") - - @property - @pulumi.getter(name="IPv6serviceCIDR") - def i_pv6service_cidr(self) -> Optional[str]: - return pulumi.get(self, "i_pv6service_cidr") - - @property - @pulumi.getter - def enabled(self) -> Optional[bool]: - return pulumi.get(self, "enabled") - - -@pulumi.output_type -class ClusterEnvoyProxy(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "apiServerBindPort": - suggest = "api_server_bind_port" - elif key == "imagePullPolicy": - suggest = "image_pull_policy" - elif key == "konnectivityServerBindPort": - suggest = "konnectivity_server_bind_port" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterEnvoyProxy. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ClusterEnvoyProxy.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ClusterEnvoyProxy.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - api_server_bind_port: Optional[int] = None, - image: Optional[str] = None, - image_pull_policy: Optional[str] = None, - konnectivity_server_bind_port: Optional[int] = None): - if api_server_bind_port is not None: - pulumi.set(__self__, "api_server_bind_port", api_server_bind_port) - if image is not None: - pulumi.set(__self__, "image", image) - if image_pull_policy is not None: - pulumi.set(__self__, "image_pull_policy", image_pull_policy) - if konnectivity_server_bind_port is not None: - pulumi.set(__self__, "konnectivity_server_bind_port", konnectivity_server_bind_port) - - @property - @pulumi.getter(name="apiServerBindPort") - def api_server_bind_port(self) -> Optional[int]: - return pulumi.get(self, "api_server_bind_port") - - @property - @pulumi.getter - def image(self) -> Optional[str]: - return pulumi.get(self, "image") - - @property - @pulumi.getter(name="imagePullPolicy") - def image_pull_policy(self) -> Optional[str]: - return pulumi.get(self, "image_pull_policy") - - @property - @pulumi.getter(name="konnectivityServerBindPort") - def konnectivity_server_bind_port(self) -> Optional[int]: - return pulumi.get(self, "konnectivity_server_bind_port") - - -@pulumi.output_type -class ClusterEtcd(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "externalCluster": - suggest = "external_cluster" - elif key == "extraArgs": - suggest = "extra_args" - elif key == "peerAddress": - suggest = "peer_address" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterEtcd. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ClusterEtcd.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ClusterEtcd.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - external_cluster: Optional['outputs.ClusterEtcdExternalCluster'] = None, - extra_args: Optional[Mapping[str, str]] = None, - peer_address: Optional[str] = None): - if external_cluster is not None: - pulumi.set(__self__, "external_cluster", external_cluster) - if extra_args is not None: - pulumi.set(__self__, "extra_args", extra_args) - if peer_address is not None: - pulumi.set(__self__, "peer_address", peer_address) - - @property - @pulumi.getter(name="externalCluster") - def external_cluster(self) -> Optional['outputs.ClusterEtcdExternalCluster']: - return pulumi.get(self, "external_cluster") - - @property - @pulumi.getter(name="extraArgs") - def extra_args(self) -> Optional[Mapping[str, str]]: - return pulumi.get(self, "extra_args") - - @property - @pulumi.getter(name="peerAddress") - def peer_address(self) -> Optional[str]: - return pulumi.get(self, "peer_address") - - -@pulumi.output_type -class ClusterEtcdExternalCluster(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "clientCert": - suggest = "client_cert" - elif key == "clientKey": - suggest = "client_key" - elif key == "etcdPrefix": - suggest = "etcd_prefix" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterEtcdExternalCluster. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ClusterEtcdExternalCluster.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ClusterEtcdExternalCluster.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - endpoints: Sequence[str], - ca: Optional[str] = None, - client_cert: Optional[str] = None, - client_key: Optional[str] = None, - etcd_prefix: Optional[str] = None): - pulumi.set(__self__, "endpoints", endpoints) - if ca is not None: - pulumi.set(__self__, "ca", ca) - if client_cert is not None: - pulumi.set(__self__, "client_cert", client_cert) - if client_key is not None: - pulumi.set(__self__, "client_key", client_key) - if etcd_prefix is not None: - pulumi.set(__self__, "etcd_prefix", etcd_prefix) - - @property - @pulumi.getter - def endpoints(self) -> Sequence[str]: - return pulumi.get(self, "endpoints") - - @property - @pulumi.getter - def ca(self) -> Optional[str]: - return pulumi.get(self, "ca") - - @property - @pulumi.getter(name="clientCert") - def client_cert(self) -> Optional[str]: - return pulumi.get(self, "client_cert") - - @property - @pulumi.getter(name="clientKey") - def client_key(self) -> Optional[str]: - return pulumi.get(self, "client_key") - - @property - @pulumi.getter(name="etcdPrefix") - def etcd_prefix(self) -> Optional[str]: - return pulumi.get(self, "etcd_prefix") - - -@pulumi.output_type -class ClusterFeatureGate(dict): - def __init__(__self__, *, - name: str, - components: Optional[Sequence[str]] = None, - enabled: Optional[bool] = None): - pulumi.set(__self__, "name", name) - if components is not None: - pulumi.set(__self__, "components", components) - if enabled is not None: - pulumi.set(__self__, "enabled", enabled) - - @property - @pulumi.getter - def name(self) -> str: - return pulumi.get(self, "name") + def flexvolume(self) -> Optional['outputs.K0sImage']: + return pulumi.get(self, "flexvolume") @property @pulumi.getter - def components(self) -> Optional[Sequence[str]]: - return pulumi.get(self, "components") + def kubecontrollers(self) -> Optional['outputs.K0sImage']: + return pulumi.get(self, "kubecontrollers") @property @pulumi.getter - def enabled(self) -> Optional[bool]: - return pulumi.get(self, "enabled") + def node(self) -> Optional['outputs.K0sImage']: + return pulumi.get(self, "node") @pulumi.output_type -class ClusterFile(dict): +class K0sControllerManager(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "dirPerm": - suggest = "dir_perm" - elif key == "dstDir": - suggest = "dst_dir" + if key == "extraArgs": + suggest = "extra_args" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterFile. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in K0sControllerManager. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ClusterFile.__key_warning(key) + K0sControllerManager.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ClusterFile.__key_warning(key) + K0sControllerManager.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - dir_perm: Optional[str] = None, - dst: Optional[str] = None, - dst_dir: Optional[str] = None, - group: Optional[str] = None, - name: Optional[str] = None, - perm: Optional[str] = None, - src: Optional[str] = None, - user: Optional[str] = None): - if dir_perm is not None: - pulumi.set(__self__, "dir_perm", dir_perm) - if dst is not None: - pulumi.set(__self__, "dst", dst) - if dst_dir is not None: - pulumi.set(__self__, "dst_dir", dst_dir) - if group is not None: - pulumi.set(__self__, "group", group) - if name is not None: - pulumi.set(__self__, "name", name) - if perm is not None: - pulumi.set(__self__, "perm", perm) - if src is not None: - pulumi.set(__self__, "src", src) - if user is not None: - pulumi.set(__self__, "user", user) + extra_args: Optional[Mapping[str, str]] = None): + if extra_args is not None: + pulumi.set(__self__, "extra_args", extra_args) @property - @pulumi.getter(name="dirPerm") - def dir_perm(self) -> Optional[str]: - return pulumi.get(self, "dir_perm") + @pulumi.getter(name="extraArgs") + def extra_args(self) -> Optional[Mapping[str, str]]: + return pulumi.get(self, "extra_args") - @property - @pulumi.getter - def dst(self) -> Optional[str]: - return pulumi.get(self, "dst") - @property - @pulumi.getter(name="dstDir") - def dst_dir(self) -> Optional[str]: - return pulumi.get(self, "dst_dir") +@pulumi.output_type +class K0sDualStack(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "IPv6podCIDR": + suggest = "i_pv6pod_cidr" + elif key == "IPv6serviceCIDR": + suggest = "i_pv6service_cidr" - @property - @pulumi.getter - def group(self) -> Optional[str]: - return pulumi.get(self, "group") + if suggest: + pulumi.log.warn(f"Key '{key}' not found in K0sDualStack. Access the value via the '{suggest}' property getter instead.") - @property - @pulumi.getter - def name(self) -> Optional[str]: - return pulumi.get(self, "name") + def __getitem__(self, key: str) -> Any: + K0sDualStack.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + K0sDualStack.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + i_pv6pod_cidr: Optional[str] = None, + i_pv6service_cidr: Optional[str] = None, + enabled: Optional[bool] = None): + if i_pv6pod_cidr is not None: + pulumi.set(__self__, "i_pv6pod_cidr", i_pv6pod_cidr) + if i_pv6service_cidr is not None: + pulumi.set(__self__, "i_pv6service_cidr", i_pv6service_cidr) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) @property - @pulumi.getter - def perm(self) -> Optional[str]: - return pulumi.get(self, "perm") + @pulumi.getter(name="IPv6podCIDR") + def i_pv6pod_cidr(self) -> Optional[str]: + return pulumi.get(self, "i_pv6pod_cidr") @property - @pulumi.getter - def src(self) -> Optional[str]: - return pulumi.get(self, "src") + @pulumi.getter(name="IPv6serviceCIDR") + def i_pv6service_cidr(self) -> Optional[str]: + return pulumi.get(self, "i_pv6service_cidr") @property @pulumi.getter - def user(self) -> Optional[str]: - return pulumi.get(self, "user") + def enabled(self) -> Optional[bool]: + return pulumi.get(self, "enabled") @pulumi.output_type -class ClusterHook(dict): - def __init__(__self__, *, - after: Optional[Sequence[str]] = None, - before: Optional[Sequence[str]] = None): - if after is not None: - pulumi.set(__self__, "after", after) - if before is not None: - pulumi.set(__self__, "before", before) +class K0sEnvoyProxy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "apiServerBindPort": + suggest = "api_server_bind_port" + elif key == "imagePullPolicy": + suggest = "image_pull_policy" + elif key == "konnectivityServerBindPort": + suggest = "konnectivity_server_bind_port" - @property - @pulumi.getter - def after(self) -> Optional[Sequence[str]]: - return pulumi.get(self, "after") + if suggest: + pulumi.log.warn(f"Key '{key}' not found in K0sEnvoyProxy. Access the value via the '{suggest}' property getter instead.") - @property - @pulumi.getter - def before(self) -> Optional[Sequence[str]]: - return pulumi.get(self, "before") + def __getitem__(self, key: str) -> Any: + K0sEnvoyProxy.__key_warning(key) + return super().__getitem__(key) + def get(self, key: str, default = None) -> Any: + K0sEnvoyProxy.__key_warning(key) + return super().get(key, default) -@pulumi.output_type -class ClusterHooks(dict): def __init__(__self__, *, - apply: Optional['outputs.ClusterHook'] = None, - backup: Optional['outputs.ClusterHook'] = None, - reset: Optional['outputs.ClusterHook'] = None): - if apply is not None: - pulumi.set(__self__, "apply", apply) - if backup is not None: - pulumi.set(__self__, "backup", backup) - if reset is not None: - pulumi.set(__self__, "reset", reset) + api_server_bind_port: Optional[int] = None, + image: Optional[str] = None, + image_pull_policy: Optional[str] = None, + konnectivity_server_bind_port: Optional[int] = None): + if api_server_bind_port is not None: + pulumi.set(__self__, "api_server_bind_port", api_server_bind_port) + if image is not None: + pulumi.set(__self__, "image", image) + if image_pull_policy is not None: + pulumi.set(__self__, "image_pull_policy", image_pull_policy) + if konnectivity_server_bind_port is not None: + pulumi.set(__self__, "konnectivity_server_bind_port", konnectivity_server_bind_port) @property - @pulumi.getter - def apply(self) -> Optional['outputs.ClusterHook']: - return pulumi.get(self, "apply") + @pulumi.getter(name="apiServerBindPort") + def api_server_bind_port(self) -> Optional[int]: + return pulumi.get(self, "api_server_bind_port") @property @pulumi.getter - def backup(self) -> Optional['outputs.ClusterHook']: - return pulumi.get(self, "backup") + def image(self) -> Optional[str]: + return pulumi.get(self, "image") @property - @pulumi.getter - def reset(self) -> Optional['outputs.ClusterHook']: - return pulumi.get(self, "reset") + @pulumi.getter(name="imagePullPolicy") + def image_pull_policy(self) -> Optional[str]: + return pulumi.get(self, "image_pull_policy") + + @property + @pulumi.getter(name="konnectivityServerBindPort") + def konnectivity_server_bind_port(self) -> Optional[int]: + return pulumi.get(self, "konnectivity_server_bind_port") @pulumi.output_type -class ClusterHost(dict): +class K0sEtcd(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "installFlags": - suggest = "install_flags" - elif key == "k0sBinaryPath": - suggest = "k0s_binary_path" - elif key == "noTaints": - suggest = "no_taints" - elif key == "privateAddress": - suggest = "private_address" - elif key == "privateInterface": - suggest = "private_interface" - elif key == "uploadBinary": - suggest = "upload_binary" - elif key == "winRM": - suggest = "win_rm" + if key == "externalCluster": + suggest = "external_cluster" + elif key == "extraArgs": + suggest = "extra_args" + elif key == "peerAddress": + suggest = "peer_address" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterHost. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in K0sEtcd. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ClusterHost.__key_warning(key) + K0sEtcd.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ClusterHost.__key_warning(key) + K0sEtcd.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - role: str, - environment: Optional[Mapping[str, str]] = None, - files: Optional[Sequence['outputs.ClusterFile']] = None, - hooks: Optional['outputs.ClusterHooks'] = None, - hostname: Optional[str] = None, - install_flags: Optional[Sequence[str]] = None, - k0s_binary_path: Optional[str] = None, - localhost: Optional['outputs.ClusterLocalhost'] = None, - no_taints: Optional[bool] = None, - os: Optional[str] = None, - private_address: Optional[str] = None, - private_interface: Optional[str] = None, - ssh: Optional['outputs.ClusterSSH'] = None, - upload_binary: Optional[bool] = None, - win_rm: Optional['outputs.ClusterWinRM'] = None): - pulumi.set(__self__, "role", role) - if environment is not None: - pulumi.set(__self__, "environment", environment) - if files is not None: - pulumi.set(__self__, "files", files) - if hooks is not None: - pulumi.set(__self__, "hooks", hooks) - if hostname is not None: - pulumi.set(__self__, "hostname", hostname) - if install_flags is not None: - pulumi.set(__self__, "install_flags", install_flags) - if k0s_binary_path is not None: - pulumi.set(__self__, "k0s_binary_path", k0s_binary_path) - if localhost is not None: - pulumi.set(__self__, "localhost", localhost) - if no_taints is not None: - pulumi.set(__self__, "no_taints", no_taints) - if os is not None: - pulumi.set(__self__, "os", os) - if private_address is not None: - pulumi.set(__self__, "private_address", private_address) - if private_interface is not None: - pulumi.set(__self__, "private_interface", private_interface) - if ssh is not None: - pulumi.set(__self__, "ssh", ssh) - if upload_binary is not None: - pulumi.set(__self__, "upload_binary", upload_binary) - if win_rm is not None: - pulumi.set(__self__, "win_rm", win_rm) + external_cluster: Optional['outputs.K0sEtcdExternalCluster'] = None, + extra_args: Optional[Mapping[str, str]] = None, + peer_address: Optional[str] = None): + if external_cluster is not None: + pulumi.set(__self__, "external_cluster", external_cluster) + if extra_args is not None: + pulumi.set(__self__, "extra_args", extra_args) + if peer_address is not None: + pulumi.set(__self__, "peer_address", peer_address) @property - @pulumi.getter - def role(self) -> str: - return pulumi.get(self, "role") + @pulumi.getter(name="externalCluster") + def external_cluster(self) -> Optional['outputs.K0sEtcdExternalCluster']: + return pulumi.get(self, "external_cluster") @property - @pulumi.getter - def environment(self) -> Optional[Mapping[str, str]]: - return pulumi.get(self, "environment") + @pulumi.getter(name="extraArgs") + def extra_args(self) -> Optional[Mapping[str, str]]: + return pulumi.get(self, "extra_args") @property - @pulumi.getter - def files(self) -> Optional[Sequence['outputs.ClusterFile']]: - return pulumi.get(self, "files") + @pulumi.getter(name="peerAddress") + def peer_address(self) -> Optional[str]: + return pulumi.get(self, "peer_address") - @property - @pulumi.getter - def hooks(self) -> Optional['outputs.ClusterHooks']: - return pulumi.get(self, "hooks") - @property - @pulumi.getter - def hostname(self) -> Optional[str]: - return pulumi.get(self, "hostname") +@pulumi.output_type +class K0sEtcdExternalCluster(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientCert": + suggest = "client_cert" + elif key == "clientKey": + suggest = "client_key" + elif key == "etcdPrefix": + suggest = "etcd_prefix" - @property - @pulumi.getter(name="installFlags") - def install_flags(self) -> Optional[Sequence[str]]: - return pulumi.get(self, "install_flags") + if suggest: + pulumi.log.warn(f"Key '{key}' not found in K0sEtcdExternalCluster. Access the value via the '{suggest}' property getter instead.") - @property - @pulumi.getter(name="k0sBinaryPath") - def k0s_binary_path(self) -> Optional[str]: - return pulumi.get(self, "k0s_binary_path") + def __getitem__(self, key: str) -> Any: + K0sEtcdExternalCluster.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + K0sEtcdExternalCluster.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + endpoints: Sequence[str], + ca: Optional[str] = None, + client_cert: Optional[str] = None, + client_key: Optional[str] = None, + etcd_prefix: Optional[str] = None): + pulumi.set(__self__, "endpoints", endpoints) + if ca is not None: + pulumi.set(__self__, "ca", ca) + if client_cert is not None: + pulumi.set(__self__, "client_cert", client_cert) + if client_key is not None: + pulumi.set(__self__, "client_key", client_key) + if etcd_prefix is not None: + pulumi.set(__self__, "etcd_prefix", etcd_prefix) @property @pulumi.getter - def localhost(self) -> Optional['outputs.ClusterLocalhost']: - return pulumi.get(self, "localhost") + def endpoints(self) -> Sequence[str]: + return pulumi.get(self, "endpoints") @property - @pulumi.getter(name="noTaints") - def no_taints(self) -> Optional[bool]: - return pulumi.get(self, "no_taints") + @pulumi.getter + def ca(self) -> Optional[str]: + return pulumi.get(self, "ca") @property - @pulumi.getter - def os(self) -> Optional[str]: - return pulumi.get(self, "os") + @pulumi.getter(name="clientCert") + def client_cert(self) -> Optional[str]: + return pulumi.get(self, "client_cert") @property - @pulumi.getter(name="privateAddress") - def private_address(self) -> Optional[str]: - return pulumi.get(self, "private_address") + @pulumi.getter(name="clientKey") + def client_key(self) -> Optional[str]: + return pulumi.get(self, "client_key") @property - @pulumi.getter(name="privateInterface") - def private_interface(self) -> Optional[str]: - return pulumi.get(self, "private_interface") + @pulumi.getter(name="etcdPrefix") + def etcd_prefix(self) -> Optional[str]: + return pulumi.get(self, "etcd_prefix") + + +@pulumi.output_type +class K0sFeatureGate(dict): + def __init__(__self__, *, + name: str, + components: Optional[Sequence[str]] = None, + enabled: Optional[bool] = None): + pulumi.set(__self__, "name", name) + if components is not None: + pulumi.set(__self__, "components", components) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) @property @pulumi.getter - def ssh(self) -> Optional['outputs.ClusterSSH']: - return pulumi.get(self, "ssh") + def name(self) -> str: + return pulumi.get(self, "name") @property - @pulumi.getter(name="uploadBinary") - def upload_binary(self) -> Optional[bool]: - return pulumi.get(self, "upload_binary") + @pulumi.getter + def components(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "components") @property - @pulumi.getter(name="winRM") - def win_rm(self) -> Optional['outputs.ClusterWinRM']: - return pulumi.get(self, "win_rm") + @pulumi.getter + def enabled(self) -> Optional[bool]: + return pulumi.get(self, "enabled") @pulumi.output_type -class ClusterImage(dict): +class K0sImage(dict): def __init__(__self__, *, image: Optional[str] = None, version: Optional[str] = None): @@ -857,16 +1205,16 @@ def version(self) -> Optional[str]: @pulumi.output_type -class ClusterImages(dict): +class K0sImages(dict): def __init__(__self__, *, - calico: Optional['outputs.ClusterCalicoImage'] = None, - coredns: Optional['outputs.ClusterImage'] = None, + calico: Optional['outputs.K0sCalicoImage'] = None, + coredns: Optional['outputs.K0sImage'] = None, default_pull_policy: Optional[str] = None, - konnectivity: Optional['outputs.ClusterImage'] = None, - kubeproxy: Optional['outputs.ClusterImage'] = None, - kuberouter: Optional['outputs.ClusterKubeRouterImage'] = None, - metricsserver: Optional['outputs.ClusterImage'] = None, - pause: Optional['outputs.ClusterImage'] = None, + konnectivity: Optional['outputs.K0sImage'] = None, + kubeproxy: Optional['outputs.K0sImage'] = None, + kuberouter: Optional['outputs.K0sKubeRouterImage'] = None, + metricsserver: Optional['outputs.K0sImage'] = None, + pause: Optional['outputs.K0sImage'] = None, repository: Optional[str] = None): if calico is not None: pulumi.set(__self__, "calico", calico) @@ -889,12 +1237,12 @@ def __init__(__self__, *, @property @pulumi.getter - def calico(self) -> Optional['outputs.ClusterCalicoImage']: + def calico(self) -> Optional['outputs.K0sCalicoImage']: return pulumi.get(self, "calico") @property @pulumi.getter - def coredns(self) -> Optional['outputs.ClusterImage']: + def coredns(self) -> Optional['outputs.K0sImage']: return pulumi.get(self, "coredns") @property @@ -904,323 +1252,120 @@ def default_pull_policy(self) -> Optional[str]: @property @pulumi.getter - def konnectivity(self) -> Optional['outputs.ClusterImage']: + def konnectivity(self) -> Optional['outputs.K0sImage']: return pulumi.get(self, "konnectivity") @property @pulumi.getter - def kubeproxy(self) -> Optional['outputs.ClusterImage']: - return pulumi.get(self, "kubeproxy") - - @property - @pulumi.getter - def kuberouter(self) -> Optional['outputs.ClusterKubeRouterImage']: - return pulumi.get(self, "kuberouter") - - @property - @pulumi.getter - def metricsserver(self) -> Optional['outputs.ClusterImage']: - return pulumi.get(self, "metricsserver") - - @property - @pulumi.getter - def pause(self) -> Optional['outputs.ClusterImage']: - return pulumi.get(self, "pause") - - @property - @pulumi.getter - def repository(self) -> Optional[str]: - return pulumi.get(self, "repository") - - -@pulumi.output_type -class ClusterInstallConfig(dict): - def __init__(__self__, *, - users: Optional['outputs.ClusterInstallConfigUser'] = None): - if users is not None: - pulumi.set(__self__, "users", users) - - @property - @pulumi.getter - def users(self) -> Optional['outputs.ClusterInstallConfigUser']: - return pulumi.get(self, "users") - - -@pulumi.output_type -class ClusterInstallConfigUser(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "etcdUser": - suggest = "etcd_user" - elif key == "kineUser": - suggest = "kine_user" - elif key == "konnectivityUser": - suggest = "konnectivity_user" - elif key == "kubeAPIserverUser": - suggest = "kube_apiserver_user" - elif key == "kubeSchedulerUser": - suggest = "kube_scheduler_user" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterInstallConfigUser. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ClusterInstallConfigUser.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ClusterInstallConfigUser.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - etcd_user: Optional[str] = None, - kine_user: Optional[str] = None, - konnectivity_user: Optional[str] = None, - kube_apiserver_user: Optional[str] = None, - kube_scheduler_user: Optional[str] = None): - if etcd_user is not None: - pulumi.set(__self__, "etcd_user", etcd_user) - if kine_user is not None: - pulumi.set(__self__, "kine_user", kine_user) - if konnectivity_user is not None: - pulumi.set(__self__, "konnectivity_user", konnectivity_user) - if kube_apiserver_user is not None: - pulumi.set(__self__, "kube_apiserver_user", kube_apiserver_user) - if kube_scheduler_user is not None: - pulumi.set(__self__, "kube_scheduler_user", kube_scheduler_user) - - @property - @pulumi.getter(name="etcdUser") - def etcd_user(self) -> Optional[str]: - return pulumi.get(self, "etcd_user") - - @property - @pulumi.getter(name="kineUser") - def kine_user(self) -> Optional[str]: - return pulumi.get(self, "kine_user") - - @property - @pulumi.getter(name="konnectivityUser") - def konnectivity_user(self) -> Optional[str]: - return pulumi.get(self, "konnectivity_user") - - @property - @pulumi.getter(name="kubeAPIserverUser") - def kube_apiserver_user(self) -> Optional[str]: - return pulumi.get(self, "kube_apiserver_user") - - @property - @pulumi.getter(name="kubeSchedulerUser") - def kube_scheduler_user(self) -> Optional[str]: - return pulumi.get(self, "kube_scheduler_user") - - -@pulumi.output_type -class ClusterK0s(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "dynamicConfig": - suggest = "dynamic_config" - elif key == "versionChannel": - suggest = "version_channel" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterK0s. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ClusterK0s.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ClusterK0s.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - config: Optional['outputs.ClusterK0sConfig'] = None, - dynamic_config: Optional[bool] = None, - version: Optional[str] = None, - version_channel: Optional[str] = None): - if config is not None: - pulumi.set(__self__, "config", config) - if dynamic_config is not None: - pulumi.set(__self__, "dynamic_config", dynamic_config) - if version is not None: - pulumi.set(__self__, "version", version) - if version_channel is not None: - pulumi.set(__self__, "version_channel", version_channel) - - @property - @pulumi.getter - def config(self) -> Optional['outputs.ClusterK0sConfig']: - return pulumi.get(self, "config") + def kubeproxy(self) -> Optional['outputs.K0sImage']: + return pulumi.get(self, "kubeproxy") @property - @pulumi.getter(name="dynamicConfig") - def dynamic_config(self) -> Optional[bool]: - return pulumi.get(self, "dynamic_config") + @pulumi.getter + def kuberouter(self) -> Optional['outputs.K0sKubeRouterImage']: + return pulumi.get(self, "kuberouter") @property @pulumi.getter - def version(self) -> Optional[str]: - return pulumi.get(self, "version") + def metricsserver(self) -> Optional['outputs.K0sImage']: + return pulumi.get(self, "metricsserver") @property - @pulumi.getter(name="versionChannel") - def version_channel(self) -> Optional[str]: - return pulumi.get(self, "version_channel") + @pulumi.getter + def pause(self) -> Optional['outputs.K0sImage']: + return pulumi.get(self, "pause") + + @property + @pulumi.getter + def repository(self) -> Optional[str]: + return pulumi.get(self, "repository") @pulumi.output_type -class ClusterK0sConfig(dict): +class K0sInstallConfig(dict): def __init__(__self__, *, - metadata: Optional['outputs.ClusterMetadata'] = None, - spec: Optional['outputs.ClusterK0sSpec'] = None): - if metadata is not None: - pulumi.set(__self__, "metadata", metadata) - if spec is not None: - pulumi.set(__self__, "spec", spec) - - @property - @pulumi.getter - def metadata(self) -> Optional['outputs.ClusterMetadata']: - return pulumi.get(self, "metadata") + users: Optional['outputs.K0sInstallConfigUser'] = None): + if users is not None: + pulumi.set(__self__, "users", users) @property @pulumi.getter - def spec(self) -> Optional['outputs.ClusterK0sSpec']: - return pulumi.get(self, "spec") + def users(self) -> Optional['outputs.K0sInstallConfigUser']: + return pulumi.get(self, "users") @pulumi.output_type -class ClusterK0sSpec(dict): +class K0sInstallConfigUser(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "controllerManager": - suggest = "controller_manager" - elif key == "featureGates": - suggest = "feature_gates" - elif key == "installConfig": - suggest = "install_config" - elif key == "podSecurityPolicy": - suggest = "pod_security_policy" - elif key == "workerProfiles": - suggest = "worker_profiles" + if key == "etcdUser": + suggest = "etcd_user" + elif key == "kineUser": + suggest = "kine_user" + elif key == "konnectivityUser": + suggest = "konnectivity_user" + elif key == "kubeAPIserverUser": + suggest = "kube_apiserver_user" + elif key == "kubeSchedulerUser": + suggest = "kube_scheduler_user" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterK0sSpec. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in K0sInstallConfigUser. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ClusterK0sSpec.__key_warning(key) + K0sInstallConfigUser.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ClusterK0sSpec.__key_warning(key) + K0sInstallConfigUser.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - api: Optional['outputs.ClusterAPI'] = None, - controller_manager: Optional['outputs.ClusterControllerManager'] = None, - feature_gates: Optional[Sequence['outputs.ClusterFeatureGate']] = None, - images: Optional['outputs.ClusterImages'] = None, - install_config: Optional['outputs.ClusterInstallConfig'] = None, - konnectivity: Optional['outputs.ClusterKonnectivity'] = None, - network: Optional['outputs.ClusterNetwork'] = None, - pod_security_policy: Optional['outputs.ClusterPodSecurityPolicy'] = None, - scheduler: Optional['outputs.ClusterScheduler'] = None, - storage: Optional['outputs.ClusterStorage'] = None, - telemetry: Optional['outputs.ClusterTelemetry'] = None, - worker_profiles: Optional[Sequence['outputs.ClusterWorkerProfile']] = None): - if api is not None: - pulumi.set(__self__, "api", api) - if controller_manager is not None: - pulumi.set(__self__, "controller_manager", controller_manager) - if feature_gates is not None: - pulumi.set(__self__, "feature_gates", feature_gates) - if images is not None: - pulumi.set(__self__, "images", images) - if install_config is not None: - pulumi.set(__self__, "install_config", install_config) - if konnectivity is not None: - pulumi.set(__self__, "konnectivity", konnectivity) - if network is not None: - pulumi.set(__self__, "network", network) - if pod_security_policy is not None: - pulumi.set(__self__, "pod_security_policy", pod_security_policy) - if scheduler is not None: - pulumi.set(__self__, "scheduler", scheduler) - if storage is not None: - pulumi.set(__self__, "storage", storage) - if telemetry is not None: - pulumi.set(__self__, "telemetry", telemetry) - if worker_profiles is not None: - pulumi.set(__self__, "worker_profiles", worker_profiles) - - @property - @pulumi.getter - def api(self) -> Optional['outputs.ClusterAPI']: - return pulumi.get(self, "api") - - @property - @pulumi.getter(name="controllerManager") - def controller_manager(self) -> Optional['outputs.ClusterControllerManager']: - return pulumi.get(self, "controller_manager") - - @property - @pulumi.getter(name="featureGates") - def feature_gates(self) -> Optional[Sequence['outputs.ClusterFeatureGate']]: - return pulumi.get(self, "feature_gates") - - @property - @pulumi.getter - def images(self) -> Optional['outputs.ClusterImages']: - return pulumi.get(self, "images") - - @property - @pulumi.getter(name="installConfig") - def install_config(self) -> Optional['outputs.ClusterInstallConfig']: - return pulumi.get(self, "install_config") - - @property - @pulumi.getter - def konnectivity(self) -> Optional['outputs.ClusterKonnectivity']: - return pulumi.get(self, "konnectivity") - - @property - @pulumi.getter - def network(self) -> Optional['outputs.ClusterNetwork']: - return pulumi.get(self, "network") + etcd_user: Optional[str] = None, + kine_user: Optional[str] = None, + konnectivity_user: Optional[str] = None, + kube_apiserver_user: Optional[str] = None, + kube_scheduler_user: Optional[str] = None): + if etcd_user is not None: + pulumi.set(__self__, "etcd_user", etcd_user) + if kine_user is not None: + pulumi.set(__self__, "kine_user", kine_user) + if konnectivity_user is not None: + pulumi.set(__self__, "konnectivity_user", konnectivity_user) + if kube_apiserver_user is not None: + pulumi.set(__self__, "kube_apiserver_user", kube_apiserver_user) + if kube_scheduler_user is not None: + pulumi.set(__self__, "kube_scheduler_user", kube_scheduler_user) @property - @pulumi.getter(name="podSecurityPolicy") - def pod_security_policy(self) -> Optional['outputs.ClusterPodSecurityPolicy']: - return pulumi.get(self, "pod_security_policy") + @pulumi.getter(name="etcdUser") + def etcd_user(self) -> Optional[str]: + return pulumi.get(self, "etcd_user") @property - @pulumi.getter - def scheduler(self) -> Optional['outputs.ClusterScheduler']: - return pulumi.get(self, "scheduler") + @pulumi.getter(name="kineUser") + def kine_user(self) -> Optional[str]: + return pulumi.get(self, "kine_user") @property - @pulumi.getter - def storage(self) -> Optional['outputs.ClusterStorage']: - return pulumi.get(self, "storage") + @pulumi.getter(name="konnectivityUser") + def konnectivity_user(self) -> Optional[str]: + return pulumi.get(self, "konnectivity_user") @property - @pulumi.getter - def telemetry(self) -> Optional['outputs.ClusterTelemetry']: - return pulumi.get(self, "telemetry") + @pulumi.getter(name="kubeAPIserverUser") + def kube_apiserver_user(self) -> Optional[str]: + return pulumi.get(self, "kube_apiserver_user") @property - @pulumi.getter(name="workerProfiles") - def worker_profiles(self) -> Optional[Sequence['outputs.ClusterWorkerProfile']]: - return pulumi.get(self, "worker_profiles") + @pulumi.getter(name="kubeSchedulerUser") + def kube_scheduler_user(self) -> Optional[str]: + return pulumi.get(self, "kube_scheduler_user") @pulumi.output_type -class ClusterKine(dict): +class K0sKine(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1228,14 +1373,14 @@ def __key_warning(key: str): suggest = "data_source" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterKine. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in K0sKine. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ClusterKine.__key_warning(key) + K0sKine.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ClusterKine.__key_warning(key) + K0sKine.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -1249,7 +1394,7 @@ def data_source(self) -> str: @pulumi.output_type -class ClusterKonnectivity(dict): +class K0sKonnectivity(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1259,14 +1404,14 @@ def __key_warning(key: str): suggest = "agent_port" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterKonnectivity. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in K0sKonnectivity. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ClusterKonnectivity.__key_warning(key) + K0sKonnectivity.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ClusterKonnectivity.__key_warning(key) + K0sKonnectivity.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -1289,7 +1434,7 @@ def agent_port(self) -> Optional[int]: @pulumi.output_type -class ClusterKubeProxy(dict): +class K0sKubeProxy(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1297,20 +1442,20 @@ def __key_warning(key: str): suggest = "node_port_addresses" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterKubeProxy. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in K0sKubeProxy. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ClusterKubeProxy.__key_warning(key) + K0sKubeProxy.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ClusterKubeProxy.__key_warning(key) + K0sKubeProxy.__key_warning(key) return super().get(key, default) def __init__(__self__, *, disabled: Optional[bool] = None, - iptables: Optional['outputs.ClusterKubeProxyIPTables'] = None, - ipvs: Optional['outputs.ClusterKubeProxyIPVS'] = None, + iptables: Optional['outputs.K0sKubeProxyIPTables'] = None, + ipvs: Optional['outputs.K0sKubeProxyIPVS'] = None, mode: Optional[str] = None, node_port_addresses: Optional[str] = None): if disabled is not None: @@ -1331,12 +1476,12 @@ def disabled(self) -> Optional[bool]: @property @pulumi.getter - def iptables(self) -> Optional['outputs.ClusterKubeProxyIPTables']: + def iptables(self) -> Optional['outputs.K0sKubeProxyIPTables']: return pulumi.get(self, "iptables") @property @pulumi.getter - def ipvs(self) -> Optional['outputs.ClusterKubeProxyIPVS']: + def ipvs(self) -> Optional['outputs.K0sKubeProxyIPVS']: return pulumi.get(self, "ipvs") @property @@ -1351,7 +1496,7 @@ def node_port_addresses(self) -> Optional[str]: @pulumi.output_type -class ClusterKubeProxyIPTables(dict): +class K0sKubeProxyIPTables(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1365,14 +1510,14 @@ def __key_warning(key: str): suggest = "sync_period" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterKubeProxyIPTables. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in K0sKubeProxyIPTables. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ClusterKubeProxyIPTables.__key_warning(key) + K0sKubeProxyIPTables.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ClusterKubeProxyIPTables.__key_warning(key) + K0sKubeProxyIPTables.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -1411,7 +1556,7 @@ def sync_period(self) -> Optional[str]: @pulumi.output_type -class ClusterKubeProxyIPVS(dict): +class K0sKubeProxyIPVS(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1431,14 +1576,14 @@ def __key_warning(key: str): suggest = "udp_timeout" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterKubeProxyIPVS. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in K0sKubeProxyIPVS. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ClusterKubeProxyIPVS.__key_warning(key) + K0sKubeProxyIPVS.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ClusterKubeProxyIPVS.__key_warning(key) + K0sKubeProxyIPVS.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -1509,7 +1654,7 @@ def udp_timeout(self) -> Optional[str]: @pulumi.output_type -class ClusterKubeRouter(dict): +class K0sKubeRouter(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1523,14 +1668,14 @@ def __key_warning(key: str): suggest = "metrics_port" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterKubeRouter. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in K0sKubeRouter. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ClusterKubeRouter.__key_warning(key) + K0sKubeRouter.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ClusterKubeRouter.__key_warning(key) + K0sKubeRouter.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -1585,7 +1730,7 @@ def mtu(self) -> Optional[int]: @pulumi.output_type -class ClusterKubeRouterImage(dict): +class K0sKubeRouterImage(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1593,19 +1738,19 @@ def __key_warning(key: str): suggest = "cni_installer" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterKubeRouterImage. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in K0sKubeRouterImage. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ClusterKubeRouterImage.__key_warning(key) + K0sKubeRouterImage.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ClusterKubeRouterImage.__key_warning(key) + K0sKubeRouterImage.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - cni: Optional['outputs.ClusterImage'] = None, - cni_installer: Optional['outputs.ClusterImage'] = None): + cni: Optional['outputs.K0sImage'] = None, + cni_installer: Optional['outputs.K0sImage'] = None): if cni is not None: pulumi.set(__self__, "cni", cni) if cni_installer is not None: @@ -1613,30 +1758,17 @@ def __init__(__self__, *, @property @pulumi.getter - def cni(self) -> Optional['outputs.ClusterImage']: + def cni(self) -> Optional['outputs.K0sImage']: return pulumi.get(self, "cni") @property @pulumi.getter(name="cniInstaller") - def cni_installer(self) -> Optional['outputs.ClusterImage']: + def cni_installer(self) -> Optional['outputs.K0sImage']: return pulumi.get(self, "cni_installer") @pulumi.output_type -class ClusterLocalhost(dict): - def __init__(__self__, *, - enabled: Optional[bool] = None): - if enabled is not None: - pulumi.set(__self__, "enabled", enabled) - - @property - @pulumi.getter - def enabled(self) -> Optional[bool]: - return pulumi.get(self, "enabled") - - -@pulumi.output_type -class ClusterMetadata(dict): +class K0sMetadata(dict): def __init__(__self__, *, name: str): pulumi.set(__self__, "name", name) @@ -1648,7 +1780,7 @@ def name(self) -> str: @pulumi.output_type -class ClusterNetwork(dict): +class K0sNetwork(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1666,23 +1798,23 @@ def __key_warning(key: str): suggest = "service_cidr" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterNetwork. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in K0sNetwork. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ClusterNetwork.__key_warning(key) + K0sNetwork.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ClusterNetwork.__key_warning(key) + K0sNetwork.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - calico: Optional['outputs.ClusterCalico'] = None, + calico: Optional['outputs.K0sCalico'] = None, cluster_domain: Optional[str] = None, - dual_stack: Optional['outputs.ClusterDualStack'] = None, - kube_proxy: Optional['outputs.ClusterKubeProxy'] = None, - kuberouter: Optional['outputs.ClusterKubeRouter'] = None, - node_local_load_balancing: Optional['outputs.ClusterNodeLocalLoadBalancing'] = None, + dual_stack: Optional['outputs.K0sDualStack'] = None, + kube_proxy: Optional['outputs.K0sKubeProxy'] = None, + kuberouter: Optional['outputs.K0sKubeRouter'] = None, + node_local_load_balancing: Optional['outputs.K0sNodeLocalLoadBalancing'] = None, pod_cidr: Optional[str] = None, provider: Optional[str] = None, service_cidr: Optional[str] = None): @@ -1707,7 +1839,7 @@ def __init__(__self__, *, @property @pulumi.getter - def calico(self) -> Optional['outputs.ClusterCalico']: + def calico(self) -> Optional['outputs.K0sCalico']: return pulumi.get(self, "calico") @property @@ -1717,22 +1849,22 @@ def cluster_domain(self) -> Optional[str]: @property @pulumi.getter(name="dualStack") - def dual_stack(self) -> Optional['outputs.ClusterDualStack']: + def dual_stack(self) -> Optional['outputs.K0sDualStack']: return pulumi.get(self, "dual_stack") @property @pulumi.getter(name="kubeProxy") - def kube_proxy(self) -> Optional['outputs.ClusterKubeProxy']: + def kube_proxy(self) -> Optional['outputs.K0sKubeProxy']: return pulumi.get(self, "kube_proxy") @property @pulumi.getter - def kuberouter(self) -> Optional['outputs.ClusterKubeRouter']: + def kuberouter(self) -> Optional['outputs.K0sKubeRouter']: return pulumi.get(self, "kuberouter") @property @pulumi.getter(name="nodeLocalLoadBalancing") - def node_local_load_balancing(self) -> Optional['outputs.ClusterNodeLocalLoadBalancing']: + def node_local_load_balancing(self) -> Optional['outputs.K0sNodeLocalLoadBalancing']: return pulumi.get(self, "node_local_load_balancing") @property @@ -1752,7 +1884,7 @@ def service_cidr(self) -> Optional[str]: @pulumi.output_type -class ClusterNodeLocalLoadBalancing(dict): +class K0sNodeLocalLoadBalancing(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1760,359 +1892,273 @@ def __key_warning(key: str): suggest = "envoy_proxy" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterNodeLocalLoadBalancing. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in K0sNodeLocalLoadBalancing. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ClusterNodeLocalLoadBalancing.__key_warning(key) + K0sNodeLocalLoadBalancing.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ClusterNodeLocalLoadBalancing.__key_warning(key) + K0sNodeLocalLoadBalancing.__key_warning(key) return super().get(key, default) def __init__(__self__, *, enabled: Optional[bool] = None, - envoy_proxy: Optional['outputs.ClusterEnvoyProxy'] = None, + envoy_proxy: Optional['outputs.K0sEnvoyProxy'] = None, type: Optional[str] = None): if enabled is not None: pulumi.set(__self__, "enabled", enabled) - if envoy_proxy is not None: - pulumi.set(__self__, "envoy_proxy", envoy_proxy) - if type is not None: - pulumi.set(__self__, "type", type) - - @property - @pulumi.getter - def enabled(self) -> Optional[bool]: - return pulumi.get(self, "enabled") - - @property - @pulumi.getter(name="envoyProxy") - def envoy_proxy(self) -> Optional['outputs.ClusterEnvoyProxy']: - return pulumi.get(self, "envoy_proxy") - - @property - @pulumi.getter - def type(self) -> Optional[str]: - return pulumi.get(self, "type") - - -@pulumi.output_type -class ClusterPodSecurityPolicy(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "defaultPolicy": - suggest = "default_policy" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterPodSecurityPolicy. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ClusterPodSecurityPolicy.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ClusterPodSecurityPolicy.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - default_policy: Optional[str] = None): - if default_policy is not None: - pulumi.set(__self__, "default_policy", default_policy) - - @property - @pulumi.getter(name="defaultPolicy") - def default_policy(self) -> Optional[str]: - return pulumi.get(self, "default_policy") - - -@pulumi.output_type -class ClusterSSH(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "hostKey": - suggest = "host_key" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterSSH. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ClusterSSH.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ClusterSSH.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - address: str, - bastion: Optional['outputs.ClusterSSH'] = None, - host_key: Optional[str] = None, - key: Optional[str] = None, - port: Optional[int] = None, - user: Optional[str] = None): - pulumi.set(__self__, "address", address) - if bastion is not None: - pulumi.set(__self__, "bastion", bastion) - if host_key is not None: - pulumi.set(__self__, "host_key", host_key) - if key is not None: - pulumi.set(__self__, "key", key) - if port is not None: - pulumi.set(__self__, "port", port) - if user is not None: - pulumi.set(__self__, "user", user) - - @property - @pulumi.getter - def address(self) -> str: - return pulumi.get(self, "address") - - @property - @pulumi.getter - def bastion(self) -> Optional['outputs.ClusterSSH']: - return pulumi.get(self, "bastion") - - @property - @pulumi.getter(name="hostKey") - def host_key(self) -> Optional[str]: - return pulumi.get(self, "host_key") + if envoy_proxy is not None: + pulumi.set(__self__, "envoy_proxy", envoy_proxy) + if type is not None: + pulumi.set(__self__, "type", type) @property @pulumi.getter - def key(self) -> Optional[str]: - return pulumi.get(self, "key") + def enabled(self) -> Optional[bool]: + return pulumi.get(self, "enabled") @property - @pulumi.getter - def port(self) -> Optional[int]: - return pulumi.get(self, "port") + @pulumi.getter(name="envoyProxy") + def envoy_proxy(self) -> Optional['outputs.K0sEnvoyProxy']: + return pulumi.get(self, "envoy_proxy") @property @pulumi.getter - def user(self) -> Optional[str]: - return pulumi.get(self, "user") + def type(self) -> Optional[str]: + return pulumi.get(self, "type") @pulumi.output_type -class ClusterScheduler(dict): +class K0sPodSecurityPolicy(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "extraArgs": - suggest = "extra_args" + if key == "defaultPolicy": + suggest = "default_policy" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterScheduler. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in K0sPodSecurityPolicy. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ClusterScheduler.__key_warning(key) + K0sPodSecurityPolicy.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ClusterScheduler.__key_warning(key) + K0sPodSecurityPolicy.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - extra_args: Optional[Mapping[str, str]] = None): - if extra_args is not None: - pulumi.set(__self__, "extra_args", extra_args) - - @property - @pulumi.getter(name="extraArgs") - def extra_args(self) -> Optional[Mapping[str, str]]: - return pulumi.get(self, "extra_args") - - -@pulumi.output_type -class ClusterSpec(dict): - def __init__(__self__, *, - hosts: Sequence['outputs.ClusterHost'], - k0s: Optional['outputs.ClusterK0s'] = None): - pulumi.set(__self__, "hosts", hosts) - if k0s is not None: - pulumi.set(__self__, "k0s", k0s) - - @property - @pulumi.getter - def hosts(self) -> Sequence['outputs.ClusterHost']: - return pulumi.get(self, "hosts") + default_policy: Optional[str] = None): + if default_policy is not None: + pulumi.set(__self__, "default_policy", default_policy) @property - @pulumi.getter - def k0s(self) -> Optional['outputs.ClusterK0s']: - return pulumi.get(self, "k0s") + @pulumi.getter(name="defaultPolicy") + def default_policy(self) -> Optional[str]: + return pulumi.get(self, "default_policy") @pulumi.output_type -class ClusterStorage(dict): - def __init__(__self__, *, - etcd: Optional['outputs.ClusterEtcd'] = None, - kine: Optional['outputs.ClusterKine'] = None, - type: Optional[str] = None): - if etcd is not None: - pulumi.set(__self__, "etcd", etcd) - if kine is not None: - pulumi.set(__self__, "kine", kine) - if type is not None: - pulumi.set(__self__, "type", type) - - @property - @pulumi.getter - def etcd(self) -> Optional['outputs.ClusterEtcd']: - return pulumi.get(self, "etcd") +class K0sScheduler(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "extraArgs": + suggest = "extra_args" - @property - @pulumi.getter - def kine(self) -> Optional['outputs.ClusterKine']: - return pulumi.get(self, "kine") + if suggest: + pulumi.log.warn(f"Key '{key}' not found in K0sScheduler. Access the value via the '{suggest}' property getter instead.") - @property - @pulumi.getter - def type(self) -> Optional[str]: - return pulumi.get(self, "type") + def __getitem__(self, key: str) -> Any: + K0sScheduler.__key_warning(key) + return super().__getitem__(key) + def get(self, key: str, default = None) -> Any: + K0sScheduler.__key_warning(key) + return super().get(key, default) -@pulumi.output_type -class ClusterTelemetry(dict): def __init__(__self__, *, - enabled: Optional[bool] = None): - if enabled is not None: - pulumi.set(__self__, "enabled", enabled) + extra_args: Optional[Mapping[str, str]] = None): + if extra_args is not None: + pulumi.set(__self__, "extra_args", extra_args) @property - @pulumi.getter - def enabled(self) -> Optional[bool]: - return pulumi.get(self, "enabled") + @pulumi.getter(name="extraArgs") + def extra_args(self) -> Optional[Mapping[str, str]]: + return pulumi.get(self, "extra_args") @pulumi.output_type -class ClusterWinRM(dict): +class K0sSpec(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "caCert": - suggest = "ca_cert" - elif key == "tlsServerName": - suggest = "tls_server_name" - elif key == "useHTTPS": - suggest = "use_https" - elif key == "useNTLM": - suggest = "use_ntlm" + if key == "controllerManager": + suggest = "controller_manager" + elif key == "featureGates": + suggest = "feature_gates" + elif key == "installConfig": + suggest = "install_config" + elif key == "podSecurityPolicy": + suggest = "pod_security_policy" + elif key == "workerProfiles": + suggest = "worker_profiles" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterWinRM. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in K0sSpec. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ClusterWinRM.__key_warning(key) + K0sSpec.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ClusterWinRM.__key_warning(key) + K0sSpec.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - address: str, - bastion: Optional['outputs.ClusterSSH'] = None, - ca_cert: Optional[str] = None, - cert: Optional[str] = None, - insecure: Optional[bool] = None, - key: Optional[str] = None, - password: Optional[str] = None, - port: Optional[int] = None, - tls_server_name: Optional[str] = None, - use_https: Optional[bool] = None, - use_ntlm: Optional[bool] = None, - user: Optional[str] = None): - pulumi.set(__self__, "address", address) - if bastion is not None: - pulumi.set(__self__, "bastion", bastion) - if ca_cert is not None: - pulumi.set(__self__, "ca_cert", ca_cert) - if cert is not None: - pulumi.set(__self__, "cert", cert) - if insecure is not None: - pulumi.set(__self__, "insecure", insecure) - if key is not None: - pulumi.set(__self__, "key", key) - if password is not None: - pulumi.set(__self__, "password", password) - if port is not None: - pulumi.set(__self__, "port", port) - if tls_server_name is not None: - pulumi.set(__self__, "tls_server_name", tls_server_name) - if use_https is not None: - pulumi.set(__self__, "use_https", use_https) - if use_ntlm is not None: - pulumi.set(__self__, "use_ntlm", use_ntlm) - if user is not None: - pulumi.set(__self__, "user", user) + api: Optional['outputs.K0sAPI'] = None, + controller_manager: Optional['outputs.K0sControllerManager'] = None, + feature_gates: Optional[Sequence['outputs.K0sFeatureGate']] = None, + images: Optional['outputs.K0sImages'] = None, + install_config: Optional['outputs.K0sInstallConfig'] = None, + konnectivity: Optional['outputs.K0sKonnectivity'] = None, + network: Optional['outputs.K0sNetwork'] = None, + pod_security_policy: Optional['outputs.K0sPodSecurityPolicy'] = None, + scheduler: Optional['outputs.K0sScheduler'] = None, + storage: Optional['outputs.K0sStorage'] = None, + telemetry: Optional['outputs.K0sTelemetry'] = None, + worker_profiles: Optional[Sequence['outputs.K0sWorkerProfile']] = None): + if api is not None: + pulumi.set(__self__, "api", api) + if controller_manager is not None: + pulumi.set(__self__, "controller_manager", controller_manager) + if feature_gates is not None: + pulumi.set(__self__, "feature_gates", feature_gates) + if images is not None: + pulumi.set(__self__, "images", images) + if install_config is not None: + pulumi.set(__self__, "install_config", install_config) + if konnectivity is not None: + pulumi.set(__self__, "konnectivity", konnectivity) + if network is not None: + pulumi.set(__self__, "network", network) + if pod_security_policy is not None: + pulumi.set(__self__, "pod_security_policy", pod_security_policy) + if scheduler is not None: + pulumi.set(__self__, "scheduler", scheduler) + if storage is not None: + pulumi.set(__self__, "storage", storage) + if telemetry is not None: + pulumi.set(__self__, "telemetry", telemetry) + if worker_profiles is not None: + pulumi.set(__self__, "worker_profiles", worker_profiles) @property @pulumi.getter - def address(self) -> str: - return pulumi.get(self, "address") + def api(self) -> Optional['outputs.K0sAPI']: + return pulumi.get(self, "api") + + @property + @pulumi.getter(name="controllerManager") + def controller_manager(self) -> Optional['outputs.K0sControllerManager']: + return pulumi.get(self, "controller_manager") + + @property + @pulumi.getter(name="featureGates") + def feature_gates(self) -> Optional[Sequence['outputs.K0sFeatureGate']]: + return pulumi.get(self, "feature_gates") @property @pulumi.getter - def bastion(self) -> Optional['outputs.ClusterSSH']: - return pulumi.get(self, "bastion") + def images(self) -> Optional['outputs.K0sImages']: + return pulumi.get(self, "images") @property - @pulumi.getter(name="caCert") - def ca_cert(self) -> Optional[str]: - return pulumi.get(self, "ca_cert") + @pulumi.getter(name="installConfig") + def install_config(self) -> Optional['outputs.K0sInstallConfig']: + return pulumi.get(self, "install_config") @property @pulumi.getter - def cert(self) -> Optional[str]: - return pulumi.get(self, "cert") + def konnectivity(self) -> Optional['outputs.K0sKonnectivity']: + return pulumi.get(self, "konnectivity") @property @pulumi.getter - def insecure(self) -> Optional[bool]: - return pulumi.get(self, "insecure") + def network(self) -> Optional['outputs.K0sNetwork']: + return pulumi.get(self, "network") + + @property + @pulumi.getter(name="podSecurityPolicy") + def pod_security_policy(self) -> Optional['outputs.K0sPodSecurityPolicy']: + return pulumi.get(self, "pod_security_policy") @property @pulumi.getter - def key(self) -> Optional[str]: - return pulumi.get(self, "key") + def scheduler(self) -> Optional['outputs.K0sScheduler']: + return pulumi.get(self, "scheduler") @property @pulumi.getter - def password(self) -> Optional[str]: - return pulumi.get(self, "password") + def storage(self) -> Optional['outputs.K0sStorage']: + return pulumi.get(self, "storage") @property @pulumi.getter - def port(self) -> Optional[int]: - return pulumi.get(self, "port") + def telemetry(self) -> Optional['outputs.K0sTelemetry']: + return pulumi.get(self, "telemetry") @property - @pulumi.getter(name="tlsServerName") - def tls_server_name(self) -> Optional[str]: - return pulumi.get(self, "tls_server_name") + @pulumi.getter(name="workerProfiles") + def worker_profiles(self) -> Optional[Sequence['outputs.K0sWorkerProfile']]: + return pulumi.get(self, "worker_profiles") + + +@pulumi.output_type +class K0sStorage(dict): + def __init__(__self__, *, + etcd: Optional['outputs.K0sEtcd'] = None, + kine: Optional['outputs.K0sKine'] = None, + type: Optional[str] = None): + if etcd is not None: + pulumi.set(__self__, "etcd", etcd) + if kine is not None: + pulumi.set(__self__, "kine", kine) + if type is not None: + pulumi.set(__self__, "type", type) @property - @pulumi.getter(name="useHTTPS") - def use_https(self) -> Optional[bool]: - return pulumi.get(self, "use_https") + @pulumi.getter + def etcd(self) -> Optional['outputs.K0sEtcd']: + return pulumi.get(self, "etcd") @property - @pulumi.getter(name="useNTLM") - def use_ntlm(self) -> Optional[bool]: - return pulumi.get(self, "use_ntlm") + @pulumi.getter + def kine(self) -> Optional['outputs.K0sKine']: + return pulumi.get(self, "kine") @property @pulumi.getter - def user(self) -> Optional[str]: - return pulumi.get(self, "user") + def type(self) -> Optional[str]: + return pulumi.get(self, "type") + + +@pulumi.output_type +class K0sTelemetry(dict): + def __init__(__self__, *, + enabled: Optional[bool] = None): + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + return pulumi.get(self, "enabled") @pulumi.output_type -class ClusterWorkerProfile(dict): +class K0sWorkerProfile(dict): def __init__(__self__, *, name: str, values: Mapping[str, Any]): diff --git a/tests/go.mod b/tests/go.mod index a1b08fc..11415e3 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -1,6 +1,8 @@ module github.com/ydkn/pulumi-k0s/tests -go 1.21 +go 1.21.0 + +toolchain go1.21.7 replace github.com/ydkn/pulumi-k0s/provider => ../provider @@ -12,7 +14,7 @@ require ( github.com/pulumi/pulumi-go-provider/integration v0.10.0 github.com/pulumi/pulumi/sdk/v3 v3.107.0 github.com/stretchr/testify v1.8.4 - github.com/ydkn/pulumi-k0s/provider v0.0.0-20240221091553-f4628a5f9e4b + github.com/ydkn/pulumi-k0s/provider v0.0.0-20240222184819-99199888c1d3 ) require ( @@ -20,6 +22,7 @@ require ( github.com/AlecAivazis/survey/v2 v2.3.7 // indirect github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 // indirect github.com/ChrisTrenkamp/goxpath v0.0.0-20210404020558-97928f7e12b6 // indirect + github.com/Masterminds/semver/v3 v3.2.1 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/ProtonMail/go-crypto v1.0.0 // indirect github.com/TwiN/deepmerge v0.2.1 // indirect @@ -43,6 +46,7 @@ require ( github.com/cheggaaa/pb v1.0.29 // indirect github.com/cloudflare/circl v1.3.7 // indirect github.com/containerd/console v1.0.4 // indirect + github.com/containerd/containerd v1.7.13 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/creasty/defaults v1.7.0 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect @@ -85,6 +89,7 @@ require ( github.com/jellydator/validation v1.1.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/k0sproject/dig v0.2.0 // indirect + github.com/k0sproject/k0s v1.29.2-0.20240222143930-8a0d67645b91 // indirect github.com/k0sproject/k0sctl v0.17.4 // indirect github.com/k0sproject/rig v0.18.0 // indirect github.com/k0sproject/version v0.6.0 // indirect @@ -101,9 +106,11 @@ require ( github.com/mattn/go-runewidth v0.0.15 // indirect github.com/mattn/go-shellwords v1.0.12 // indirect github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect + github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-ps v1.0.0 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect @@ -111,6 +118,7 @@ require ( github.com/muesli/reflow v0.3.0 // indirect github.com/muesli/termenv v0.15.2 // indirect github.com/natefinch/atomic v1.0.1 // indirect + github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opentracing/basictracer-go v1.1.0 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/pgavlin/fx v0.1.6 // indirect @@ -144,12 +152,15 @@ require ( github.com/uber/jaeger-lib v2.4.1+incompatible // indirect github.com/urfave/cli/v2 v2.27.1 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect + github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect + github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect + github.com/xeipuuv/gojsonschema v1.2.0 // indirect github.com/xrash/smetrics v0.0.0-20231213231151-1d8dd44e695e // indirect github.com/xtgo/uuid v0.0.0-20140804021211-a0b114877d4c // indirect github.com/zclconf/go-cty v1.14.2 // indirect go.uber.org/atomic v1.11.0 // indirect golang.org/x/crypto v0.19.0 // indirect - golang.org/x/exp v0.0.0-20240213143201-ec583247a57a // indirect + golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect golang.org/x/mod v0.15.0 // indirect golang.org/x/net v0.21.0 // indirect golang.org/x/oauth2 v0.17.0 // indirect @@ -167,11 +178,15 @@ require ( gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect + helm.sh/helm/v3 v3.14.2 // indirect + k8s.io/api v0.29.2 // indirect + k8s.io/apiextensions-apiserver v0.29.2 // indirect k8s.io/apimachinery v0.29.2 // indirect k8s.io/client-go v0.29.2 // indirect k8s.io/klog/v2 v2.120.1 // indirect k8s.io/utils v0.0.0-20240102154912-e7106e64919e // indirect lukechampine.com/frand v1.4.2 // indirect + sigs.k8s.io/controller-runtime v0.17.2 // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect sigs.k8s.io/yaml v1.4.0 // indirect diff --git a/tests/go.sum b/tests/go.sum index d784691..f879479 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -8,6 +8,10 @@ github.com/ChrisTrenkamp/goxpath v0.0.0-20210404020558-97928f7e12b6 h1:w0E0fgc1Y github.com/ChrisTrenkamp/goxpath v0.0.0-20210404020558-97928f7e12b6/go.mod h1:nuWgzSkT5PnyOd+272uUmV0dnAnAn42Mk7PiQC5VzN4= github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= +github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0= +github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= @@ -68,6 +72,8 @@ github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vc github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/containerd/console v1.0.4 h1:F2g4+oChYvBTsASRTz8NP6iIAi97J3TtSAsLbIFn4ro= github.com/containerd/console v1.0.4/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= +github.com/containerd/containerd v1.7.13 h1:wPYKIeGMN8vaggSKuV1X0wZulpMz4CrgEsZdaCyB6Is= +github.com/containerd/containerd v1.7.13/go.mod h1:zT3up6yTRfEUa6+GsITYIJNgSVL9NQ4x4h1RPzk0Wu4= github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.17 h1:QeVUsEDNrLBW4tMgZHvxy18sKtr6VI492kBhUfhDJNI= @@ -166,6 +172,8 @@ github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/C github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl/v2 v2.19.1 h1://i05Jqznmb2EXqa39Nsvyan2o5XyMowW5fnCKW5RPI= github.com/hashicorp/hcl/v2 v2.19.1/go.mod h1:ThLC89FV4p9MPW804KVbe/cEXoQ8NZEh+JtMeeGErHE= github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= @@ -197,6 +205,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/k0sproject/dig v0.2.0 h1:cNxEIl96g9kqSMfPSZLhpnZ0P8bWXKv08nxvsMHop5w= github.com/k0sproject/dig v0.2.0/go.mod h1:rBcqaQlJpcKdt2x/OE/lPvhGU50u/e95CSm5g/r4s78= +github.com/k0sproject/k0s v1.29.2-0.20240222143930-8a0d67645b91 h1:NAn69zVlJg9ygJCwwtBAFEeXP7q2ZHsz9zdRw+xD90I= +github.com/k0sproject/k0s v1.29.2-0.20240222143930-8a0d67645b91/go.mod h1:6T0371vICFKFqBeG6rIiNAp5Q97sHi6qln+MryOSZyI= github.com/k0sproject/k0sctl v0.17.4 h1:CNfCriE6GPwCDTaXLO41113x1e3YQCXxdrsNLEYkTCc= github.com/k0sproject/k0sctl v0.17.4/go.mod h1:ovmA+UEzXwg20bP2NdIx26ZbGc2PIK8Q/14zWreeXBg= github.com/k0sproject/rig v0.18.0 h1:posiCkevxtCmRzabweITLvR4nNBK7LRPI/OHVtXrMBs= @@ -249,12 +259,16 @@ github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lL github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI= github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -274,6 +288,8 @@ github.com/natefinch/atomic v1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0 github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM= github.com/onsi/gomega v1.29.0 h1:KIA/t2t5UBzoirT4H9tsML45GEbo3ouUnBHsCfD2tVg= github.com/onsi/gomega v1.29.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= +github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0= github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= @@ -361,10 +377,19 @@ github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaO github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/urfave/cli v1.22.14 h1:ebbhrRiGK2i4naQJr+1Xj92HXZCrK7MsyTS/ob3HnAk= +github.com/urfave/cli v1.22.14/go.mod h1:X0eDS6pD6Exaclxm99NJ3FiCDRED7vIHpx2mDOHLvkA= github.com/urfave/cli/v2 v2.27.1 h1:8xSQ6szndafKVRmfyeUMxkNUJQMjL1F2zmsZ+qHpfho= github.com/urfave/cli/v2 v2.27.1/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= +github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xrash/smetrics v0.0.0-20231213231151-1d8dd44e695e h1:+SOyEddqYF09QP7vr7CgJ1eti3pY9Fn3LHO1M1r/0sI= github.com/xrash/smetrics v0.0.0-20231213231151-1d8dd44e695e/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= github.com/xtgo/uuid v0.0.0-20140804021211-a0b114877d4c h1:3lbZUMbMiGUW/LMkfsEABsc5zNT9+b1CvsJx47JzJ8g= @@ -389,6 +414,8 @@ golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/exp v0.0.0-20240213143201-ec583247a57a h1:HinSgX1tJRX3KsL//Gxynpw5CTOAIPhgL4W8PNiIpVE= golang.org/x/exp v0.0.0-20240213143201-ec583247a57a/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= +golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ= +golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -504,8 +531,12 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +helm.sh/helm/v3 v3.14.2 h1:V71fv+NGZv0icBlr+in1MJXuUIHCiPG1hW9gEBISTIA= +helm.sh/helm/v3 v3.14.2/go.mod h1:2itvvDv2WSZXTllknfQo6j7u3VVgMAvm8POCDgYH424= k8s.io/api v0.29.2 h1:hBC7B9+MU+ptchxEqTNW2DkUosJpp1P+Wn6YncZ474A= k8s.io/api v0.29.2/go.mod h1:sdIaaKuU7P44aoyyLlikSLayT6Vb7bvJNCX105xZXY0= +k8s.io/apiextensions-apiserver v0.29.2 h1:UK3xB5lOWSnhaCk0RFZ0LUacPZz9RY4wi/yt2Iu+btg= +k8s.io/apiextensions-apiserver v0.29.2/go.mod h1:aLfYjpA5p3OwtqNXQFkhJ56TB+spV8Gc4wfMhUA3/b8= k8s.io/apimachinery v0.29.2 h1:EWGpfJ856oj11C52NRCHuU7rFDwxev48z+6DSlGNsV8= k8s.io/apimachinery v0.29.2/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTKU= k8s.io/client-go v0.29.2 h1:FEg85el1TeZp+/vYJM7hkDlSTFZ+c5nnK44DJ4FyoRg= @@ -520,6 +551,8 @@ lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +sigs.k8s.io/controller-runtime v0.17.2 h1:FwHwD1CTUemg0pW2otk7/U5/i5m2ymzvOXdbeGOUvw0= +sigs.k8s.io/controller-runtime v0.17.2/go.mod h1:+MngTvIQQQhfXtwfdGw/UOQ/aIaqsYywfCINOtwMO/s= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=