/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ export default function (type, value, doc = document) { const obj = {}; if (type !== '*') { let key = ''; if (!doc.cookie.includes('CONSUL_ACLS_ENABLE=0')) { obj['CONSUL_ACLS_ENABLE'] = 1; } if (!doc.cookie.includes('CONSUL_PEERINGS_ENABLE=0')) { obj['CONSUL_PEERINGS_ENABLE'] = 1; } switch (type) { case 'dc': key = 'CONSUL_DATACENTER_COUNT'; break; case 'service': key = 'CONSUL_SERVICE_COUNT'; break; case 'node': case 'instance': key = 'CONSUL_NODE_COUNT'; break; case 'proxy': key = 'CONSUL_PROXY_COUNT'; break; case 'kv': key = 'CONSUL_KV_COUNT'; break; case 'acl': key = 'CONSUL_ACL_COUNT'; break; case 'session': key = 'CONSUL_SESSION_COUNT'; break; case 'intention': key = 'CONSUL_INTENTION_COUNT'; break; case 'policy': key = 'CONSUL_POLICY_COUNT'; break; case 'role': key = 'CONSUL_ROLE_COUNT'; break; case 'token': key = 'CONSUL_TOKEN_COUNT'; break; case 'authMethod': key = 'CONSUL_AUTH_METHOD_COUNT'; break; case 'oidcProvider': key = 'CONSUL_OIDC_PROVIDER_COUNT'; break; case 'nspace': key = 'CONSUL_NSPACE_COUNT'; break; case 'peer': key = 'CONSUL_PEER_COUNT'; break; } if (key) { obj[key] = value; } } return obj; }