UNPKG

@pulumi/eks

Version:

[![Build Status](https://github.com/pulumi/pulumi-eks/actions/workflows/master.yml/badge.svg)](https://github.com/pulumi/pulumi-eks/actions/workflows/master.yml) [![Slack](http://www.pulumi.com/images/docs/badges/slack.svg)](https://slack.pulumi.com) [![n

46 lines 1.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createStorageClass = void 0; const k8s = require("@pulumi/kubernetes"); const pulumi = require("@pulumi/pulumi"); /** * Creates a single Kubernetes StorageClass from the given inputs. */ function createStorageClass(name, storageClass, opts) { // Compute the storage class's metadata, including its name and default storage class annotation. const metadata = pulumi .all([storageClass.metadata || {}, storageClass.default]) .apply(([m, isDefault]) => { if (isDefault) { m.annotations = Object.assign(Object.assign({}, (m.annotations || {})), { "storageclass.kubernetes.io/is-default-class": "true" }); } return m; }); // Figure out the parameters for the storage class. const parameters = { type: storageClass.type, }; if (storageClass.zones) { parameters["zones"] = pulumi.output(storageClass.zones).apply((v) => v.join(", ")); } if (storageClass.iopsPerGb) { parameters["iopsPerGb"] = pulumi.output(storageClass.iopsPerGb).apply((v) => `${v}`); } if (storageClass.encrypted) { parameters["encrypted"] = pulumi.output(storageClass.encrypted).apply((v) => `${v}`); } if (storageClass.kmsKeyId) { parameters["kmsKeyId"] = storageClass.kmsKeyId; } return new k8s.storage.v1.StorageClass(name, { metadata: metadata, provisioner: "kubernetes.io/aws-ebs", parameters: parameters, allowVolumeExpansion: storageClass.allowVolumeExpansion, mountOptions: storageClass.mountOptions, reclaimPolicy: storageClass.reclaimPolicy, volumeBindingMode: storageClass.volumeBindingMode, }, opts); } exports.createStorageClass = createStorageClass; //# sourceMappingURL=storageclassMixins.js.map