Skip to content

Instantly share code, notes, and snippets.

@istolga
Created April 8, 2017 06:32
Show Gist options
  • Save istolga/bce09bec9ed293e2bcb9f9c7e4bfbbe2 to your computer and use it in GitHub Desktop.
Save istolga/bce09bec9ed293e2bcb9f9c7e4bfbbe2 to your computer and use it in GitHub Desktop.
CA API Gateway service policy xml
<?xml version="1.0" encoding="UTF-8"?>
<exp:Export Version="3.0"
xmlns:L7p="http://www.layer7tech.com/ws/policy"
xmlns:exp="http://www.layer7tech.com/ws/policy/export" xmlns:wsp="http://schemas.xmlsoap.org/ws/2002/12/policy">
<exp:References>
<IncludedPolicyReference
RefType="com.l7tech.console.policy.exporter.IncludedPolicyReference"
guid="bffcce55-462d-4085-8429-ba197ee4639f" included="true"
name="Integration Snippet" soap="false" type="INCLUDE_FRAGMENT">
<wsp:Policy xmlns:L7p="http://www.layer7tech.com/ws/policy" xmlns:wsp="http://schemas.xmlsoap.org/ws/2002/12/policy">
<wsp:All wsp:Usage="Required">
<L7p:CommentAssertion>
<L7p:Comment stringValue="============================"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="= API Portal Integration components below ="/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="============================"/>
</L7p:CommentAssertion>
<L7p:FaultLevel>
<L7p:Enabled booleanValue="false"/>
<L7p:LevelInfo soapFaultLevel="included">
<L7p:FaultTemplate stringValueReference="inline"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>500</faultcode>
<faultstring>Internal Server Error</faultstring>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>]]></L7p:FaultTemplate>
<L7p:IncludePolicyDownloadURL booleanValue="false"/>
<L7p:Level intValue="1"/>
</L7p:LevelInfo>
</L7p:FaultLevel>
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:AssertionComment assertionComment="included">
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="// capture the API resource requested"/>
</L7p:entry>
<L7p:entry>
<L7p:key stringValue="LEFT.COMMENT"/>
<L7p:value stringValue="getRequestedApiResource()"/>
</L7p:entry>
</L7p:Properties>
</L7p:AssertionComment>
<L7p:Base64Expression stringValue="***********"/>
<L7p:VariableToSet stringValue="apiResource"/>
</L7p:SetVariable>
<L7p:SetVariable>
<L7p:AssertionComment assertionComment="included">
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="// parse API key from request"/>
</L7p:entry>
<L7p:entry>
<L7p:key stringValue="LEFT.COMMENT"/>
<L7p:value stringValue="getRequestApiKey()"/>
</L7p:entry>
</L7p:Properties>
</L7p:AssertionComment>
<L7p:Base64Expression stringValue="************"/>
<L7p:VariableToSet stringValue="lookupApiKey"/>
</L7p:SetVariable>
<wsp:All wsp:Usage="Required">
<L7p:LookupApiKey>
<L7p:ApiKey stringValue="${lookupApiKey}"/>
<L7p:ServiceId stringValue="${portal.managed.service.apiId}"/>
</L7p:LookupApiKey>
<wsp:OneOrMore wsp:Usage="Required">
<wsp:All wsp:Usage="Required">
<L7p:ComparisonAssertion>
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Expression1 stringValue="${apiKeyRecord.found}"/>
<L7p:Operator operatorNull="null"/>
<L7p:Predicates predicates="included">
<L7p:item dataType="included">
<L7p:Type variableDataType="string"/>
</L7p:item>
<L7p:item binary="included">
<L7p:RightValue stringValue="true"/>
</L7p:item>
</L7p:Predicates>
</L7p:ComparisonAssertion>
<L7p:ComparisonAssertion>
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Expression1 stringValue="${apiKeyRecord.service}"/>
<L7p:Operator operatorNull="null"/>
<L7p:Predicates predicates="included">
<L7p:item dataType="included">
<L7p:Type variableDataType="string"/>
</L7p:item>
<L7p:item binary="included">
<L7p:RightValue stringValue="${portal.managed.service.apiId}"/>
</L7p:item>
</L7p:Predicates>
</L7p:ComparisonAssertion>
<L7p:ComparisonAssertion>
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Expression1 stringValue="${apiKeyRecord.status}"/>
<L7p:Operator operatorNull="null"/>
<L7p:Predicates predicates="included">
<L7p:item dataType="included">
<L7p:Type variableDataType="string"/>
</L7p:item>
<L7p:item binary="included">
<L7p:RightValue stringValue="active"/>
</L7p:item>
</L7p:Predicates>
</L7p:ComparisonAssertion>
<L7p:assertionComment>
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="// success - API key found"/>
</L7p:entry>
</L7p:Properties>
</L7p:assertionComment>
</wsp:All>
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="*************"/>
<L7p:VariableToSet stringValue="servicePath"/>
</L7p:SetVariable>
<wsp:OneOrMore wsp:Usage="Required">
<wsp:All wsp:Usage="Required">
<L7p:ComparisonAssertion>
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Expression1 stringValue="${servicePath}"/>
<L7p:FailIfVariableNotFound booleanValue="false"/>
<L7p:MultivaluedComparison multivaluedComparison="FIRST"/>
<L7p:Operator operatorNull="null"/>
<L7p:Predicates predicates="included">
<L7p:item dataType="included">
<L7p:Type variableDataType="string"/>
</L7p:item>
<L7p:item binary="included">
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Operator operator="CONTAINS"/>
<L7p:RightValue stringValue=".xml"/>
</L7p:item>
</L7p:Predicates>
</L7p:ComparisonAssertion>
<L7p:CustomizeErrorResponse>
<L7p:Content stringValueReference="inline"><![CDATA[<list>
<com.jigsaw.api.model.ApiError>
<httpStatusCode>403</httpStatusCode>
<errorCode>TOKEN_FAIL</errorCode>
<errorMsg>The API token is not valid.</errorMsg>
</com.jigsaw.api.model.ApiError>
</list>]]></L7p:Content>
<L7p:ContentType stringValue="application/xml"/>
<L7p:ExtraHeaders nameValuePairArray="included"/>
<L7p:HttpStatus stringValue="403"/>
</L7p:CustomizeErrorResponse>
<L7p:FalseAssertion/>
</wsp:All>
<wsp:All wsp:Usage="Required">
<L7p:ComparisonAssertion>
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Expression1 stringValue="${servicePath}"/>
<L7p:FailIfVariableNotFound booleanValue="false"/>
<L7p:MultivaluedComparison multivaluedComparison="ANY"/>
<L7p:Operator operatorNull="null"/>
<L7p:Predicates predicates="included">
<L7p:item dataType="included">
<L7p:Type variableDataType="string"/>
</L7p:item>
<L7p:item binary="included">
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Operator operator="CONTAINS"/>
<L7p:RightValue stringValue=".json"/>
</L7p:item>
</L7p:Predicates>
</L7p:ComparisonAssertion>
<L7p:CustomizeErrorResponse>
<L7p:Content stringValue="[{&quot;httpStatusCode&quot;:403,&quot;errorCode&quot;:&quot;TOKEN_FAIL&quot;,&quot;errorMsg&quot;:&quot;The API token is not valid.&quot;,&quot;stackTrace&quot;:&quot;&quot;}]"/>
<L7p:ContentType stringValue="text/javascript"/>
<L7p:ExtraHeaders nameValuePairArray="included"/>
<L7p:HttpStatus stringValue="403"/>
</L7p:CustomizeErrorResponse>
<L7p:FalseAssertion/>
</wsp:All>
<wsp:All wsp:Usage="Required">
<L7p:ComparisonAssertion>
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Expression1 stringValue="${servicePath}"/>
<L7p:FailIfVariableNotFound booleanValue="false"/>
<L7p:MultivaluedComparison multivaluedComparison="ANY"/>
<L7p:Operator operatorNull="null"/>
<L7p:Predicates predicates="included">
<L7p:item dataType="included">
<L7p:Type variableDataType="string"/>
</L7p:item>
<L7p:item binary="included">
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Negated booleanValue="true"/>
<L7p:Operator operator="CONTAINS"/>
<L7p:RightValue stringValue=".json"/>
</L7p:item>
<L7p:item binary="included">
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Negated booleanValue="true"/>
<L7p:Operator operator="CONTAINS"/>
<L7p:RightValue stringValue=".xml"/>
</L7p:item>
</L7p:Predicates>
</L7p:ComparisonAssertion>
<L7p:CustomizeErrorResponse>
<L7p:ExtraHeaders nameValuePairArray="included"/>
</L7p:CustomizeErrorResponse>
<L7p:FalseAssertion/>
</wsp:All>
</wsp:OneOrMore>
<L7p:assertionComment>
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="// error - API key not found"/>
</L7p:entry>
</L7p:Properties>
</L7p:assertionComment>
</wsp:All>
</wsp:OneOrMore>
<L7p:assertionComment>
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="Lookup API Key"/>
</L7p:entry>
<L7p:entry>
<L7p:key stringValue="LEFT.COMMENT"/>
<L7p:value stringValue="Step 1 --"/>
</L7p:entry>
</L7p:Properties>
</L7p:assertionComment>
</wsp:All>
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="**************"/>
<L7p:VariableToSet stringValue="apiKey"/>
</L7p:SetVariable>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="****************"/>
<L7p:VariableToSet stringValue="apiPlan"/>
</L7p:SetVariable>
<L7p:MessageContextAssertion>
<L7p:AssertionComment assertionComment="included">
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="// capture API key and requested method (used by analytics)"/>
</L7p:entry>
</L7p:Properties>
</L7p:AssertionComment>
<L7p:Mappings mappingInfoArray="included">
<L7p:item mappingInfo="included">
<L7p:Key stringValue="AUTH_USER"/>
<L7p:MappingType mappingType="AUTH_USER"/>
<L7p:Value stringValue="(SYSTEM DEFINED)"/>
</L7p:item>
<L7p:item mappingInfo="included">
<L7p:Key stringValue="API_KEY"/>
<L7p:MappingType mappingType="CUSTOM_MAPPING"/>
<L7p:Value stringValue="${apikey}"/>
</L7p:item>
<L7p:item mappingInfo="included">
<L7p:Key stringValue="API_METHOD"/>
<L7p:MappingType mappingType="CUSTOM_MAPPING"/>
<L7p:Value stringValue="${apiResource}"/>
</L7p:item>
</L7p:Mappings>
</L7p:MessageContextAssertion>
<L7p:assertionComment>
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="// Capture API key and API method for metrics"/>
</L7p:entry>
<L7p:entry>
<L7p:key stringValue="LEFT.COMMENT"/>
<L7p:value stringValue="Step 2 --"/>
</L7p:entry>
</L7p:Properties>
</L7p:assertionComment>
</wsp:All>
<wsp:All wsp:Usage="Required">
<L7p:Include>
<L7p:PolicyGuid stringValue="03a8e771-bc14-4172-8f22-40164020210d"/>
</L7p:Include>
<wsp:OneOrMore wsp:Usage="Required">
<L7p:ComparisonAssertion>
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Expression1 stringValue="${apiAuthz}"/>
<L7p:Operator operatorNull="null"/>
<L7p:Predicates predicates="included">
<L7p:item dataType="included">
<L7p:Type variableDataType="string"/>
</L7p:item>
<L7p:item binary="included">
<L7p:RightValue stringValue="true"/>
</L7p:item>
</L7p:Predicates>
</L7p:ComparisonAssertion>
<wsp:All wsp:Usage="Required">
<L7p:CustomizeErrorResponse>
<L7p:Content stringValue="API plan limit exceeded"/>
<L7p:ExtraHeaders nameValuePairArray="included"/>
<L7p:HttpStatus stringValue="403"/>
</L7p:CustomizeErrorResponse>
<L7p:FalseAssertion/>
</wsp:All>
</wsp:OneOrMore>
<L7p:assertionComment>
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="// Enforce API Plan restriction"/>
</L7p:entry>
<L7p:entry>
<L7p:key stringValue="LEFT.COMMENT"/>
<L7p:value stringValue="Step 3 --"/>
</L7p:entry>
</L7p:Properties>
</L7p:assertionComment>
</wsp:All>
<L7p:assertionComment>
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="// API Portal Integration section"/>
</L7p:entry>
</L7p:Properties>
</L7p:assertionComment>
</wsp:All>
<L7p:CommentAssertion>
<L7p:Comment stringValue="==========================="/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="= The rest of the service policy follows ... ="/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="==========================="/>
</L7p:CommentAssertion>
</wsp:All>
</wsp:Policy>
</IncludedPolicyReference>
<IncludedPolicyReference
RefType="com.l7tech.console.policy.exporter.IncludedPolicyReference"
guid="03a8e771-bc14-4172-8f22-40164020210d" included="true"
name="API Plans Fragment" soap="false" type="INCLUDE_FRAGMENT">
<wsp:Policy xmlns:L7p="http://www.layer7tech.com/ws/policy" xmlns:wsp="http://schemas.xmlsoap.org/ws/2002/12/policy">
<wsp:All wsp:Usage="Required">
<L7p:CommentAssertion>
<L7p:Comment stringValue="// This fragment is auto generated by the gateway. DO NOT MODIFY"/>
</L7p:CommentAssertion>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="********"/>
<L7p:VariableToSet stringValue="apiKey"/>
</L7p:SetVariable>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="************"/>
<L7p:VariableToSet stringValue="apiPlan"/>
</L7p:SetVariable>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="**********"/>
<L7p:VariableToSet stringValue="requestApiPlan"/>
</L7p:SetVariable>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="********"/>
<L7p:VariableToSet stringValue="apiAuthz"/>
</L7p:SetVariable>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="*******"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<wsp:OneOrMore wsp:Usage="Required" xmlns:wsp="http://schemas.xmlsoap.org/ws/2002/12/policy">
<L7p:assertionComment xmlns:L7p="http://www.layer7tech.com/ws/policy">
<L7p:Properties>
<L7p:entry>
<L7p:key>RIGHT.COMMENT</L7p:key>
<L7p:value>// api plans</L7p:value>
</L7p:entry>
</L7p:Properties>
</L7p:assertionComment>
<wsp:All wsp:Usage="Required"
xmlns:L7p="http://www.layer7tech.com/ws/policy" xmlns:l7="http://ns.l7tech.com/2012/04/api-management">
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.id=0559ad795e329ee65cc10f440bcdd0e25d104bff"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.name=JFS"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.default=false"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.lastUpdated=201302051644.35"/>
</L7p:CommentAssertion>
<L7p:ComparisonAssertion>
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Expression1 stringValue="${requestApiPlan}"/>
<L7p:Operator operatorNull="null"/>
<L7p:Predicates predicates="included">
<L7p:item dataType="included">
<L7p:Type variableDataType="string"/>
</L7p:item>
<L7p:item binary="included">
<L7p:RightValue stringValue="0559ad795e329ee65cc10f440bcdd0e25d104bff"/>
</L7p:item>
</L7p:Predicates>
</L7p:ComparisonAssertion>
<wsp:OneOrMore wsp:Usage="Required">
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="JHthcGlBdXRoekRldGFpbHN9JHthcGlLZXl9fCR7YXBpUGxhbn18cXVvdGE/"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:ThroughputQuota>
<L7p:CounterName stringValue="${service.oid}-${apiKey}"/>
<L7p:CounterStrategy intValue="2"/>
<L7p:Global booleanValue="true"/>
<L7p:Enabled booleanValue="false"/>
<L7p:Quota stringValue="10"/>
<L7p:TimeUnit intValue="4"/>
</L7p:ThroughputQuota>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="***************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:RateLimit>
<L7p:CounterName stringValue="${service.oid}-${apiKey}"/>
<L7p:Enabled booleanValue="true"/>
<L7p:HardLimit booleanValue="true"/>
<L7p:MaxRequestsPerSecond stringValue="3"/>
<L7p:ShapeRequests booleanValue="false"/>
<L7p:WindowSizeInSeconds stringValue="60"/>
</L7p:RateLimit>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="*************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:TimeRange>
<L7p:Enabled booleanValue="true"/>
<L7p:ControlDay booleanValue="false"/>
<L7p:ControlTime booleanValue="false"/>
<L7p:EndDayOfWeek intValue="1"/>
<L7p:StartDayOfWeek intValue="1"/>
<L7p:TimeRange timeOfDayRange="included">
<L7p:From timeOfDay="included">
<L7p:Hour intValue="00"/>
<L7p:Minute intValue="00"/>
<L7p:Second intValue="00"/>
</L7p:From>
<L7p:To timeOfDay="included">
<L7p:Hour intValue="00"/>
<L7p:Minute intValue="00"/>
<L7p:Second intValue="00"/>
</L7p:To>
</L7p:TimeRange>
</L7p:TimeRange>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="************"/>
<L7p:VariableToSet stringValue="apiAuthz"/>
</L7p:SetVariable>
</wsp:All>
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="*************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
</wsp:All>
</wsp:OneOrMore>
<L7p:assertionComment>
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="// JFS"/>
</L7p:entry>
</L7p:Properties>
</L7p:assertionComment>
</wsp:All>
<wsp:All wsp:Usage="Required"
xmlns:L7p="http://www.layer7tech.com/ws/policy" xmlns:l7="http://ns.l7tech.com/2012/04/api-management">
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.id=1db2437af8b34992f57aedbb22fe27838f42d019"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.name=Default"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.default=true"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.lastUpdated=201302081649.09"/>
</L7p:CommentAssertion>
<L7p:ComparisonAssertion>
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Expression1 stringValue="${requestApiPlan}"/>
<L7p:Operator operatorNull="null"/>
<L7p:Predicates predicates="included">
<L7p:item dataType="included">
<L7p:Type variableDataType="string"/>
</L7p:item>
<L7p:item binary="included">
<L7p:RightValue stringValue="1db2437af8b34992f57aedbb22fe27838f42d019"/>
</L7p:item>
</L7p:Predicates>
</L7p:ComparisonAssertion>
<wsp:OneOrMore wsp:Usage="Required">
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="JHthcGlBdXRoekRldGFpbHN9JHthcGlLZXl9fCR7YXBpUGxhbn18cXVvdGE/"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:ThroughputQuota>
<L7p:CounterName stringValue="${service.oid}-${apiKey}"/>
<L7p:CounterStrategy intValue="2"/>
<L7p:Global booleanValue="true"/>
<L7p:Enabled booleanValue="false"/>
<L7p:Quota stringValue="10"/>
<L7p:TimeUnit intValue="4"/>
</L7p:ThroughputQuota>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="*********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:RateLimit>
<L7p:CounterName stringValue="${service.oid}-${apiKey}"/>
<L7p:Enabled booleanValue="true"/>
<L7p:HardLimit booleanValue="true"/>
<L7p:MaxRequestsPerSecond stringValue="1"/>
<L7p:ShapeRequests booleanValue="false"/>
<L7p:WindowSizeInSeconds stringValue="60"/>
</L7p:RateLimit>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="***********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:TimeRange>
<L7p:Enabled booleanValue="true"/>
<L7p:ControlDay booleanValue="false"/>
<L7p:ControlTime booleanValue="false"/>
<L7p:EndDayOfWeek intValue="1"/>
<L7p:StartDayOfWeek intValue="1"/>
<L7p:TimeRange timeOfDayRange="included">
<L7p:From timeOfDay="included">
<L7p:Hour intValue="00"/>
<L7p:Minute intValue="00"/>
<L7p:Second intValue="00"/>
</L7p:From>
<L7p:To timeOfDay="included">
<L7p:Hour intValue="00"/>
<L7p:Minute intValue="00"/>
<L7p:Second intValue="00"/>
</L7p:To>
</L7p:TimeRange>
</L7p:TimeRange>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="***********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="**********"/>
<L7p:VariableToSet stringValue="apiAuthz"/>
</L7p:SetVariable>
</wsp:All>
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="***********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
</wsp:All>
</wsp:OneOrMore>
<L7p:assertionComment>
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="// Default"/>
</L7p:entry>
</L7p:Properties>
</L7p:assertionComment>
</wsp:All>
<wsp:All wsp:Usage="Required"
xmlns:L7p="http://www.layer7tech.com/ws/policy" xmlns:l7="http://ns.l7tech.com/2012/04/api-management">
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.id=377eb76a83aa4726250609fd2bfccd6475a4bd64"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.name=Standard+Partner"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.default=false"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.lastUpdated=201302051646.13"/>
</L7p:CommentAssertion>
<L7p:ComparisonAssertion>
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Expression1 stringValue="${requestApiPlan}"/>
<L7p:Operator operatorNull="null"/>
<L7p:Predicates predicates="included">
<L7p:item dataType="included">
<L7p:Type variableDataType="string"/>
</L7p:item>
<L7p:item binary="included">
<L7p:RightValue stringValue="377eb76a83aa4726250609fd2bfccd6475a4bd64"/>
</L7p:item>
</L7p:Predicates>
</L7p:ComparisonAssertion>
<wsp:OneOrMore wsp:Usage="Required">
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="****************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:ThroughputQuota>
<L7p:CounterName stringValue="${service.oid}-${apiKey}"/>
<L7p:CounterStrategy intValue="2"/>
<L7p:Global booleanValue="true"/>
<L7p:Enabled booleanValue="false"/>
<L7p:Quota stringValue="10"/>
<L7p:TimeUnit intValue="4"/>
</L7p:ThroughputQuota>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="***************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:RateLimit>
<L7p:CounterName stringValue="${service.oid}-${apiKey}"/>
<L7p:Enabled booleanValue="true"/>
<L7p:HardLimit booleanValue="true"/>
<L7p:MaxRequestsPerSecond stringValue="10"/>
<L7p:ShapeRequests booleanValue="false"/>
<L7p:WindowSizeInSeconds stringValue="60"/>
</L7p:RateLimit>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="***********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:TimeRange>
<L7p:Enabled booleanValue="true"/>
<L7p:ControlDay booleanValue="false"/>
<L7p:ControlTime booleanValue="false"/>
<L7p:EndDayOfWeek intValue="1"/>
<L7p:StartDayOfWeek intValue="1"/>
<L7p:TimeRange timeOfDayRange="included">
<L7p:From timeOfDay="included">
<L7p:Hour intValue="00"/>
<L7p:Minute intValue="00"/>
<L7p:Second intValue="00"/>
</L7p:From>
<L7p:To timeOfDay="included">
<L7p:Hour intValue="00"/>
<L7p:Minute intValue="00"/>
<L7p:Second intValue="00"/>
</L7p:To>
</L7p:TimeRange>
</L7p:TimeRange>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="*********"/>
<L7p:VariableToSet stringValue="apiAuthz"/>
</L7p:SetVariable>
</wsp:All>
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="***************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
</wsp:All>
</wsp:OneOrMore>
<L7p:assertionComment>
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="// Standard+Partner"/>
</L7p:entry>
</L7p:Properties>
</L7p:assertionComment>
</wsp:All>
<wsp:All wsp:Usage="Required"
xmlns:L7p="http://www.layer7tech.com/ws/policy" xmlns:l7="http://ns.l7tech.com/2012/04/api-management">
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.id=8e9e02182264b4e27cb397ffa95f08b7f4045e95"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.name=Jigsaw+Public"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.default=false"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.lastUpdated=201302081645.01"/>
</L7p:CommentAssertion>
<L7p:ComparisonAssertion>
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Expression1 stringValue="${requestApiPlan}"/>
<L7p:Operator operatorNull="null"/>
<L7p:Predicates predicates="included">
<L7p:item dataType="included">
<L7p:Type variableDataType="string"/>
</L7p:item>
<L7p:item binary="included">
<L7p:RightValue stringValue="8e9e02182264b4e27cb397ffa95f08b7f4045e95"/>
</L7p:item>
</L7p:Predicates>
</L7p:ComparisonAssertion>
<wsp:OneOrMore wsp:Usage="Required">
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="**********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:ThroughputQuota>
<L7p:CounterName stringValue="${service.oid}-${apiKey}"/>
<L7p:CounterStrategy intValue="2"/>
<L7p:Global booleanValue="true"/>
<L7p:Enabled booleanValue="false"/>
<L7p:Quota stringValue="10"/>
<L7p:TimeUnit intValue="4"/>
</L7p:ThroughputQuota>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="**********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:RateLimit>
<L7p:CounterName stringValue="${service.oid}-${apiKey}"/>
<L7p:Enabled booleanValue="true"/>
<L7p:HardLimit booleanValue="true"/>
<L7p:MaxRequestsPerSecond stringValue="3"/>
<L7p:ShapeRequests booleanValue="false"/>
<L7p:WindowSizeInSeconds stringValue="60"/>
</L7p:RateLimit>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="*********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:TimeRange>
<L7p:Enabled booleanValue="true"/>
<L7p:ControlDay booleanValue="false"/>
<L7p:ControlTime booleanValue="false"/>
<L7p:EndDayOfWeek intValue="1"/>
<L7p:StartDayOfWeek intValue="1"/>
<L7p:TimeRange timeOfDayRange="included">
<L7p:From timeOfDay="included">
<L7p:Hour intValue="00"/>
<L7p:Minute intValue="00"/>
<L7p:Second intValue="00"/>
</L7p:From>
<L7p:To timeOfDay="included">
<L7p:Hour intValue="00"/>
<L7p:Minute intValue="00"/>
<L7p:Second intValue="00"/>
</L7p:To>
</L7p:TimeRange>
</L7p:TimeRange>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="*********"/>
<L7p:VariableToSet stringValue="apiAuthz"/>
</L7p:SetVariable>
</wsp:All>
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="***************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
</wsp:All>
</wsp:OneOrMore>
<L7p:assertionComment>
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="// Jigsaw+Public"/>
</L7p:entry>
</L7p:Properties>
</L7p:assertionComment>
</wsp:All>
<wsp:All wsp:Usage="Required"
xmlns:L7p="http://www.layer7tech.com/ws/policy" xmlns:l7="http://ns.l7tech.com/2012/04/api-management">
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.id=9de2e19b8b934c044317f2938865c666cb25759b"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.name=internalSearchPlan+-+Test"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.default=false"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.lastUpdated=201302051642.19"/>
</L7p:CommentAssertion>
<L7p:ComparisonAssertion>
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Expression1 stringValue="${requestApiPlan}"/>
<L7p:Operator operatorNull="null"/>
<L7p:Predicates predicates="included">
<L7p:item dataType="included">
<L7p:Type variableDataType="string"/>
</L7p:item>
<L7p:item binary="included">
<L7p:RightValue stringValue="9de2e19b8b934c044317f2938865c666cb25759b"/>
</L7p:item>
</L7p:Predicates>
</L7p:ComparisonAssertion>
<wsp:OneOrMore wsp:Usage="Required">
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:ThroughputQuota>
<L7p:CounterName stringValue="${service.oid}-${apiKey}"/>
<L7p:CounterStrategy intValue="2"/>
<L7p:Global booleanValue="true"/>
<L7p:Enabled booleanValue="true"/>
<L7p:Quota stringValue="5000"/>
<L7p:TimeUnit intValue="4"/>
</L7p:ThroughputQuota>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="***********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:RateLimit>
<L7p:CounterName stringValue="${service.oid}-${apiKey}"/>
<L7p:Enabled booleanValue="true"/>
<L7p:HardLimit booleanValue="true"/>
<L7p:MaxRequestsPerSecond stringValue="2"/>
<L7p:ShapeRequests booleanValue="false"/>
<L7p:WindowSizeInSeconds stringValue="60"/>
</L7p:RateLimit>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="*************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:TimeRange>
<L7p:Enabled booleanValue="true"/>
<L7p:ControlDay booleanValue="false"/>
<L7p:ControlTime booleanValue="false"/>
<L7p:EndDayOfWeek intValue="1"/>
<L7p:StartDayOfWeek intValue="1"/>
<L7p:TimeRange timeOfDayRange="included">
<L7p:From timeOfDay="included">
<L7p:Hour intValue="00"/>
<L7p:Minute intValue="00"/>
<L7p:Second intValue="00"/>
</L7p:From>
<L7p:To timeOfDay="included">
<L7p:Hour intValue="00"/>
<L7p:Minute intValue="00"/>
<L7p:Second intValue="00"/>
</L7p:To>
</L7p:TimeRange>
</L7p:TimeRange>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="*********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="************"/>
<L7p:VariableToSet stringValue="apiAuthz"/>
</L7p:SetVariable>
</wsp:All>
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
</wsp:All>
</wsp:OneOrMore>
<L7p:assertionComment>
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="// internalSearchPlan+-+Test"/>
</L7p:entry>
</L7p:Properties>
</L7p:assertionComment>
</wsp:All>
<wsp:All wsp:Usage="Required"
xmlns:L7p="http://www.layer7tech.com/ws/policy" xmlns:l7="http://ns.l7tech.com/2012/04/api-management">
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.id=ae20c7cb40bd2d3e8b3a32316adf0fee42ea6f47"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.name=TestMigration+-+Test"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.default=false"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.lastUpdated=201302051644.48"/>
</L7p:CommentAssertion>
<L7p:ComparisonAssertion>
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Expression1 stringValue="${requestApiPlan}"/>
<L7p:Operator operatorNull="null"/>
<L7p:Predicates predicates="included">
<L7p:item dataType="included">
<L7p:Type variableDataType="string"/>
</L7p:item>
<L7p:item binary="included">
<L7p:RightValue stringValue="ae20c7cb40bd2d3e8b3a32316adf0fee42ea6f47"/>
</L7p:item>
</L7p:Predicates>
</L7p:ComparisonAssertion>
<wsp:OneOrMore wsp:Usage="Required">
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:ThroughputQuota>
<L7p:CounterName stringValue="${service.oid}-${apiKey}"/>
<L7p:CounterStrategy intValue="2"/>
<L7p:Global booleanValue="true"/>
<L7p:Enabled booleanValue="false"/>
<L7p:Quota stringValue="10"/>
<L7p:TimeUnit intValue="4"/>
</L7p:ThroughputQuota>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="***********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:RateLimit>
<L7p:CounterName stringValue="${service.oid}-${apiKey}"/>
<L7p:Enabled booleanValue="true"/>
<L7p:HardLimit booleanValue="true"/>
<L7p:MaxRequestsPerSecond stringValue="2"/>
<L7p:ShapeRequests booleanValue="false"/>
<L7p:WindowSizeInSeconds stringValue="60"/>
</L7p:RateLimit>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="*********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:TimeRange>
<L7p:Enabled booleanValue="true"/>
<L7p:ControlDay booleanValue="false"/>
<L7p:ControlTime booleanValue="false"/>
<L7p:EndDayOfWeek intValue="1"/>
<L7p:StartDayOfWeek intValue="1"/>
<L7p:TimeRange timeOfDayRange="included">
<L7p:From timeOfDay="included">
<L7p:Hour intValue="00"/>
<L7p:Minute intValue="00"/>
<L7p:Second intValue="00"/>
</L7p:From>
<L7p:To timeOfDay="included">
<L7p:Hour intValue="00"/>
<L7p:Minute intValue="00"/>
<L7p:Second intValue="00"/>
</L7p:To>
</L7p:TimeRange>
</L7p:TimeRange>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="*********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="************"/>
<L7p:VariableToSet stringValue="apiAuthz"/>
</L7p:SetVariable>
</wsp:All>
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="**********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
</wsp:All>
</wsp:OneOrMore>
<L7p:assertionComment>
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="// TestMigration+-+Test"/>
</L7p:entry>
</L7p:Properties>
</L7p:assertionComment>
</wsp:All>
<wsp:All wsp:Usage="Required"
xmlns:L7p="http://www.layer7tech.com/ws/policy" xmlns:l7="http://ns.l7tech.com/2012/04/api-management">
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.id=c8f3456defdccb5253079e79515b6a7c03bff1ba"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.name=Premium+Partner"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.default=false"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.lastUpdated=201302051646.03"/>
</L7p:CommentAssertion>
<L7p:ComparisonAssertion>
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Expression1 stringValue="${requestApiPlan}"/>
<L7p:Operator operatorNull="null"/>
<L7p:Predicates predicates="included">
<L7p:item dataType="included">
<L7p:Type variableDataType="string"/>
</L7p:item>
<L7p:item binary="included">
<L7p:RightValue stringValue="c8f3456defdccb5253079e79515b6a7c03bff1ba"/>
</L7p:item>
</L7p:Predicates>
</L7p:ComparisonAssertion>
<wsp:OneOrMore wsp:Usage="Required">
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="**********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:ThroughputQuota>
<L7p:CounterName stringValue="${service.oid}-${apiKey}"/>
<L7p:CounterStrategy intValue="2"/>
<L7p:Global booleanValue="true"/>
<L7p:Enabled booleanValue="false"/>
<L7p:Quota stringValue="10"/>
<L7p:TimeUnit intValue="4"/>
</L7p:ThroughputQuota>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:RateLimit>
<L7p:CounterName stringValue="${service.oid}-${apiKey}"/>
<L7p:Enabled booleanValue="true"/>
<L7p:HardLimit booleanValue="true"/>
<L7p:MaxRequestsPerSecond stringValue="100"/>
<L7p:ShapeRequests booleanValue="false"/>
<L7p:WindowSizeInSeconds stringValue="60"/>
</L7p:RateLimit>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:TimeRange>
<L7p:Enabled booleanValue="true"/>
<L7p:ControlDay booleanValue="false"/>
<L7p:ControlTime booleanValue="false"/>
<L7p:EndDayOfWeek intValue="1"/>
<L7p:StartDayOfWeek intValue="1"/>
<L7p:TimeRange timeOfDayRange="included">
<L7p:From timeOfDay="included">
<L7p:Hour intValue="00"/>
<L7p:Minute intValue="00"/>
<L7p:Second intValue="00"/>
</L7p:From>
<L7p:To timeOfDay="included">
<L7p:Hour intValue="00"/>
<L7p:Minute intValue="00"/>
<L7p:Second intValue="00"/>
</L7p:To>
</L7p:TimeRange>
</L7p:TimeRange>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="**********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="********"/>
<L7p:VariableToSet stringValue="apiAuthz"/>
</L7p:SetVariable>
</wsp:All>
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="***********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
</wsp:All>
</wsp:OneOrMore>
<L7p:assertionComment>
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="// Premium+Partner"/>
</L7p:entry>
</L7p:Properties>
</L7p:assertionComment>
</wsp:All>
<wsp:All wsp:Usage="Required"
xmlns:L7p="http://www.layer7tech.com/ws/policy" xmlns:l7="http://ns.l7tech.com/2012/04/api-management">
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.id=cf526422dd69d98133b24512784e16d09b4872eb"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.name=MyPlan"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.default=false"/>
</L7p:CommentAssertion>
<L7p:CommentAssertion>
<L7p:Comment stringValue="plan.lastUpdated=201302081553.15"/>
</L7p:CommentAssertion>
<L7p:ComparisonAssertion>
<L7p:CaseSensitive booleanValue="false"/>
<L7p:Expression1 stringValue="${requestApiPlan}"/>
<L7p:Operator operatorNull="null"/>
<L7p:Predicates predicates="included">
<L7p:item dataType="included">
<L7p:Type variableDataType="string"/>
</L7p:item>
<L7p:item binary="included">
<L7p:RightValue stringValue="cf526422dd69d98133b24512784e16d09b4872eb"/>
</L7p:item>
</L7p:Predicates>
</L7p:ComparisonAssertion>
<wsp:OneOrMore wsp:Usage="Required">
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="***********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:ThroughputQuota>
<L7p:CounterName stringValue="${service.oid}-${apiKey}"/>
<L7p:CounterStrategy intValue="2"/>
<L7p:Global booleanValue="true"/>
<L7p:Enabled booleanValue="true"/>
<L7p:Quota stringValue="5"/>
<L7p:TimeUnit intValue="4"/>
</L7p:ThroughputQuota>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="**********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:RateLimit>
<L7p:CounterName stringValue="${service.oid}-${apiKey}"/>
<L7p:Enabled booleanValue="false"/>
<L7p:HardLimit booleanValue="true"/>
<L7p:MaxRequestsPerSecond stringValue="10"/>
<L7p:ShapeRequests booleanValue="false"/>
<L7p:WindowSizeInSeconds stringValue="60"/>
</L7p:RateLimit>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="*************"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:TimeRange>
<L7p:Enabled booleanValue="true"/>
<L7p:ControlDay booleanValue="false"/>
<L7p:ControlTime booleanValue="false"/>
<L7p:EndDayOfWeek intValue="1"/>
<L7p:StartDayOfWeek intValue="1"/>
<L7p:TimeRange timeOfDayRange="included">
<L7p:From timeOfDay="included">
<L7p:Hour intValue="00"/>
<L7p:Minute intValue="00"/>
<L7p:Second intValue="00"/>
</L7p:From>
<L7p:To timeOfDay="included">
<L7p:Hour intValue="00"/>
<L7p:Minute intValue="00"/>
<L7p:Second intValue="00"/>
</L7p:To>
</L7p:TimeRange>
</L7p:TimeRange>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
<L7p:SetVariable>
<L7p:Base64Expression stringValue="*********"/>
<L7p:VariableToSet stringValue="apiAuthz"/>
</L7p:SetVariable>
</wsp:All>
<wsp:All wsp:Usage="Required">
<L7p:SetVariable>
<L7p:Base64Expression stringValue="********"/>
<L7p:VariableToSet stringValue="apiAuthzDetails"/>
</L7p:SetVariable>
</wsp:All>
</wsp:OneOrMore>
<L7p:assertionComment>
<L7p:Properties mapValue="included">
<L7p:entry>
<L7p:key stringValue="RIGHT.COMMENT"/>
<L7p:value stringValue="// MyPlan"/>
</L7p:entry>
</L7p:Properties>
</L7p:assertionComment>
</wsp:All>
</wsp:OneOrMore>
<L7p:ExportVariables>
<L7p:ExportedVars stringArrayValue="included">
<L7p:item stringValue="apiAuthz"/>
<L7p:item stringValue="apiAuthzDetails"/>
</L7p:ExportedVars>
</L7p:ExportVariables>
</wsp:All>
</wsp:Policy>
</IncludedPolicyReference>
</exp:References>
<wsp:Policy xmlns:L7p="http://www.layer7tech.com/ws/policy" xmlns:wsp="http://schemas.xmlsoap.org/ws/2002/12/policy">
<wsp:All wsp:Usage="Required">
<L7p:ApiPortalIntegration>
<L7p:ApiGroup stringValue="Classic"/>
<L7p:ApiId stringValue="038666be-285c-4519-98bd-cdd574789567"/>
<L7p:PortalManagedApiFlag stringValue="L7p:ApiPortalManagedServiceAssertion"/>
</L7p:ApiPortalIntegration>
<L7p:Include>
<L7p:PolicyGuid stringValue="bffcce55-462d-4085-8429-ba197ee4639f"/>
</L7p:Include>
<L7p:HttpRoutingAssertion>
<L7p:FailOnErrorStatus booleanValue="false"/>
<L7p:MaxRetries intValue="0"/>
<L7p:ProtectedServiceUrl stringValue="${gateway.target.protocol}://${gateway.target.server}:${gateway.target.port}${request.url.path}${request.url.query}"/>
<L7p:ProxyPassword stringValueNull="null"/>
<L7p:ProxyUsername stringValueNull="null"/>
<L7p:RequestHeaderRules httpPassthroughRuleSet="included">
<L7p:ForwardAll booleanValue="true"/>
<L7p:Rules httpPassthroughRules="included">
<L7p:item httpPassthroughRule="included">
<L7p:Name stringValue="Cookie"/>
</L7p:item>
<L7p:item httpPassthroughRule="included">
<L7p:Name stringValue="SOAPAction"/>
</L7p:item>
</L7p:Rules>
</L7p:RequestHeaderRules>
<L7p:RequestParamRules httpPassthroughRuleSet="included">
<L7p:ForwardAll booleanValue="true"/>
<L7p:Rules httpPassthroughRules="included"/>
</L7p:RequestParamRules>
<L7p:ResponseHeaderRules httpPassthroughRuleSet="included">
<L7p:ForwardAll booleanValue="true"/>
<L7p:Rules httpPassthroughRules="included">
<L7p:item httpPassthroughRule="included">
<L7p:Name stringValue="Set-Cookie"/>
</L7p:item>
</L7p:Rules>
</L7p:ResponseHeaderRules>
</L7p:HttpRoutingAssertion>
</wsp:All>
</wsp:Policy>
</exp:Export>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment