pulumiverse-cpln 0.0.37__tar.gz → 0.0.39__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/PKG-INFO +1 -1
  2. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/mk8s.py +2 -884
  3. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/workload.py +21 -22
  4. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln.egg-info/PKG-INFO +1 -1
  5. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/setup.py +1 -1
  6. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/README.md +0 -0
  7. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/__init__.py +0 -0
  8. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/_inputs.py +0 -0
  9. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/_utilities.py +0 -0
  10. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/agent.py +0 -0
  11. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/audit_context.py +0 -0
  12. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/cloud_account.py +0 -0
  13. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/config/__init__.py +0 -0
  14. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/config/vars.py +0 -0
  15. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/custom_location.py +0 -0
  16. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/domain.py +0 -0
  17. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/domain_route.py +0 -0
  18. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/get_cloud_account.py +0 -0
  19. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/get_gvc.py +0 -0
  20. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/get_image.py +0 -0
  21. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/get_images.py +0 -0
  22. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/get_location.py +0 -0
  23. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/get_locations.py +0 -0
  24. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/get_org.py +0 -0
  25. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/group.py +0 -0
  26. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/gvc.py +0 -0
  27. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/identity.py +0 -0
  28. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/location.py +0 -0
  29. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/org.py +0 -0
  30. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/org_logging.py +0 -0
  31. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/org_tracing.py +0 -0
  32. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/outputs.py +0 -0
  33. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/policy.py +0 -0
  34. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/provider.py +0 -0
  35. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/pulumi-plugin.json +0 -0
  36. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/py.typed +0 -0
  37. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/secret.py +0 -0
  38. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/service_account.py +0 -0
  39. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/service_account_key.py +0 -0
  40. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln/volume_set.py +0 -0
  41. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln.egg-info/SOURCES.txt +0 -0
  42. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln.egg-info/dependency_links.txt +0 -0
  43. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln.egg-info/not-zip-safe +0 -0
  44. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln.egg-info/requires.txt +0 -0
  45. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/pulumiverse_cpln.egg-info/top_level.txt +0 -0
  46. {pulumiverse_cpln-0.0.37 → pulumiverse_cpln-0.0.39}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulumiverse_cpln
3
- Version: 0.0.37
3
+ Version: 0.0.39
4
4
  Summary: A Pulumi package for creating and managing Control Plane (cpln) resources.
5
5
  Home-page: https://www.pulumi.com
6
6
  License: Apache-2.0
@@ -471,448 +471,7 @@ class Mk8s(pulumi.CustomResource):
471
471
  version: Optional[pulumi.Input[str]] = None,
472
472
  __props__=None):
473
473
  """
474
- Manages a Mk8s's [Mk8s](https://docs.controlplane.com/mk8s/overview).
475
-
476
- ## Declaration
477
-
478
- ### Required
479
-
480
- - **name** (String) Name of the Mk8s.
481
- - **version** (String)
482
-
483
- > **Note** Only one of the providers listed below can be included in a resource.
484
-
485
- - **generic_provider** (Block List, Max: 1) (see below)
486
- - **hetzner_provider** (Block List, Max: 1) (see below)
487
- - **aws_provider** (Block List, Max: 1) (see below)
488
- - **ephemeral_provider** (Block List, Max: 1) (see below)
489
-
490
- ### Optional
491
-
492
- - **description** (String) Description of the Mk8s.
493
- - **tags** (Map of String) Key-value map of resource tags.
494
- - **firewall** (Block List, Max: 1) (see below)
495
- - **add_ons** (Block List, Max: 1) (see below)
496
-
497
- <a id="nestedblock--generic_provider"></a>
498
-
499
- ### `generic_provider`
500
-
501
- Required:
502
-
503
- - **location** (String) Control Plane location that will host the K8S components. Prefer one that is closest to where the nodes are running.
504
- - **networking** (Block List, Max: 1) (see below)
505
-
506
- Optional:
507
-
508
- - **node_pool** (Block List) (see below)
509
-
510
- <a id="nestedblock--generic_provider--networking"></a>
511
-
512
- ### `generic_provider.networking`
513
-
514
- Networking declaration is required even if networking is not utilized. Example usage: `networking {}`.
515
-
516
- Optional:
517
-
518
- - **service_network** (String) The CIDR of the service network.
519
- - **pod_network** (String) The CIDR of the pod network.
520
-
521
- <a id="nestedblock--generic_provider--node_pool"></a>
522
-
523
- ### `generic_provider.node_pool`
524
-
525
- List of node pools.
526
-
527
- Required:
528
-
529
- - **name** (String)
530
-
531
- Optional:
532
-
533
- - **labels** (Map of String) Labels to attach to nodes of a node pool.
534
- - **taint** (Block List) (see below)
535
-
536
- <a id="nestedblock--generic_provider--node_pool--taint"></a>
537
-
538
- ### `generic_provider.node_pool.taint`
539
-
540
- Taint for the nodes of a pool.
541
-
542
- Optional:
543
-
544
- - **key** (String)
545
- - **value** (String)
546
- - **effect** (String)
547
-
548
- <a id="nestedblock--hetzner_provider"></a>
549
-
550
- ### `hetzner_provider`
551
-
552
- Required:
553
-
554
- - **region** (String) Hetzner region to deploy nodes to.
555
- - **token_secret_link** (String) Link to a secret holding Hetzner access key.
556
- - **network_id** (String) ID of the Hetzner network to deploy nodes to.
557
- - **networking** (Block List, Max: 1) (see below)
558
-
559
- Optional:
560
-
561
- - **hetzner_labels** (Map of String) Extra labels to attach to servers.
562
- - **pre_install_script** (String) Optional shell script that will be run before K8S is installed.
563
- - **firewall_id** (String) Optional firewall rule to attach to all nodes.
564
- - **node_pool** (Block List) (see below)
565
- - **dedicated_server_node_pool** (Block List) (see below)
566
- - **image** (String) Default image for all nodes.
567
- - **ssh_key** (String) SSH key name for accessing deployed nodes.
568
- - **autoscaler** (Block List, Max: 1) (see below)
569
- - **floating_ip_selector** (Map of String) If supplied, nodes will get assigned a random floating ip matching the selector.
570
-
571
- <a id="nestedblock--hetzner_provider--node_pool"></a>
572
-
573
- ### `hetzner_provider.node_pool`
574
-
575
- List of node pools.
576
-
577
- Required:
578
-
579
- - **name** (String)
580
- - **server_type** (String)
581
-
582
- Optional:
583
-
584
- - **labels** (Map of String) Labels to attach to nodes of a node pool.
585
- - **taint** (Block List) (see below)
586
- - **override_image** (String)
587
- - **min_size** (Number)
588
- - **max_size** (Number)
589
-
590
- <a id="nestedblock--hetzner_provider--dedicated_server_node_pool"></a>
591
-
592
- ### `hetzner_provider.dedicated_server_node_pool`
593
-
594
- Node pool that can configure dedicated Hetzner servers.
595
-
596
- Required:
597
-
598
- - **name** (String)
599
-
600
- Optional:
601
-
602
- - **labels** (Map of String) Labels to attach to nodes of a node pool.
603
- - **taint** (Block List) (see below)
604
-
605
- <a id="nestedblock--aws_provider"></a>
606
-
607
- ### `aws_provider`
608
-
609
- Required:
610
-
611
- - **region** (String) Region where the cluster nodes will live.
612
- - **skip_create_roles** (Boolean) If true, Control Plane will not create any roles.
613
- - **image** (Block List, Max: 1) (see below)
614
- - **deploy_role_arn** (String) Control Plane will set up the cluster by assuming this role.
615
- - **vpc_id** (String) The vpc where nodes will be deployed. Supports SSM.
616
- - **networking** (Block List, Max: 1) (see below)
617
-
618
- Optional:
619
-
620
- - **aws_tags** (Map of String) Extra tags to attach to all created objects.
621
- - **pre_install_script** (String) Optional shell script that will be run before K8S is installed. Supports SSM.
622
- - **key_pair** (String) Name of keyPair. Supports SSM
623
- - **disk_encryption_key_arn** (String) KMS key used to encrypt volumes. Supports SSM.
624
- - **security_group_ids** (List of String) Security groups to deploy nodes to. Security groups control if the cluster is multi-zone or single-zon.
625
- - **node_pool** (Block List) (see below)
626
- - **autoscaler** (Block List, Max: 1) (see below)
627
-
628
- <a id="nestedblock--aws_provider--node_pool"></a>
629
-
630
- ### `aws_provider.node_pool`
631
-
632
- List of node pools.
633
-
634
- Required:
635
-
636
- - **name** (String)
637
- - **instance_types** (List of String)
638
- - **override_image** (Block List, Max: 1) (see below)
639
- - **subnet_ids** (List of String)
640
-
641
- Optional:
642
-
643
- - **labels** (Map of String) Labels to attach to nodes of a node pool.
644
- - **taint** (Block List) (see below)
645
- - **boot_disk_size** (Number) Size in GB.
646
- - **min_size** (Number)
647
- - **max_size** (Number)
648
- - **on_demand_base_capacity** (Number)
649
- - **on_demand_percentage_above_base_capacity** (Number)
650
- - **spot_allocation_strategy** (String)
651
- - **extra_security_group_ids** (List of String)
652
-
653
- <a id="nestedblock--aws_provider--ami"></a>
654
-
655
- ### `ami`
656
-
657
- Default image for all nodes.
658
-
659
- Required:
660
-
661
- > **Note** Only one of the following listed below can be included.
662
-
663
- - **recommended** (String)
664
- - **exact** (String) Support SSM.
665
-
666
- <a id="nestedblock--ephemeral_provider"></a>
667
-
668
- ### `ephemeral_provider`
669
-
670
- Required:
671
-
672
- - **location** (String) Control Plane location that will host the K8S components. Prefer one that is closest to where the nodes are running.
673
-
674
- Optional:
675
-
676
- - **node_pool** (Block List) (see below)
677
-
678
- <a id="nestedblock--ephemeral_provider--node_pool"></a>
679
-
680
- ### `ephemeral_provider.node_pool`
681
-
682
- List of node pools.
683
-
684
- Required:
685
-
686
- - **name** (String)
687
- - **count** (Int) Number of nodes to deploy.
688
- - **arch** (String) CPU architecture of the nodes.
689
- - **flavor** (String) Linux distro to use for ephemeral nodes.
690
- - **cpu** (String) Allocated CPU.
691
- - **memory** (String) Allocated memory.
692
-
693
- Optional:
694
-
695
- - **labels** (Map of String) Labels to attach to nodes of a node pool.
696
- - **taint** (Block List) (see below)
697
-
698
- <a id="nestedblock--autoscaler"></a>
699
-
700
- ### `autoscaler`
701
-
702
- Optional:
703
-
704
- - **expander** (List of String)
705
- - **unneeded_time** (String)
706
- - **unready_time** (String)
707
- - **utilization_threshold** (Float64)
708
-
709
- <a id="nestedblock--firewall"></a>
710
-
711
- ### `firewall`
712
-
713
- Allow-list.
714
-
715
- Required:
716
-
717
- - **source_cidr** (String)
718
-
719
- Optional:
720
-
721
- - **description** (String)
722
-
723
- <a id="nestedblock--add_ons"></a>
724
-
725
- ### `add_ons`
726
-
727
- Optional:
728
-
729
- - **dashboard** (Boolean)
730
- - **azure_workload_identity** (Block List, Max: 1) (see below)
731
- - **aws_workload_identity** (Boolean)
732
- - **local_path_storage** (Boolean)
733
- - **metrics** (Block List, Max: 1) (see below)
734
- - **logs** (Block List, Max: 1) (see below)
735
- - **nvidia** (Block List, Max: 1) (see below)
736
- - **aws_efs** (Block List, Max: 1) (see below)
737
- - **aws_ecr** (Block List, Max: 1) (see below)
738
- - **aws_elb** (Block List, Max: 1) (see below)
739
- - **azure_acr** (Block List, Max: 1) (see below)
740
- - **sysbox** (Boolean)
741
-
742
- <a id="nestedblock--add_ons--azure_workload_identity"></a>
743
-
744
- ### `add_ons.azure_workload_identity`
745
-
746
- Required:
747
-
748
- - **tenant_id** (String) Tenant ID to use for workload identity.
749
-
750
- <a id="nestedblock--add_ons--metrics"></a>
751
-
752
- ### `add_ons.metrics`
753
-
754
- Optional:
755
-
756
- - **kube_state** (Boolean) Enable kube-state metrics.
757
- - **core_dns** (Boolean) Enable scraping of core-dns service.
758
- - **kubelet** (Boolean) Enable scraping kubelet stats.
759
- - **api_server** (Boolean) Enable scraping apiserver stats.
760
- - **node_exporter** (Boolean) Enable collecting node-level stats (disk, network, filesystem, etc).
761
- - **cadvisor** (Boolean) Enable CNI-level container stats.
762
- - **scrape_annotated** (Block List, Max: 1) (see below)
763
-
764
- <a id="nestedblock--add_ons--metrics--scrape-annotated"></a>
765
-
766
- ### `add_ons.metrics.scrape-annotated`
767
-
768
- Scrape pods annotated with prometheus.io/scrape=true.
769
-
770
- Optional:
771
-
772
- - **interval_seconds** (Number)
773
- - **include_namespaces** (String)
774
- - **exclude_namespaces** (String)
775
- - **retain_labels** (String)
776
-
777
- <a id="nestedblock--add_ons--logs"></a>
778
-
779
- ### `add_ons.logs`
780
-
781
- Optional:
782
-
783
- - **audit_enabled** (Boolean) Collect k8s audit log as log events.
784
- - **include_namespaces** (String)
785
- - **exclude_namespaces** (String)
786
-
787
- <a id="nestedblock--add_ons--nvidia"></a>
788
-
789
- ### `add_ons.nvidia`
790
-
791
- Required:
792
-
793
- - **taint_gpu_nodes** (Boolean)
794
-
795
- <a id="nestedblock--add_ons--aws--efs"></a>
796
-
797
- ### `add_ons.aws_efs`
798
-
799
- Required:
800
-
801
- - **role_arn** (String) Use this role for EFS interaction.
802
-
803
- <a id="nestedblock--add_ons--aws--ecr"></a>
804
-
805
- ### `add_ons.aws_ecr`
806
-
807
- Required:
808
-
809
- - **role_arn** (String) Role to use when authorizing ECR pulls. Optional on AWS, in which case it will use the instance role to pull.
810
-
811
- <a id="nestedblock--add_ons--aws--elb"></a>
812
-
813
- ### `add_ons.aws_elb`
814
-
815
- Required:
816
-
817
- - **role_arn** (String) Role to use when authorizing calls to EC2 ELB. Optional on AWS, when not provided it will create the recommended role.
818
-
819
- <a id="nestedblock--add_ons--azure_acr"></a>
820
-
821
- ### `add_ons.azure_acr`
822
-
823
- Required:
824
-
825
- - **client_id** (String)
826
-
827
- ## Outputs
828
-
829
- The following attributes are exported:
830
-
831
- - **cpln_id** (String) The ID, in GUID format, of the Mk8s.
832
- - **alias** (String) The alias name of the Mk8s.
833
- - **self_link** (String) Full link to this resource. Can be referenced by other resources.
834
- - **status** (Block List, Max: 1) (see below).
835
-
836
- <a id="nestedblock--status"></a>
837
-
838
- ### `status`
839
-
840
- Status of the mk8s.
841
-
842
- Read-Only:
843
-
844
- - **oidc_provider_url** (String)
845
- - **server_url** (String)
846
- - **home_location** (String)
847
- - **add_ons** (Block List, Max: 1) (see below)
848
-
849
- <a id="nestedblock--status--add_ons"></a>
850
-
851
- ### `status.add_ons`
852
-
853
- Read-Only:
854
-
855
- - **dashboard** (Block List, Max: 1) (see below)
856
- - **aws_workload_identity** (Block List, Max: 1) (see below)
857
- - **metrics** (Block List, Max: 1) (see below)
858
- - **logs** (Block List, Max: 1) (see below)
859
- - **aws_ecr** (Block List, Max: 1) (see below)
860
- - **aws_efs** (Block List, Max: 1) (see below)
861
- - **aws_elb** (Block List, Max: 1) (see below)
862
-
863
- <a id="nestedblock--status--add_ons--dashobard"></a>
864
-
865
- ### `status.add_ons.dashboard`
866
-
867
- Read-Only:
868
-
869
- - **url** (String) Access to dashboard.
870
-
871
- <a id="nestedblock--status--add_ons--aws_workload_identity"></a>
872
-
873
- ### `status.add_ons.aws_workload_identity`
874
-
875
- Read-Only:
876
-
877
- - **oidc_provider_config** (Block List, Max: 1) (see below)
878
- - **trust_policy** (String)
879
-
880
- <a id="nestedblock--status--add_ons--aws_workload_identity--oidc_provider_config"></a>
881
-
882
- ### `status.add_ons.aws_workload_identity.oidc_provider_config`
883
-
884
- Read-Only:
885
-
886
- - **provider_url** (String)
887
- - **audience** (String)
888
-
889
- <a id="nestedblock--status--add_ons--metrics"></a>
890
-
891
- ### `status.add_ons.metrics`
892
-
893
- Read-Only:
894
-
895
- - **prometheus_endpoint** (String)
896
- - **remote_write_config** (String)
897
-
898
- <a id="nestedblock--status--add_ons--logs"></a>
899
-
900
- ### `status.add_ons.logs`
901
-
902
- Read-Only:
903
-
904
- - **loki_address** (String) Loki endpoint to query logs from.
905
-
906
- <a id="nestedblock--status--add_ons--aws"></a>
907
-
908
- ### `status.add_ons.aws`
909
-
910
- Read-Only:
911
-
912
- - **trust_policy** (String)
913
-
914
- ## Example Usage
915
-
474
+ Create a Mk8s resource with the given unique name, props, and options.
916
475
  :param str resource_name: The name of the resource.
917
476
  :param pulumi.ResourceOptions opts: Options for the resource.
918
477
  :param pulumi.Input[str] description: Description of the Mk8s.
@@ -927,448 +486,7 @@ class Mk8s(pulumi.CustomResource):
927
486
  args: Mk8sArgs,
928
487
  opts: Optional[pulumi.ResourceOptions] = None):
929
488
  """
930
- Manages a Mk8s's [Mk8s](https://docs.controlplane.com/mk8s/overview).
931
-
932
- ## Declaration
933
-
934
- ### Required
935
-
936
- - **name** (String) Name of the Mk8s.
937
- - **version** (String)
938
-
939
- > **Note** Only one of the providers listed below can be included in a resource.
940
-
941
- - **generic_provider** (Block List, Max: 1) (see below)
942
- - **hetzner_provider** (Block List, Max: 1) (see below)
943
- - **aws_provider** (Block List, Max: 1) (see below)
944
- - **ephemeral_provider** (Block List, Max: 1) (see below)
945
-
946
- ### Optional
947
-
948
- - **description** (String) Description of the Mk8s.
949
- - **tags** (Map of String) Key-value map of resource tags.
950
- - **firewall** (Block List, Max: 1) (see below)
951
- - **add_ons** (Block List, Max: 1) (see below)
952
-
953
- <a id="nestedblock--generic_provider"></a>
954
-
955
- ### `generic_provider`
956
-
957
- Required:
958
-
959
- - **location** (String) Control Plane location that will host the K8S components. Prefer one that is closest to where the nodes are running.
960
- - **networking** (Block List, Max: 1) (see below)
961
-
962
- Optional:
963
-
964
- - **node_pool** (Block List) (see below)
965
-
966
- <a id="nestedblock--generic_provider--networking"></a>
967
-
968
- ### `generic_provider.networking`
969
-
970
- Networking declaration is required even if networking is not utilized. Example usage: `networking {}`.
971
-
972
- Optional:
973
-
974
- - **service_network** (String) The CIDR of the service network.
975
- - **pod_network** (String) The CIDR of the pod network.
976
-
977
- <a id="nestedblock--generic_provider--node_pool"></a>
978
-
979
- ### `generic_provider.node_pool`
980
-
981
- List of node pools.
982
-
983
- Required:
984
-
985
- - **name** (String)
986
-
987
- Optional:
988
-
989
- - **labels** (Map of String) Labels to attach to nodes of a node pool.
990
- - **taint** (Block List) (see below)
991
-
992
- <a id="nestedblock--generic_provider--node_pool--taint"></a>
993
-
994
- ### `generic_provider.node_pool.taint`
995
-
996
- Taint for the nodes of a pool.
997
-
998
- Optional:
999
-
1000
- - **key** (String)
1001
- - **value** (String)
1002
- - **effect** (String)
1003
-
1004
- <a id="nestedblock--hetzner_provider"></a>
1005
-
1006
- ### `hetzner_provider`
1007
-
1008
- Required:
1009
-
1010
- - **region** (String) Hetzner region to deploy nodes to.
1011
- - **token_secret_link** (String) Link to a secret holding Hetzner access key.
1012
- - **network_id** (String) ID of the Hetzner network to deploy nodes to.
1013
- - **networking** (Block List, Max: 1) (see below)
1014
-
1015
- Optional:
1016
-
1017
- - **hetzner_labels** (Map of String) Extra labels to attach to servers.
1018
- - **pre_install_script** (String) Optional shell script that will be run before K8S is installed.
1019
- - **firewall_id** (String) Optional firewall rule to attach to all nodes.
1020
- - **node_pool** (Block List) (see below)
1021
- - **dedicated_server_node_pool** (Block List) (see below)
1022
- - **image** (String) Default image for all nodes.
1023
- - **ssh_key** (String) SSH key name for accessing deployed nodes.
1024
- - **autoscaler** (Block List, Max: 1) (see below)
1025
- - **floating_ip_selector** (Map of String) If supplied, nodes will get assigned a random floating ip matching the selector.
1026
-
1027
- <a id="nestedblock--hetzner_provider--node_pool"></a>
1028
-
1029
- ### `hetzner_provider.node_pool`
1030
-
1031
- List of node pools.
1032
-
1033
- Required:
1034
-
1035
- - **name** (String)
1036
- - **server_type** (String)
1037
-
1038
- Optional:
1039
-
1040
- - **labels** (Map of String) Labels to attach to nodes of a node pool.
1041
- - **taint** (Block List) (see below)
1042
- - **override_image** (String)
1043
- - **min_size** (Number)
1044
- - **max_size** (Number)
1045
-
1046
- <a id="nestedblock--hetzner_provider--dedicated_server_node_pool"></a>
1047
-
1048
- ### `hetzner_provider.dedicated_server_node_pool`
1049
-
1050
- Node pool that can configure dedicated Hetzner servers.
1051
-
1052
- Required:
1053
-
1054
- - **name** (String)
1055
-
1056
- Optional:
1057
-
1058
- - **labels** (Map of String) Labels to attach to nodes of a node pool.
1059
- - **taint** (Block List) (see below)
1060
-
1061
- <a id="nestedblock--aws_provider"></a>
1062
-
1063
- ### `aws_provider`
1064
-
1065
- Required:
1066
-
1067
- - **region** (String) Region where the cluster nodes will live.
1068
- - **skip_create_roles** (Boolean) If true, Control Plane will not create any roles.
1069
- - **image** (Block List, Max: 1) (see below)
1070
- - **deploy_role_arn** (String) Control Plane will set up the cluster by assuming this role.
1071
- - **vpc_id** (String) The vpc where nodes will be deployed. Supports SSM.
1072
- - **networking** (Block List, Max: 1) (see below)
1073
-
1074
- Optional:
1075
-
1076
- - **aws_tags** (Map of String) Extra tags to attach to all created objects.
1077
- - **pre_install_script** (String) Optional shell script that will be run before K8S is installed. Supports SSM.
1078
- - **key_pair** (String) Name of keyPair. Supports SSM
1079
- - **disk_encryption_key_arn** (String) KMS key used to encrypt volumes. Supports SSM.
1080
- - **security_group_ids** (List of String) Security groups to deploy nodes to. Security groups control if the cluster is multi-zone or single-zon.
1081
- - **node_pool** (Block List) (see below)
1082
- - **autoscaler** (Block List, Max: 1) (see below)
1083
-
1084
- <a id="nestedblock--aws_provider--node_pool"></a>
1085
-
1086
- ### `aws_provider.node_pool`
1087
-
1088
- List of node pools.
1089
-
1090
- Required:
1091
-
1092
- - **name** (String)
1093
- - **instance_types** (List of String)
1094
- - **override_image** (Block List, Max: 1) (see below)
1095
- - **subnet_ids** (List of String)
1096
-
1097
- Optional:
1098
-
1099
- - **labels** (Map of String) Labels to attach to nodes of a node pool.
1100
- - **taint** (Block List) (see below)
1101
- - **boot_disk_size** (Number) Size in GB.
1102
- - **min_size** (Number)
1103
- - **max_size** (Number)
1104
- - **on_demand_base_capacity** (Number)
1105
- - **on_demand_percentage_above_base_capacity** (Number)
1106
- - **spot_allocation_strategy** (String)
1107
- - **extra_security_group_ids** (List of String)
1108
-
1109
- <a id="nestedblock--aws_provider--ami"></a>
1110
-
1111
- ### `ami`
1112
-
1113
- Default image for all nodes.
1114
-
1115
- Required:
1116
-
1117
- > **Note** Only one of the following listed below can be included.
1118
-
1119
- - **recommended** (String)
1120
- - **exact** (String) Support SSM.
1121
-
1122
- <a id="nestedblock--ephemeral_provider"></a>
1123
-
1124
- ### `ephemeral_provider`
1125
-
1126
- Required:
1127
-
1128
- - **location** (String) Control Plane location that will host the K8S components. Prefer one that is closest to where the nodes are running.
1129
-
1130
- Optional:
1131
-
1132
- - **node_pool** (Block List) (see below)
1133
-
1134
- <a id="nestedblock--ephemeral_provider--node_pool"></a>
1135
-
1136
- ### `ephemeral_provider.node_pool`
1137
-
1138
- List of node pools.
1139
-
1140
- Required:
1141
-
1142
- - **name** (String)
1143
- - **count** (Int) Number of nodes to deploy.
1144
- - **arch** (String) CPU architecture of the nodes.
1145
- - **flavor** (String) Linux distro to use for ephemeral nodes.
1146
- - **cpu** (String) Allocated CPU.
1147
- - **memory** (String) Allocated memory.
1148
-
1149
- Optional:
1150
-
1151
- - **labels** (Map of String) Labels to attach to nodes of a node pool.
1152
- - **taint** (Block List) (see below)
1153
-
1154
- <a id="nestedblock--autoscaler"></a>
1155
-
1156
- ### `autoscaler`
1157
-
1158
- Optional:
1159
-
1160
- - **expander** (List of String)
1161
- - **unneeded_time** (String)
1162
- - **unready_time** (String)
1163
- - **utilization_threshold** (Float64)
1164
-
1165
- <a id="nestedblock--firewall"></a>
1166
-
1167
- ### `firewall`
1168
-
1169
- Allow-list.
1170
-
1171
- Required:
1172
-
1173
- - **source_cidr** (String)
1174
-
1175
- Optional:
1176
-
1177
- - **description** (String)
1178
-
1179
- <a id="nestedblock--add_ons"></a>
1180
-
1181
- ### `add_ons`
1182
-
1183
- Optional:
1184
-
1185
- - **dashboard** (Boolean)
1186
- - **azure_workload_identity** (Block List, Max: 1) (see below)
1187
- - **aws_workload_identity** (Boolean)
1188
- - **local_path_storage** (Boolean)
1189
- - **metrics** (Block List, Max: 1) (see below)
1190
- - **logs** (Block List, Max: 1) (see below)
1191
- - **nvidia** (Block List, Max: 1) (see below)
1192
- - **aws_efs** (Block List, Max: 1) (see below)
1193
- - **aws_ecr** (Block List, Max: 1) (see below)
1194
- - **aws_elb** (Block List, Max: 1) (see below)
1195
- - **azure_acr** (Block List, Max: 1) (see below)
1196
- - **sysbox** (Boolean)
1197
-
1198
- <a id="nestedblock--add_ons--azure_workload_identity"></a>
1199
-
1200
- ### `add_ons.azure_workload_identity`
1201
-
1202
- Required:
1203
-
1204
- - **tenant_id** (String) Tenant ID to use for workload identity.
1205
-
1206
- <a id="nestedblock--add_ons--metrics"></a>
1207
-
1208
- ### `add_ons.metrics`
1209
-
1210
- Optional:
1211
-
1212
- - **kube_state** (Boolean) Enable kube-state metrics.
1213
- - **core_dns** (Boolean) Enable scraping of core-dns service.
1214
- - **kubelet** (Boolean) Enable scraping kubelet stats.
1215
- - **api_server** (Boolean) Enable scraping apiserver stats.
1216
- - **node_exporter** (Boolean) Enable collecting node-level stats (disk, network, filesystem, etc).
1217
- - **cadvisor** (Boolean) Enable CNI-level container stats.
1218
- - **scrape_annotated** (Block List, Max: 1) (see below)
1219
-
1220
- <a id="nestedblock--add_ons--metrics--scrape-annotated"></a>
1221
-
1222
- ### `add_ons.metrics.scrape-annotated`
1223
-
1224
- Scrape pods annotated with prometheus.io/scrape=true.
1225
-
1226
- Optional:
1227
-
1228
- - **interval_seconds** (Number)
1229
- - **include_namespaces** (String)
1230
- - **exclude_namespaces** (String)
1231
- - **retain_labels** (String)
1232
-
1233
- <a id="nestedblock--add_ons--logs"></a>
1234
-
1235
- ### `add_ons.logs`
1236
-
1237
- Optional:
1238
-
1239
- - **audit_enabled** (Boolean) Collect k8s audit log as log events.
1240
- - **include_namespaces** (String)
1241
- - **exclude_namespaces** (String)
1242
-
1243
- <a id="nestedblock--add_ons--nvidia"></a>
1244
-
1245
- ### `add_ons.nvidia`
1246
-
1247
- Required:
1248
-
1249
- - **taint_gpu_nodes** (Boolean)
1250
-
1251
- <a id="nestedblock--add_ons--aws--efs"></a>
1252
-
1253
- ### `add_ons.aws_efs`
1254
-
1255
- Required:
1256
-
1257
- - **role_arn** (String) Use this role for EFS interaction.
1258
-
1259
- <a id="nestedblock--add_ons--aws--ecr"></a>
1260
-
1261
- ### `add_ons.aws_ecr`
1262
-
1263
- Required:
1264
-
1265
- - **role_arn** (String) Role to use when authorizing ECR pulls. Optional on AWS, in which case it will use the instance role to pull.
1266
-
1267
- <a id="nestedblock--add_ons--aws--elb"></a>
1268
-
1269
- ### `add_ons.aws_elb`
1270
-
1271
- Required:
1272
-
1273
- - **role_arn** (String) Role to use when authorizing calls to EC2 ELB. Optional on AWS, when not provided it will create the recommended role.
1274
-
1275
- <a id="nestedblock--add_ons--azure_acr"></a>
1276
-
1277
- ### `add_ons.azure_acr`
1278
-
1279
- Required:
1280
-
1281
- - **client_id** (String)
1282
-
1283
- ## Outputs
1284
-
1285
- The following attributes are exported:
1286
-
1287
- - **cpln_id** (String) The ID, in GUID format, of the Mk8s.
1288
- - **alias** (String) The alias name of the Mk8s.
1289
- - **self_link** (String) Full link to this resource. Can be referenced by other resources.
1290
- - **status** (Block List, Max: 1) (see below).
1291
-
1292
- <a id="nestedblock--status"></a>
1293
-
1294
- ### `status`
1295
-
1296
- Status of the mk8s.
1297
-
1298
- Read-Only:
1299
-
1300
- - **oidc_provider_url** (String)
1301
- - **server_url** (String)
1302
- - **home_location** (String)
1303
- - **add_ons** (Block List, Max: 1) (see below)
1304
-
1305
- <a id="nestedblock--status--add_ons"></a>
1306
-
1307
- ### `status.add_ons`
1308
-
1309
- Read-Only:
1310
-
1311
- - **dashboard** (Block List, Max: 1) (see below)
1312
- - **aws_workload_identity** (Block List, Max: 1) (see below)
1313
- - **metrics** (Block List, Max: 1) (see below)
1314
- - **logs** (Block List, Max: 1) (see below)
1315
- - **aws_ecr** (Block List, Max: 1) (see below)
1316
- - **aws_efs** (Block List, Max: 1) (see below)
1317
- - **aws_elb** (Block List, Max: 1) (see below)
1318
-
1319
- <a id="nestedblock--status--add_ons--dashobard"></a>
1320
-
1321
- ### `status.add_ons.dashboard`
1322
-
1323
- Read-Only:
1324
-
1325
- - **url** (String) Access to dashboard.
1326
-
1327
- <a id="nestedblock--status--add_ons--aws_workload_identity"></a>
1328
-
1329
- ### `status.add_ons.aws_workload_identity`
1330
-
1331
- Read-Only:
1332
-
1333
- - **oidc_provider_config** (Block List, Max: 1) (see below)
1334
- - **trust_policy** (String)
1335
-
1336
- <a id="nestedblock--status--add_ons--aws_workload_identity--oidc_provider_config"></a>
1337
-
1338
- ### `status.add_ons.aws_workload_identity.oidc_provider_config`
1339
-
1340
- Read-Only:
1341
-
1342
- - **provider_url** (String)
1343
- - **audience** (String)
1344
-
1345
- <a id="nestedblock--status--add_ons--metrics"></a>
1346
-
1347
- ### `status.add_ons.metrics`
1348
-
1349
- Read-Only:
1350
-
1351
- - **prometheus_endpoint** (String)
1352
- - **remote_write_config** (String)
1353
-
1354
- <a id="nestedblock--status--add_ons--logs"></a>
1355
-
1356
- ### `status.add_ons.logs`
1357
-
1358
- Read-Only:
1359
-
1360
- - **loki_address** (String) Loki endpoint to query logs from.
1361
-
1362
- <a id="nestedblock--status--add_ons--aws"></a>
1363
-
1364
- ### `status.add_ons.aws`
1365
-
1366
- Read-Only:
1367
-
1368
- - **trust_policy** (String)
1369
-
1370
- ## Example Usage
1371
-
489
+ Create a Mk8s resource with the given unique name, props, and options.
1372
490
  :param str resource_name: The name of the resource.
1373
491
  :param Mk8sArgs args: The arguments to use to populate this resource's properties.
1374
492
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -18,7 +18,6 @@ class WorkloadArgs:
18
18
  def __init__(__self__, *,
19
19
  containers: pulumi.Input[Sequence[pulumi.Input['WorkloadContainerArgs']]],
20
20
  gvc: pulumi.Input[str],
21
- options: pulumi.Input['WorkloadOptionsArgs'],
22
21
  type: pulumi.Input[str],
23
22
  description: Optional[pulumi.Input[str]] = None,
24
23
  firewall_spec: Optional[pulumi.Input['WorkloadFirewallSpecArgs']] = None,
@@ -27,6 +26,7 @@ class WorkloadArgs:
27
26
  load_balancer: Optional[pulumi.Input['WorkloadLoadBalancerArgs']] = None,
28
27
  local_options: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadLocalOptionArgs']]]] = None,
29
28
  name: Optional[pulumi.Input[str]] = None,
29
+ options: Optional[pulumi.Input['WorkloadOptionsArgs']] = None,
30
30
  rollout_options: Optional[pulumi.Input['WorkloadRolloutOptionsArgs']] = None,
31
31
  security_options: Optional[pulumi.Input['WorkloadSecurityOptionsArgs']] = None,
32
32
  sidecar: Optional[pulumi.Input['WorkloadSidecarArgs']] = None,
@@ -36,8 +36,6 @@ class WorkloadArgs:
36
36
  The set of arguments for constructing a Workload resource.
37
37
  :param pulumi.Input[Sequence[pulumi.Input['WorkloadContainerArgs']]] containers: An isolated and lightweight runtime environment that encapsulates an application and its dependencies.
38
38
  :param pulumi.Input[str] gvc: Name of the associated GVC.
39
- :param pulumi.Input['WorkloadOptionsArgs'] options: Configurable settings or parameters that allow fine-tuning and customization of the behavior, performance, and
40
- characteristics of the workload.
41
39
  :param pulumi.Input[str] type: Workload Type. Either `serverless`, `standard`, `stateful`, or `cron`.
42
40
  :param pulumi.Input[str] description: Description of the Workload.
43
41
  :param pulumi.Input['WorkloadFirewallSpecArgs'] firewall_spec: Control of inbound and outbound access to the workload for external (public) and internal (service to service) traffic.
@@ -45,6 +43,8 @@ class WorkloadArgs:
45
43
  :param pulumi.Input[str] identity_link: Full link to an Identity.
46
44
  :param pulumi.Input['WorkloadJobArgs'] job: [Cron Job Reference Page](https://docs.controlplane.com/reference/workload#cron).
47
45
  :param pulumi.Input[str] name: Name of the Workload.
46
+ :param pulumi.Input['WorkloadOptionsArgs'] options: Configurable settings or parameters that allow fine-tuning and customization of the behavior, performance, and
47
+ characteristics of the workload.
48
48
  :param pulumi.Input['WorkloadRolloutOptionsArgs'] rollout_options: Defines the parameters for updating applications and services, including settings for minimum readiness, unavailable
49
49
  replicas, surge replicas, and scaling policies.
50
50
  :param pulumi.Input['WorkloadSecurityOptionsArgs'] security_options: Allows for the configuration of the `file system group id` and `geo location`
@@ -56,7 +56,6 @@ class WorkloadArgs:
56
56
  lambda key, value: pulumi.set(__self__, key, value),
57
57
  containers=containers,
58
58
  gvc=gvc,
59
- options=options,
60
59
  type=type,
61
60
  description=description,
62
61
  firewall_spec=firewall_spec,
@@ -65,6 +64,7 @@ class WorkloadArgs:
65
64
  load_balancer=load_balancer,
66
65
  local_options=local_options,
67
66
  name=name,
67
+ options=options,
68
68
  rollout_options=rollout_options,
69
69
  security_options=security_options,
70
70
  sidecar=sidecar,
@@ -76,7 +76,6 @@ class WorkloadArgs:
76
76
  _setter: Callable[[Any, Any], None],
77
77
  containers: pulumi.Input[Sequence[pulumi.Input['WorkloadContainerArgs']]],
78
78
  gvc: pulumi.Input[str],
79
- options: pulumi.Input['WorkloadOptionsArgs'],
80
79
  type: pulumi.Input[str],
81
80
  description: Optional[pulumi.Input[str]] = None,
82
81
  firewall_spec: Optional[pulumi.Input['WorkloadFirewallSpecArgs']] = None,
@@ -85,6 +84,7 @@ class WorkloadArgs:
85
84
  load_balancer: Optional[pulumi.Input['WorkloadLoadBalancerArgs']] = None,
86
85
  local_options: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadLocalOptionArgs']]]] = None,
87
86
  name: Optional[pulumi.Input[str]] = None,
87
+ options: Optional[pulumi.Input['WorkloadOptionsArgs']] = None,
88
88
  rollout_options: Optional[pulumi.Input['WorkloadRolloutOptionsArgs']] = None,
89
89
  security_options: Optional[pulumi.Input['WorkloadSecurityOptionsArgs']] = None,
90
90
  sidecar: Optional[pulumi.Input['WorkloadSidecarArgs']] = None,
@@ -109,7 +109,6 @@ class WorkloadArgs:
109
109
 
110
110
  _setter("containers", containers)
111
111
  _setter("gvc", gvc)
112
- _setter("options", options)
113
112
  _setter("type", type)
114
113
  if description is not None:
115
114
  _setter("description", description)
@@ -125,6 +124,8 @@ class WorkloadArgs:
125
124
  _setter("local_options", local_options)
126
125
  if name is not None:
127
126
  _setter("name", name)
127
+ if options is not None:
128
+ _setter("options", options)
128
129
  if rollout_options is not None:
129
130
  _setter("rollout_options", rollout_options)
130
131
  if security_options is not None:
@@ -160,19 +161,6 @@ class WorkloadArgs:
160
161
  def gvc(self, value: pulumi.Input[str]):
161
162
  pulumi.set(self, "gvc", value)
162
163
 
163
- @property
164
- @pulumi.getter
165
- def options(self) -> pulumi.Input['WorkloadOptionsArgs']:
166
- """
167
- Configurable settings or parameters that allow fine-tuning and customization of the behavior, performance, and
168
- characteristics of the workload.
169
- """
170
- return pulumi.get(self, "options")
171
-
172
- @options.setter
173
- def options(self, value: pulumi.Input['WorkloadOptionsArgs']):
174
- pulumi.set(self, "options", value)
175
-
176
164
  @property
177
165
  @pulumi.getter
178
166
  def type(self) -> pulumi.Input[str]:
@@ -264,6 +252,19 @@ class WorkloadArgs:
264
252
  def name(self, value: Optional[pulumi.Input[str]]):
265
253
  pulumi.set(self, "name", value)
266
254
 
255
+ @property
256
+ @pulumi.getter
257
+ def options(self) -> Optional[pulumi.Input['WorkloadOptionsArgs']]:
258
+ """
259
+ Configurable settings or parameters that allow fine-tuning and customization of the behavior, performance, and
260
+ characteristics of the workload.
261
+ """
262
+ return pulumi.get(self, "options")
263
+
264
+ @options.setter
265
+ def options(self, value: Optional[pulumi.Input['WorkloadOptionsArgs']]):
266
+ pulumi.set(self, "options", value)
267
+
267
268
  @property
268
269
  @pulumi.getter(name="rolloutOptions")
269
270
  def rollout_options(self) -> Optional[pulumi.Input['WorkloadRolloutOptionsArgs']]:
@@ -826,8 +827,6 @@ class Workload(pulumi.CustomResource):
826
827
  def _setter(key, value):
827
828
  options[key] = value
828
829
  WorkloadOptionsArgs._configure(_setter, **options)
829
- if options is None and not opts.urn:
830
- raise TypeError("Missing required property 'options'")
831
830
  __props__.__dict__["options"] = options
832
831
  if rollout_options is not None and not isinstance(rollout_options, WorkloadRolloutOptionsArgs):
833
832
  rollout_options = rollout_options or {}
@@ -1014,7 +1013,7 @@ class Workload(pulumi.CustomResource):
1014
1013
 
1015
1014
  @property
1016
1015
  @pulumi.getter
1017
- def options(self) -> pulumi.Output['outputs.WorkloadOptions']:
1016
+ def options(self) -> pulumi.Output[Optional['outputs.WorkloadOptions']]:
1018
1017
  """
1019
1018
  Configurable settings or parameters that allow fine-tuning and customization of the behavior, performance, and
1020
1019
  characteristics of the workload.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulumiverse-cpln
3
- Version: 0.0.37
3
+ Version: 0.0.39
4
4
  Summary: A Pulumi package for creating and managing Control Plane (cpln) resources.
5
5
  Home-page: https://www.pulumi.com
6
6
  License: Apache-2.0
@@ -8,7 +8,7 @@ from setuptools.command.install import install
8
8
  from subprocess import check_call
9
9
 
10
10
 
11
- VERSION = "0.0.37"
11
+ VERSION = "0.0.39"
12
12
  def readme():
13
13
  try:
14
14
  with open('README.md', encoding='utf-8') as f: