PowerShell RAM Cache
Problem this snippet solves:
This PowerShell example illustrates how to query for entries in the RAM Cache.
Code :
#----------------------------------------------------------------------------
# The contents of this file are subject to the "END USER LICENSE AGREEMENT FOR F5
# Software Development Kit for iControl"; you may not use this file except in
# compliance with the License. The License is included in the iControl
# Software Development Kit.
#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
#
# The Original Code is iControl Code and related documentation
# distributed by F5.
#
# The Initial Developer of the Original Code is F5 Networks,
# Inc. Seattle, WA, USA. Portions created by F5 are Copyright (C) 1996-2010 F5 Networks,
# Inc. All Rights Reserved. iControl (TM) is a registered trademark of F5 Networks, Inc.
#
# Alternatively, the contents of this file may be used under the terms
# of the GNU General Public License (the "GPL"), in which case the
# provisions of GPL are applicable instead of those above. If you wish
# to allow use of your version of this file only under the terms of the
# GPL and not to allow others to use your version of this file under the
# License, indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by the GPL.
# If you do not delete the provisions above, a recipient may use your
# version of this file under either the License or the GPL.
#----------------------------------------------------------------------------
param (
$BIGIP = $null,
$User = $null,
$Pass = $null,
$Profile = $null
);
Set-PSDebug -strict;
#-------------------------------------------------------------------------
# function Write-Usage
#-------------------------------------------------------------------------
function Write-Usage()
{
Write-Host "Usage: RAMCache.ps1 -BIGIP hostname -User username -Pass password";
exit;
}
function Get-RAMCacheEntry()
{
param([string]$Profile = $null);
$key = New-Object -TypeName iControl.LocalLBRAMCacheInformationRAMCacheKey;
$key.profile_name = $Profile;
$key.host_name = "";
$key.uri = "";
$key.maximum_responses = 100;
$RAMCacheEntryAofA = (Get-F5.iControl).LocalLBRAMCacheInformation.get_ramcache_entry( (,$key) );
$RAMCacheEntryA = $RAMCacheEntryAofA[0];
foreach($RAMCacheEntry in $RAMCacheEntryA)
{
$profile_name = $RAMCacheEntry.profile_name;
$host_name = $RAMCacheEntry.host_name;
$uri = $RAMCacheEntry.uri;
$vary_type = $RAMCacheEntry.vary_type;
$vary_count = $RAMCacheEntry.vary_count;
$hits = $RAMCacheEntry.hits;
$received = $RAMCacheEntry.received;
$last_sent = $RAMCacheEntry.last_sent;
$expiration = $RAMCacheEntry.expiration;
$size = $RAMCacheEntry.size;
Write-Host "=========================================";
Write-Host "Profile Name: $profile_name";
Write-Host "Host Name : $host_name";
Write-Host "Uri : $uri";
Write-Host "Vary Type : $vary_type";
Write-Host "Vary Count : $vary_count";
Write-Host "Hits : $hits";
Write-Host "Received : $received";
Write-Host "Last Sent : $last_sent";
Write-Host "Expiration : $expiration";
Write-Host "Size : $size";
}
}
#-------------------------------------------------------------------------
# Do-Initialize
#-------------------------------------------------------------------------
function Do-Initialize()
{
if ( (Get-PSSnapin | Where-Object { $_.Name -eq "iControlSnapIn"}) -eq $null )
{
Add-PSSnapIn iControlSnapIn
}
$success = Initialize-F5.iControl -HostName $BIGIP -Username $User -Password $Pass;
return $success;
}
#-------------------------------------------------------------------------
# Main Application Logic
#-------------------------------------------------------------------------
if ( ($BIGIP -eq $null) -or ($User -eq $null) -or ($Pass -eq $null) -or ($Profile -eq $null) )
{
Write-Usage;
}
if ( Do-Initialize )
{
Get-RAMCacheEntry -Profile $Profile
}
else
{
Write-Error "ERROR: iControl subsystem not initialized"
}Published Mar 09, 2015
Version 1.0CodeCentral_194
Cirrostratus
Joined May 05, 2019
CodeCentral_194
Cirrostratus
Joined May 05, 2019
No CommentsBe the first to comment