@grucloud/provider-google
Version:
The GruCloud Google Cloud Platform provider
32 lines (26 loc) • 841 B
JavaScript
const assert = require("assert");
const { get } = require("rubico");
const { defaultsDeep } = require("rubico/x");
const GoogleClient = require("../../GoogleClient");
const { GCP_COMPUTE_BASE_URL } = require("./GcpComputeCommon");
// https://cloud.google.com/compute/docs/reference/rest/v1/sslCertificates
exports.GcpSslCertificate = ({ spec, config }) => {
assert(spec);
assert(config);
const { projectId, managedByDescription } = config;
const isInstanceUp = get("selfLink");
const configDefault = ({ name, properties }) =>
defaultsDeep({
name,
description: managedByDescription,
type: "MANAGED",
})(properties);
return GoogleClient({
spec,
baseURL: GCP_COMPUTE_BASE_URL,
url: `/projects/${projectId}/global/sslCertificates`,
config,
configDefault,
isInstanceUp,
});
};