mirror of https://github.com/hashicorp/consul
70 lines
1.6 KiB
JavaScript
70 lines
1.6 KiB
JavaScript
/**
|
|
* 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;
|
|
}
|