@aws-cdk/aws-eks-v2-alpha
Version:
This module is deprecated. All constructs are now available under aws-cdk-lib/aws-eks-v2
67 lines • 8.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.KubernetesPatch = exports.PatchType = void 0;
const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const core_1 = require("aws-cdk-lib/core");
const constructs_1 = require("constructs");
const kubectl_provider_1 = require("./kubectl-provider");
/**
* Values for `kubectl patch` --type argument
*/
var PatchType;
(function (PatchType) {
/**
* JSON Patch, RFC 6902
*/
PatchType["JSON"] = "json";
/**
* JSON Merge patch
*/
PatchType["MERGE"] = "merge";
/**
* Strategic merge patch
*/
PatchType["STRATEGIC"] = "strategic";
})(PatchType || (exports.PatchType = PatchType = {}));
/**
* A CloudFormation resource which applies/restores a JSON patch into a
* Kubernetes resource.
* @see https://kubernetes.io/docs/tasks/run-application/update-api-object-kubectl-patch/
*/
class KubernetesPatch extends constructs_1.Construct {
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-eks-v2-alpha.KubernetesPatch", version: "2.240.0-alpha.0" };
constructor(scope, id, props) {
super(scope, id);
try {
jsiiDeprecationWarnings.print("@aws-cdk/aws-eks-v2-alpha.KubernetesPatch", "");
jsiiDeprecationWarnings._aws_cdk_aws_eks_v2_alpha_KubernetesPatchProps(props);
}
catch (error) {
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
Error.captureStackTrace(error, KubernetesPatch);
}
throw error;
}
const stack = core_1.Stack.of(this);
const provider = kubectl_provider_1.KubectlProvider.getKubectlProvider(this, props.cluster);
if (!provider) {
throw new core_1.ValidationError('Kubectl Provider is not defined in this cluster. Define it when creating the cluster', this);
}
new core_1.CustomResource(this, 'Resource', {
serviceToken: provider.serviceToken,
resourceType: 'Custom::AWSCDK-EKS-KubernetesPatch',
removalPolicy: props.removalPolicy,
properties: {
ResourceName: props.resourceName,
ResourceNamespace: props.resourceNamespace ?? 'default',
ApplyPatchJson: stack.toJsonString(props.applyPatch),
RestorePatchJson: stack.toJsonString(props.restorePatch),
ClusterName: props.cluster.clusterName,
PatchType: props.patchType ?? PatchType.STRATEGIC,
},
});
}
}
exports.KubernetesPatch = KubernetesPatch;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLXBhdGNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiazhzLXBhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsMkNBQTBFO0FBQzFFLDJDQUF1QztBQUV2Qyx5REFBcUQ7QUF5RHJEOztHQUVHO0FBQ0gsSUFBWSxTQWFYO0FBYkQsV0FBWSxTQUFTO0lBQ25COztPQUVHO0lBQ0gsMEJBQWEsQ0FBQTtJQUNiOztPQUVHO0lBQ0gsNEJBQWUsQ0FBQTtJQUNmOztPQUVHO0lBQ0gsb0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQWJXLFNBQVMseUJBQVQsU0FBUyxRQWFwQjtBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEsc0JBQVM7O0lBQzVDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMkI7UUFDbkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzs7Ozs7OzsrQ0FGUixlQUFlOzs7O1FBSXhCLE1BQU0sS0FBSyxHQUFHLFlBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFN0IsTUFBTSxRQUFRLEdBQUcsa0NBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE1BQU0sSUFBSSxzQkFBZSxDQUFDLHNGQUFzRixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFILENBQUM7UUFFRCxJQUFJLHFCQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNuQyxZQUFZLEVBQUUsUUFBUSxDQUFDLFlBQVk7WUFDbkMsWUFBWSxFQUFFLG9DQUFvQztZQUNsRCxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDbEMsVUFBVSxFQUFFO2dCQUNWLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtnQkFDaEMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixJQUFJLFNBQVM7Z0JBQ3ZELGNBQWMsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7Z0JBQ3BELGdCQUFnQixFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztnQkFDeEQsV0FBVyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVztnQkFDdEMsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVM7YUFDbEQ7U0FDRixDQUFDLENBQUM7S0FDSjs7QUF4QkgsMENBeUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZW1vdmFsUG9saWN5IH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBDdXN0b21SZXNvdXJjZSwgU3RhY2ssIFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IElDbHVzdGVyIH0gZnJvbSAnLi9jbHVzdGVyJztcbmltcG9ydCB7IEt1YmVjdGxQcm92aWRlciB9IGZyb20gJy4va3ViZWN0bC1wcm92aWRlcic7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgS3ViZXJuZXRlc1BhdGNoXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS3ViZXJuZXRlc1BhdGNoUHJvcHMge1xuICAvKipcbiAgICogVGhlIGNsdXN0ZXIgdG8gYXBwbHkgdGhlIHBhdGNoIHRvLlxuICAgKiBbZGlzYWJsZS1hd3NsaW50OnJlZi12aWEtaW50ZXJmYWNlXVxuICAgKi9cbiAgcmVhZG9ubHkgY2x1c3RlcjogSUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBKU09OIG9iamVjdCB0byBwYXNzIHRvIGBrdWJlY3RsIHBhdGNoYCB3aGVuIHRoZSByZXNvdXJjZSBpcyBjcmVhdGVkL3VwZGF0ZWQuXG4gICAqL1xuICByZWFkb25seSBhcHBseVBhdGNoOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIC8qKlxuICAgKiBUaGUgSlNPTiBvYmplY3QgdG8gcGFzcyB0byBga3ViZWN0bCBwYXRjaGAgd2hlbiB0aGUgcmVzb3VyY2UgaXMgcmVtb3ZlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlc3RvcmVQYXRjaDogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcblxuICAvKipcbiAgICogVGhlIGZ1bGwgbmFtZSBvZiB0aGUgcmVzb3VyY2UgdG8gcGF0Y2ggKGUuZy4gYGRlcGxveW1lbnQvY29yZWRuc2ApLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBrdWJlcm5ldGVzIEFQSSBuYW1lc3BhY2VcbiAgICpcbiAgICogQGRlZmF1bHQgXCJkZWZhdWx0XCJcbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlTmFtZXNwYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0Y2ggdHlwZSB0byBwYXNzIHRvIGBrdWJlY3RsIHBhdGNoYC5cbiAgICogVGhlIGRlZmF1bHQgdHlwZSB1c2VkIGJ5IGBrdWJlY3RsIHBhdGNoYCBpcyBcInN0cmF0ZWdpY1wiLlxuICAgKlxuICAgKiBAZGVmYXVsdCBQYXRjaFR5cGUuU1RSQVRFR0lDXG4gICAqL1xuICByZWFkb25seSBwYXRjaFR5cGU/OiBQYXRjaFR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSByZW1vdmFsIHBvbGljeSBhcHBsaWVkIHRvIHRoZSBjdXN0b20gcmVzb3VyY2UgdGhhdCBtYW5hZ2VzIHRoZSBLdWJlcm5ldGVzIHBhdGNoLlxuICAgKlxuICAgKiBUaGUgcmVtb3ZhbCBwb2xpY3kgY29udHJvbHMgd2hhdCBoYXBwZW5zIHRvIHRoZSByZXNvdXJjZSBpZiBpdCBzdG9wcyBiZWluZyBtYW5hZ2VkIGJ5IENsb3VkRm9ybWF0aW9uLlxuICAgKiBUaGlzIGNhbiBoYXBwZW4gaW4gb25lIG9mIHRocmVlIHNpdHVhdGlvbnM6XG4gICAqXG4gICAqIC0gVGhlIHJlc291cmNlIGlzIHJlbW92ZWQgZnJvbSB0aGUgdGVtcGxhdGUsIHNvIENsb3VkRm9ybWF0aW9uIHN0b3BzIG1hbmFnaW5nIGl0XG4gICAqIC0gQSBjaGFuZ2UgdG8gdGhlIHJlc291cmNlIGlzIG1hZGUgdGhhdCByZXF1aXJlcyBpdCB0byBiZSByZXBsYWNlZCwgc28gQ2xvdWRGb3JtYXRpb24gc3RvcHMgbWFuYWdpbmcgaXRcbiAgICogLSBUaGUgc3RhY2sgaXMgZGVsZXRlZCwgc28gQ2xvdWRGb3JtYXRpb24gc3RvcHMgbWFuYWdpbmcgYWxsIHJlc291cmNlcyBpbiBpdFxuICAgKlxuICAgKiBAZGVmYXVsdCBSZW1vdmFsUG9saWN5LkRFU1RST1lcbiAgICovXG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k/OiBSZW1vdmFsUG9saWN5O1xufVxuXG4vKipcbiAqIFZhbHVlcyBmb3IgYGt1YmVjdGwgcGF0Y2hgIC0tdHlwZSBhcmd1bWVudFxuICovXG5leHBvcnQgZW51bSBQYXRjaFR5cGUge1xuICAvKipcbiAgICogSlNPTiBQYXRjaCwgUkZDIDY5MDJcbiAgICovXG4gIEpTT04gPSAnanNvbicsXG4gIC8qKlxuICAgKiBKU09OIE1lcmdlIHBhdGNoXG4gICAqL1xuICBNRVJHRSA9ICdtZXJnZScsXG4gIC8qKlxuICAgKiBTdHJhdGVnaWMgbWVyZ2UgcGF0Y2hcbiAgICovXG4gIFNUUkFURUdJQyA9ICdzdHJhdGVnaWMnLFxufVxuXG4vKipcbiAqIEEgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2Ugd2hpY2ggYXBwbGllcy9yZXN0b3JlcyBhIEpTT04gcGF0Y2ggaW50byBhXG4gKiBLdWJlcm5ldGVzIHJlc291cmNlLlxuICogQHNlZSBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy90YXNrcy9ydW4tYXBwbGljYXRpb24vdXBkYXRlLWFwaS1vYmplY3Qta3ViZWN0bC1wYXRjaC9cbiAqL1xuZXhwb3J0IGNsYXNzIEt1YmVybmV0ZXNQYXRjaCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBLdWJlcm5ldGVzUGF0Y2hQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHRoaXMpO1xuXG4gICAgY29uc3QgcHJvdmlkZXIgPSBLdWJlY3RsUHJvdmlkZXIuZ2V0S3ViZWN0bFByb3ZpZGVyKHRoaXMsIHByb3BzLmNsdXN0ZXIpO1xuICAgIGlmICghcHJvdmlkZXIpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoJ0t1YmVjdGwgUHJvdmlkZXIgaXMgbm90IGRlZmluZWQgaW4gdGhpcyBjbHVzdGVyLiBEZWZpbmUgaXQgd2hlbiBjcmVhdGluZyB0aGUgY2x1c3RlcicsIHRoaXMpO1xuICAgIH1cblxuICAgIG5ldyBDdXN0b21SZXNvdXJjZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHJlc291cmNlVHlwZTogJ0N1c3RvbTo6QVdTQ0RLLUVLUy1LdWJlcm5ldGVzUGF0Y2gnLFxuICAgICAgcmVtb3ZhbFBvbGljeTogcHJvcHMucmVtb3ZhbFBvbGljeSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgUmVzb3VyY2VOYW1lOiBwcm9wcy5yZXNvdXJjZU5hbWUsXG4gICAgICAgIFJlc291cmNlTmFtZXNwYWNlOiBwcm9wcy5yZXNvdXJjZU5hbWVzcGFjZSA/PyAnZGVmYXVsdCcsXG4gICAgICAgIEFwcGx5UGF0Y2hKc29uOiBzdGFjay50b0pzb25TdHJpbmcocHJvcHMuYXBwbHlQYXRjaCksXG4gICAgICAgIFJlc3RvcmVQYXRjaEpzb246IHN0YWNrLnRvSnNvblN0cmluZyhwcm9wcy5yZXN0b3JlUGF0Y2gpLFxuICAgICAgICBDbHVzdGVyTmFtZTogcHJvcHMuY2x1c3Rlci5jbHVzdGVyTmFtZSxcbiAgICAgICAgUGF0Y2hUeXBlOiBwcm9wcy5wYXRjaFR5cGUgPz8gUGF0Y2hUeXBlLlNUUkFURUdJQyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==