{
  "name": "cilium",
  "displayName": "Cilium",
  "version": "0.2.1",
  "description": "A Pulumi package for creating and managing Cilium resources",
  "keywords": [
    "pulumi",
    "cilium",
    "category/network"
  ],
  "homepage": "https://github.com/littlejo/pulumi-cilium",
  "license": "Apache-2.0",
  "attribution": "This Pulumi package is based on the [`cilium` Terraform Provider](https://github.com/littlejo/terraform-provider-cilium).",
  "repository": "https://github.com/littlejo/pulumi-cilium",
  "logoUrl": "https://raw.githubusercontent.com/littlejo/pulumi-cilium/main/docs/cilium.png",
  "pluginDownloadURL": "github://api.github.com/littlejo/pulumi-cilium",
  "publisher": "littlejo",
  "meta": {
    "moduleFormat": "(.*)(?:/[^/]*)"
  },
  "language": {
    "csharp": {
      "packageReferences": {
        "Pulumi": "3.*"
      },
      "compatibility": "tfbridge20",
      "rootNamespace": "Littlejo"
    },
    "go": {
      "importBasePath": "github.com/littlejo/pulumi-cilium/sdk/go/cilium",
      "generateResourceContainerTypes": true,
      "generateExtraInputTypes": true
    },
    "java": {
      "basePackage": "com.littlejo",
      "buildFiles": "",
      "gradleNexusPublishPluginVersion": "",
      "gradleTest": ""
    },
    "nodejs": {
      "packageName": "@littlejo/cilium",
      "packageDescription": "A Pulumi package for creating and managing Cilium resources",
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/littlejo/terraform-provider-cilium)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> first check the [`pulumi-cilium` repo](https://github.com/littlejo/pulumi-cilium/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-cilium` repo](https://github.com/littlejo/terraform-provider-cilium/issues).",
      "dependencies": {
        "@pulumi/pulumi": "^3.0.0"
      },
      "devDependencies": {
        "@types/mime": "^2.0.0",
        "@types/node": "^10.0.0"
      },
      "compatibility": "tfbridge20",
      "disableUnionOutputTypes": true
    },
    "python": {
      "packageName": "littlejo_cilium",
      "requires": {
        "pulumi": ">=3.0.0,<4.0.0"
      },
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/littlejo/terraform-provider-cilium)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> first check the [`pulumi-cilium` repo](https://github.com/littlejo/pulumi-cilium/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-cilium` repo](https://github.com/littlejo/terraform-provider-cilium/issues).",
      "compatibility": "tfbridge20",
      "pyproject": {}
    }
  },
  "config": {
    "variables": {
      "configContent": {
        "type": "string",
        "description": "The content of kube config file (Default: ``).\n"
      },
      "configPath": {
        "type": "string",
        "description": "A path to a kube config file (Default: `~/.kube/config`).\n"
      },
      "context": {
        "type": "string",
        "description": "Context of kubeconfig file (Default: `default context`).\n"
      },
      "helmRelease": {
        "type": "string",
        "description": "Helm Release to install cilium (Default: `cilium.Install`).\n"
      },
      "namespace": {
        "type": "string",
        "description": "Namespace to install cilium (Default: `kube-system`).\n"
      }
    }
  },
  "types": {
    "cilium:index/InstallCa:InstallCa": {
      "properties": {
        "crt": {
          "type": "string"
        },
        "key": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "crt",
        "key"
      ]
    }
  },
  "provider": {
    "description": "The provider type for the cilium package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n",
    "properties": {
      "configContent": {
        "type": "string",
        "description": "The content of kube config file (Default: ``).\n"
      },
      "configPath": {
        "type": "string",
        "description": "A path to a kube config file (Default: `~/.kube/config`).\n"
      },
      "context": {
        "type": "string",
        "description": "Context of kubeconfig file (Default: `default context`).\n"
      },
      "helmRelease": {
        "type": "string",
        "description": "Helm Release to install cilium (Default: `cilium.Install`).\n"
      },
      "namespace": {
        "type": "string",
        "description": "Namespace to install cilium (Default: `kube-system`).\n"
      }
    },
    "type": "object",
    "inputProperties": {
      "configContent": {
        "type": "string",
        "description": "The content of kube config file (Default: ``).\n"
      },
      "configPath": {
        "type": "string",
        "description": "A path to a kube config file (Default: `~/.kube/config`).\n"
      },
      "context": {
        "type": "string",
        "description": "Context of kubeconfig file (Default: `default context`).\n"
      },
      "helmRelease": {
        "type": "string",
        "description": "Helm Release to install cilium (Default: `cilium.Install`).\n"
      },
      "namespace": {
        "type": "string",
        "description": "Namespace to install cilium (Default: `kube-system`).\n"
      }
    },
    "methods": {
      "terraformConfig": "pulumi:providers:cilium/terraformConfig"
    }
  },
  "resources": {
    "cilium:index/clustermesh:Clustermesh": {
      "properties": {
        "enableKvStoreMesh": {
          "type": "boolean",
          "description": "Enable kvstoremesh, an extension which caches remote cluster information in the local kvstore (Cilium >=1.14 only) (Default: `false`).\n"
        },
        "serviceType": {
          "type": "string",
          "description": "Type of Kubernetes service to expose control plane { LoadBalancer | NodePort | ClusterIP } (Default: `autodetected`).\n"
        },
        "wait": {
          "type": "boolean",
          "description": "Wait Cluster Mesh status is ok (Default: `true`).\n"
        }
      },
      "type": "object",
      "required": [
        "enableKvStoreMesh",
        "serviceType",
        "wait"
      ],
      "inputProperties": {
        "enableKvStoreMesh": {
          "type": "boolean",
          "description": "Enable kvstoremesh, an extension which caches remote cluster information in the local kvstore (Cilium >=1.14 only) (Default: `false`).\n"
        },
        "serviceType": {
          "type": "string",
          "description": "Type of Kubernetes service to expose control plane { LoadBalancer | NodePort | ClusterIP } (Default: `autodetected`).\n"
        },
        "wait": {
          "type": "boolean",
          "description": "Wait Cluster Mesh status is ok (Default: `true`).\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Clustermesh resources.\n",
        "properties": {
          "enableKvStoreMesh": {
            "type": "boolean",
            "description": "Enable kvstoremesh, an extension which caches remote cluster information in the local kvstore (Cilium >=1.14 only) (Default: `false`).\n"
          },
          "serviceType": {
            "type": "string",
            "description": "Type of Kubernetes service to expose control plane { LoadBalancer | NodePort | ClusterIP } (Default: `autodetected`).\n"
          },
          "wait": {
            "type": "boolean",
            "description": "Wait Cluster Mesh status is ok (Default: `true`).\n"
          }
        },
        "type": "object"
      }
    },
    "cilium:index/clustermeshConnection:ClustermeshConnection": {
      "properties": {
        "connectionMode": {
          "type": "string",
          "description": "Connection Mode { `unicast` | `bidirectional` | `mesh` } (Default: `bidirectional`).\n"
        },
        "destinationContexts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Kubernetes configuration contexts of destination clusters\n"
        },
        "parallel": {
          "type": "integer",
          "description": "Number of parallel connections of destination clusters (Default: `1`).\n"
        }
      },
      "type": "object",
      "required": [
        "connectionMode",
        "destinationContexts",
        "parallel"
      ],
      "inputProperties": {
        "connectionMode": {
          "type": "string",
          "description": "Connection Mode { `unicast` | `bidirectional` | `mesh` } (Default: `bidirectional`).\n"
        },
        "destinationContexts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Kubernetes configuration contexts of destination clusters\n"
        },
        "parallel": {
          "type": "integer",
          "description": "Number of parallel connections of destination clusters (Default: `1`).\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ClustermeshConnection resources.\n",
        "properties": {
          "connectionMode": {
            "type": "string",
            "description": "Connection Mode { `unicast` | `bidirectional` | `mesh` } (Default: `bidirectional`).\n"
          },
          "destinationContexts": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Kubernetes configuration contexts of destination clusters\n"
          },
          "parallel": {
            "type": "integer",
            "description": "Number of parallel connections of destination clusters (Default: `1`).\n"
          }
        },
        "type": "object"
      }
    },
    "cilium:index/config:Config": {
      "description": "Config resource for Cilium. This is equivalent to cilium cli: `cilium config`: It manages the cilium Kubernetes ConfigMap resource\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cilium from \"@littlejo/cilium\";\n\nconst example = new cilium.Config(\"example\", {\n    key: \"debug\",\n    value: \"true\",\n});\n```\n```python\nimport pulumi\nimport littlejo_cilium as cilium\n\nexample = cilium.Config(\"example\",\n    key=\"debug\",\n    value=\"true\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cilium = Littlejo.Cilium;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Cilium.Config(\"example\", new()\n    {\n        Key = \"debug\",\n        Value = \"true\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/littlejo/pulumi-cilium/sdk/go/cilium\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cilium.NewConfig(ctx, \"example\", &cilium.ConfigArgs{\n\t\t\tKey:   pulumi.String(\"debug\"),\n\t\t\tValue: pulumi.String(\"true\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.littlejo.cilium.Config;\nimport com.littlejo.cilium.ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Config(\"example\", ConfigArgs.builder()\n            .key(\"debug\")\n            .value(\"true\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: cilium:Config\n    properties:\n      key: debug\n      value: 'true'\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "key": {
          "type": "string",
          "description": "Key of the config\n"
        },
        "restart": {
          "type": "boolean",
          "description": "Restart Cilium pods (Default: `true`).\n"
        },
        "value": {
          "type": "string",
          "description": "Value of the key\n"
        }
      },
      "type": "object",
      "required": [
        "key",
        "restart",
        "value"
      ],
      "inputProperties": {
        "key": {
          "type": "string",
          "description": "Key of the config\n"
        },
        "restart": {
          "type": "boolean",
          "description": "Restart Cilium pods (Default: `true`).\n"
        },
        "value": {
          "type": "string",
          "description": "Value of the key\n"
        }
      },
      "requiredInputs": [
        "key",
        "value"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Config resources.\n",
        "properties": {
          "key": {
            "type": "string",
            "description": "Key of the config\n"
          },
          "restart": {
            "type": "boolean",
            "description": "Restart Cilium pods (Default: `true`).\n"
          },
          "value": {
            "type": "string",
            "description": "Value of the key\n"
          }
        },
        "type": "object"
      }
    },
    "cilium:index/hubble:Hubble": {
      "description": "Hubble resource for Cilium. This is equivalent to cilium cli: `cilium hubble`: It manages cilium hubble\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cilium from \"@littlejo/cilium\";\n\nconst example = new cilium.Hubble(\"example\", {ui: true});\n```\n```python\nimport pulumi\nimport littlejo_cilium as cilium\n\nexample = cilium.Hubble(\"example\", ui=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cilium = Littlejo.Cilium;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Cilium.Hubble(\"example\", new()\n    {\n        Ui = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/littlejo/pulumi-cilium/sdk/go/cilium\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cilium.NewHubble(ctx, \"example\", &cilium.HubbleArgs{\n\t\t\tUi: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.littlejo.cilium.Hubble;\nimport com.littlejo.cilium.HubbleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Hubble(\"example\", HubbleArgs.builder()\n            .ui(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: cilium:Hubble\n    properties:\n      ui: true\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "relay": {
          "type": "boolean",
          "description": "Deploy Hubble Relay (Default: `true`).\n"
        },
        "ui": {
          "type": "boolean",
          "description": "Enable Hubble UI (Default: `false`).\n"
        }
      },
      "type": "object",
      "required": [
        "relay",
        "ui"
      ],
      "inputProperties": {
        "relay": {
          "type": "boolean",
          "description": "Deploy Hubble Relay (Default: `true`).\n"
        },
        "ui": {
          "type": "boolean",
          "description": "Enable Hubble UI (Default: `false`).\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Hubble resources.\n",
        "properties": {
          "relay": {
            "type": "boolean",
            "description": "Deploy Hubble Relay (Default: `true`).\n"
          },
          "ui": {
            "type": "boolean",
            "description": "Enable Hubble UI (Default: `false`).\n"
          }
        },
        "type": "object"
      }
    },
    "cilium:index/install:Install": {
      "properties": {
        "ca": {
          "$ref": "#/types/cilium:index%2FInstallCa:InstallCa",
          "description": "Cilium certificates value, Format: `{crt: \"b64...\", key: \"b64..\"}` (Equivalent to `kubectl get secret cilium-ca -n kube-system -o yaml`)\n",
          "secret": true
        },
        "dataPath": {
          "type": "string",
          "description": "Datapath mode to use { tunnel | native | aws-eni | gke | azure | aks-byocni } (Default: `autodetected`).\n"
        },
        "helmValues": {
          "type": "string",
          "description": "Helm values (`helm get values -n kube-system cilium`)\n"
        },
        "repository": {
          "type": "string",
          "description": "Helm chart repository to download Cilium charts from (Default: `https://helm.cilium.io`).\n"
        },
        "reset": {
          "type": "boolean",
          "description": "When upgrading, reset the helm values to the ones built into the chart (Default: `false`).\n"
        },
        "reuse": {
          "type": "boolean",
          "description": "When upgrading, reuse the helm values from the latest release unless any overrides from are set from other flags. This option takes precedence over HelmResetValues (Default: `false`).\n"
        },
        "reusethenreuse": {
          "type": "boolean",
          "description": "When upgrading, reset the values to the ones built into the chart, apply the last release's values and merge in any\noverrides from the command line via --set and -f. If '--reset-values' or '--reuse-values' is specified, this is ignored\n(Default: `true`).\n"
        },
        "sets": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set helm values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2 (Default: `[]`).\n"
        },
        "values": {
          "type": "string",
          "description": "values in raw yaml to pass to helm. (Default: `empty`).\n"
        },
        "version": {
          "type": "string",
          "description": "Version of Cilium (Default: `v1.14.5`).\n"
        },
        "wait": {
          "type": "boolean",
          "description": "Wait for Cilium status is ok (Default: `true`).\n"
        }
      },
      "type": "object",
      "required": [
        "ca",
        "dataPath",
        "helmValues",
        "repository",
        "reset",
        "reuse",
        "reusethenreuse",
        "sets",
        "values",
        "version",
        "wait"
      ],
      "inputProperties": {
        "dataPath": {
          "type": "string",
          "description": "Datapath mode to use { tunnel | native | aws-eni | gke | azure | aks-byocni } (Default: `autodetected`).\n"
        },
        "repository": {
          "type": "string",
          "description": "Helm chart repository to download Cilium charts from (Default: `https://helm.cilium.io`).\n"
        },
        "reset": {
          "type": "boolean",
          "description": "When upgrading, reset the helm values to the ones built into the chart (Default: `false`).\n"
        },
        "reuse": {
          "type": "boolean",
          "description": "When upgrading, reuse the helm values from the latest release unless any overrides from are set from other flags. This option takes precedence over HelmResetValues (Default: `false`).\n"
        },
        "reusethenreuse": {
          "type": "boolean",
          "description": "When upgrading, reset the values to the ones built into the chart, apply the last release's values and merge in any\noverrides from the command line via --set and -f. If '--reset-values' or '--reuse-values' is specified, this is ignored\n(Default: `true`).\n"
        },
        "sets": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set helm values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2 (Default: `[]`).\n"
        },
        "values": {
          "type": "string",
          "description": "values in raw yaml to pass to helm. (Default: `empty`).\n"
        },
        "version": {
          "type": "string",
          "description": "Version of Cilium (Default: `v1.14.5`).\n"
        },
        "wait": {
          "type": "boolean",
          "description": "Wait for Cilium status is ok (Default: `true`).\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Install resources.\n",
        "properties": {
          "ca": {
            "$ref": "#/types/cilium:index%2FInstallCa:InstallCa",
            "description": "Cilium certificates value, Format: `{crt: \"b64...\", key: \"b64..\"}` (Equivalent to `kubectl get secret cilium-ca -n kube-system -o yaml`)\n",
            "secret": true
          },
          "dataPath": {
            "type": "string",
            "description": "Datapath mode to use { tunnel | native | aws-eni | gke | azure | aks-byocni } (Default: `autodetected`).\n"
          },
          "helmValues": {
            "type": "string",
            "description": "Helm values (`helm get values -n kube-system cilium`)\n"
          },
          "repository": {
            "type": "string",
            "description": "Helm chart repository to download Cilium charts from (Default: `https://helm.cilium.io`).\n"
          },
          "reset": {
            "type": "boolean",
            "description": "When upgrading, reset the helm values to the ones built into the chart (Default: `false`).\n"
          },
          "reuse": {
            "type": "boolean",
            "description": "When upgrading, reuse the helm values from the latest release unless any overrides from are set from other flags. This option takes precedence over HelmResetValues (Default: `false`).\n"
          },
          "reusethenreuse": {
            "type": "boolean",
            "description": "When upgrading, reset the values to the ones built into the chart, apply the last release's values and merge in any\noverrides from the command line via --set and -f. If '--reset-values' or '--reuse-values' is specified, this is ignored\n(Default: `true`).\n"
          },
          "sets": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Set helm values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2 (Default: `[]`).\n"
          },
          "values": {
            "type": "string",
            "description": "values in raw yaml to pass to helm. (Default: `empty`).\n"
          },
          "version": {
            "type": "string",
            "description": "Version of Cilium (Default: `v1.14.5`).\n"
          },
          "wait": {
            "type": "boolean",
            "description": "Wait for Cilium status is ok (Default: `true`).\n"
          }
        },
        "type": "object"
      }
    },
    "cilium:index/kubeproxyFree:KubeproxyFree": {
      "description": "Disable Kube-Proxy DaemonSet, equivalent to: `kubectl -n kube-system patch daemonset kube-proxy -p '\"spec\": {\"template\": {\"spec\": {\"nodeSelector\": {\"non-existing\": \"true\"}}}}'`.\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of DaemonSet (Default: `kube-proxy`).\n"
        },
        "namespace": {
          "type": "string",
          "description": "Namespace in which to install (Default: `kube-system`).\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "namespace"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "Name of DaemonSet (Default: `kube-proxy`).\n"
        },
        "namespace": {
          "type": "string",
          "description": "Namespace in which to install (Default: `kube-system`).\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering KubeproxyFree resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of DaemonSet (Default: `kube-proxy`).\n"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace in which to install (Default: `kube-system`).\n"
          }
        },
        "type": "object"
      }
    }
  },
  "functions": {
    "cilium:index/getHelmValues:getHelmValues": {
      "description": "Helm values of cilium\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cilium from \"@littlejo/cilium\";\nimport * as local from \"@pulumi/local\";\n\nconst exampleHelmValues = cilium.getHelmValues({});\nconst exampleFile = new local.File(\"exampleFile\", {\n    content: exampleHelmValues.then(exampleHelmValues =\u003e exampleHelmValues.yaml),\n    filename: `${path.module}/values.yaml`,\n});\n```\n```python\nimport pulumi\nimport pulumi_cilium as cilium\nimport pulumi_local as local\n\nexample_helm_values = cilium.get_helm_values()\nexample_file = local.File(\"exampleFile\",\n    content=example_helm_values.yaml,\n    filename=f\"{path['module']}/values.yaml\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cilium = Pulumi.Cilium;\nusing Local = Pulumi.Local;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleHelmValues = Cilium.GetHelmValues.Invoke();\n\n    var exampleFile = new Local.File(\"exampleFile\", new()\n    {\n        Content = exampleHelmValues.Apply(getHelmValuesResult =\u003e getHelmValuesResult.Yaml),\n        Filename = $\"{path.Module}/values.yaml\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/littlejo/pulumi-cilium/sdk/go/cilium\"\n\t\"github.com/pulumi/pulumi-local/sdk/go/local\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleHelmValues, err := cilium.GetHelmValues(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = local.NewFile(ctx, \"exampleFile\", \u0026local.FileArgs{\n\t\t\tContent:  pulumi.String(exampleHelmValues.Yaml),\n\t\t\tFilename: pulumi.Sprintf(\"%v/values.yaml\", path.Module),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cilium.CiliumFunctions;\nimport com.pulumi.local.File;\nimport com.pulumi.local.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleHelmValues = CiliumFunctions.getHelmValues(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleFile = new File(\"exampleFile\", FileArgs.builder()\n            .content(exampleHelmValues.yaml())\n            .filename(String.format(\"%s/values.yaml\", path.module()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleFile:\n    type: local:File\n    properties:\n      content: ${exampleHelmValues.yaml}\n      filename: ${path.module}/values.yaml\nvariables:\n  exampleHelmValues:\n    fn::invoke:\n      function: cilium:getHelmValues\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "outputs": {
        "description": "A collection of values returned by getHelmValues.\n",
        "properties": {
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "yaml": {
            "description": "Yaml output\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "yaml"
        ],
        "type": "object"
      }
    },
    "pulumi:providers:cilium/terraformConfig": {
      "description": "This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.",
      "inputs": {
        "properties": {
          "__self__": {
            "$ref": "#/resources/pulumi:providers:cilium"
          }
        },
        "type": "object",
        "required": [
          "__self__"
        ]
      },
      "outputs": {
        "properties": {
          "result": {
            "additionalProperties": {
              "$ref": "pulumi.json#/Any"
            },
            "type": "object"
          }
        },
        "required": [
          "result"
        ],
        "type": "object"
      }
    }
  }
}
