${range(1).map(item => {
    const ID = fake.random.uuid();
    const legacy = ID.indexOf('%3A') === -1;
    const source = location.search.source.split('/');
    const destination = location.search.destination.split('/');
return `
  {
    "ID": "${legacy ? ID : ''}"
${ http.method !== "PUT" ? `
    ,"Description": "${fake.lorem.sentence()}",
    "SourceNS": "${source[0]}",
    "SourceName": "${source[1]}",
    "DestinationNS": "${destination[0]}",
    "DestinationName": "${destination[1]}",
    "SourceType": "${fake.helpers.randomize(['consul', 'externaluri'])}",
${legacy ? `
    "Action": "${fake.helpers.randomize(['allow', 'deny'])}",
`:``}
${!legacy ? `
    "Permissions": [
${range(
  env(
    'CONSUL_INTENTION_PERMISSION_COUNT',
    Math.floor(
      (
        Math.random() * env('CONSUL_INTENTION_PERMISSION_MAX', 10)
      ) + parseInt(env('CONSUL_INTENTION_PERMISSION_MIN', 1))
    )
  )
).map((item, i) => {
  const headerCount = env(
    'CONSUL_HEADER_COUNT',
    Math.floor(
      (
        Math.random() * env('CONSUL_HEADER_MAX', 3)
      ) + parseInt(env('CONSUL_HEADER_MIN', 1))
    )
  );
  const path = fake.helpers.randomize(['PathExact', 'PathPrefix', 'PathRegex', '']);
  return `
              {
                "Action": "${fake.helpers.randomize(['allow', 'deny'])}",
                "HTTP": {
${path !== '' ? `
                  "${path}": "${path === 'PathRegex' ? `${fake.helpers.randomize(['^[0-9]{1,3}?$', '(\w+)\s(\w+)'])}` : `/${fake.lorem.words(fake.random.number({min: 1, max: 5})).split(' ').join('/')}${fake.random.boolean() ? fake.system.fileName() : ''}`}",
`:``}

${ fake.random.boolean() ? `
                  "Methods": [
                    ${
                      fake.helpers.shuffle(
                        ["GET", "POST", "PUT", "DELETE", "OPTIONS", "HEAD", "PATCH"]
                      ).filter(item => fake.random.boolean()).map(item => `
                        "${item}"
                      `)
                    }
                  ],
` : ``}
                  "Header": [
${range(headerCount).map(item => `
                    {
                      "Name": "X-${fake.hacker.noun().split(' ').map(item => `${item.substr(0, 1).toUpperCase()}${item.substr(1)}`).join('-')}",
${fake.random.boolean() ? `
                      "Invert": true,
` : ``}
${fake.helpers.randomize([
                      '"Present": true',
                      '"Exact": "abc"',
                      '"Prefix": "abc"',
                      '"Suffix": "xyz"',
                      '"Regex": "[abc]"'
])}
                    }
`)}
                ]
              }
            }
`})}
    ],
`:``}
    "Precedence": ${fake.random.number({min: 1, max: 100})},
${ !legacy && fake.random.number({min: 1, max: 10}) > 2 ? `
    "Meta": {
      "external-source": "${fake.helpers.randomize(['kubernetes'])}"
    },
` : `` }
    "CreatedAt": "2018-05-21T16:41:27.977155457Z",
    "UpdatedAt": "2018-05-21T16:41:27.977157724Z",
    "CreateIndex": 11,
    "ModifyIndex": 11
` : ``}
  }
`})}
