{
  "encassConfigs": [
    {
      "goid": "c3d4e5f6a7b8090a1b2c3d4e5f607182",
      "guid": "c3d4e5f6-a7b8-490a-9b2c-3d4e5f607182",
      "name": "SecretFieldsExample-1.0",
      "description": "Demonstrates how to expose Portal secure (masked) input fields on a policy template. Defines two inputs whose names are prefixed with l7.secure. (l7.secure.username and l7.secure.password) so the Portal masks them in the UI and stores them encrypted as Gateway stored passwords. The fragment then reads the deciphered values at runtime via ${l7.secure.username} and ${l7.secure.password} and assigns them to local context variables (serviceUsername, servicePassword) so downstream policy logic can use them without re-typing the secure-field references.",
      "policyName": "SecretFieldsExample-1.0",
      "encassArgs": [
        {
          "name": "l7.secure.username",
          "type": "STRING",
          "ordinal": 1,
          "guiPrompt": true,
          "guiLabel": "Service Username *"
        },
        {
          "name": "l7.secure.password",
          "type": "STRING",
          "ordinal": 2,
          "guiPrompt": true,
          "guiLabel": "Service Password *"
        }
      ],
      "encassResults": [],
      "properties": [
        {
          "name": "allowTracing",
          "value": "false"
        },
        {
          "name": "paletteFolder",
          "value": "customAssertions"
        },
        {
          "name": "passMetricsToParent",
          "value": "false"
        }
      ]
    }
  ],
  "policies": [
    {
      "goid": "d4e5f6a7b8c9091b2c3d4e5f607182a3",
      "guid": "d4e5f6a7-b8c9-491b-9c3d-4e5f607182a3",
      "name": "SecretFieldsExample-1.0",
      "policyType": "FRAGMENT",
      "enabled": true,
      "folderPath": "/Portal Templates",
      "soap": false,
      "policy": {
        "xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<wsp:Policy xmlns:L7p=\"http://www.layer7tech.com/ws/policy\" xmlns:wsp=\"http://schemas.xmlsoap.org/ws/2002/12/policy\">\n    <wsp:All wsp:Usage=\"Required\">\n        <L7p:CommentAssertion>\n            <L7p:Comment stringValue=\"Policy Fragment: SecretFieldsExample-1.0\"/>\n        </L7p:CommentAssertion>\n        <L7p:CommentAssertion>\n            <L7p:Comment stringValue=\"Read the secure-field inputs into local context variables (serviceUsername, servicePassword) for downstream use.\"/>\n        </L7p:CommentAssertion>\n        <L7p:SetVariable>\n            <L7p:Base64Expression stringValue=\"JHtsNy5zZWN1cmUudXNlcm5hbWV9\"/>\n            <L7p:VariableToSet stringValue=\"serviceUsername\"/>\n        </L7p:SetVariable>\n        <L7p:SetVariable>\n            <L7p:Base64Expression stringValue=\"JHtsNy5zZWN1cmUucGFzc3dvcmR9\"/>\n            <L7p:VariableToSet stringValue=\"servicePassword\"/>\n        </L7p:SetVariable>\n    </wsp:All>\n</wsp:Policy>\n"
      }
    }
  ],
  "properties": {
    "meta": {
      "name": "SecretFieldsExample-1.0 Bundle",
      "schema": "11.2.1"
    },
    "defaultAction": "NEW_OR_UPDATE"
  }
}