Cisco-UCS
view release on metacpan or search on metacpan
lib/Cisco/UCS/ServiceProfile.pm view on Meta::CPAN
package Cisco::UCS::ServiceProfile;
use warnings;
use strict;
use Carp qw(croak);
use Scalar::Util qw(weaken);
our $VERSION = '0.51';
our @ATTRIBUTES = qw(dn name owner pnDn type uuid);
our %ATTRIBUTES = (
agent_policy_name => 'agentPolicyName',
assign_state => 'assignState',
assoc_state => 'assocState',
bios_profile_name => 'biosProfileName',
boot_policy_name => 'bootPolicyName',
config_state => 'configState',
desc => 'descr',
dynamic_conn_policy_name => 'dynamicConPolicyName',
ext_ip_state => 'extIPState',
fsm_remote_inv_err_code => 'fsmRmtInvErrCode',
fsm_timestamp => 'fsmStamp',
fsm_desc => 'fsmDescr',
fsm_flags => 'fsmFlags',
fsm_previous_state => 'fsmPrev',
fsm_progress => 'fsmProgr',
fsm_remote_inv_err_desc => 'fsmRmtInvErrDescr',
fsm_stage_desc => 'fsmStageDescr',
fsm_status => 'fsmStatus',
fsm_try => 'fsmTry',
host_fw_policy_name => 'hostFwPolicyName',
ident_pool_name => 'identPoolName',
local_disk_policy_name => 'localDiskPolicyName',
maint_policy_name => 'maintPolicyName',
mgmt_access_policy_name => 'mgmtAccessPolicyName',
mgmt_firmware_policy_name => 'mgmtFwPolicyName',
oper_bios_profile_name => 'operBiosProfileName',
oper_boot_policy_name => 'operBootPolicyName',
oper_dynamic_conn_policy_name => 'operDynamicConPolicyName',
oper_host_fw_policy_name => 'operHostFwPolicyName',
oper_ident_pool_name => 'operIdentPoolName',
oper_local_disk_policy_name => 'operLocalDiskPolicyName',
oper_maint_policy_name => 'operMaintPolicyName',
oper_mgmt_access_policy_name => 'operMgmtAccessPolicyName',
oper_mgmt_fw_policy_name => 'operMgmtFwPolicyName',
oper_power_policy_name => 'operPowerPolicyName',
oper_scrub_policy_name => 'operScrubPolicyName',
oper_sol_policy_name => 'operSolPolicyName',
oper_src_template_name => 'operSrcTemplName',
oper_state => 'operState',
oper_stats_policy_name => 'operStatsPolicyName',
oper_vcon_profile_name => 'operVconProfileName',
power_policy_name => 'powerPolicyName',
scrub_policy_name => 'scrubPolicyName',
sol_policy_name => 'solPolicyName',
source_template_name => 'srcTemplName',
stats_policy_name => 'statsPolicyName',
user_label => 'usrLbl',
uuid_suffix => 'uuidSuffix',
vcon_profile_name => 'vconProfileName'
);
sub new {
my ( $class, %args ) = @_;
my $self = {};
bless $self, $class;
defined $args{dn}
? $self->{dn} = $args{dn}
: croak 'dn not defined';
defined $args{ucs}
? weaken( $self->{ucs} = $args{ucs} )
: croak 'dn not defined';
my %attr = %{ $self->{ucs}->resolve_dn(
dn => $self->{dn}
)->{outConfig}->{lsServer} };
while ( my ($k, $v) = each %attr ) { $self->{$k} = $v }
return $self
}
{
no strict 'refs';
while ( my ( $pseudo, $attribute ) = each %ATTRIBUTES ) {
*{ __PACKAGE__ . '::' . $pseudo } = sub {
my $self = shift;
return $self->{$attribute}
}
}
foreach my $attribute ( @ATTRIBUTES ) {
*{ __PACKAGE__ . '::' . $attribute } = sub {
my $self = shift;
return $self->{$attribute}
}
}
}
1;
__END__
=head1 NAME
Cisco::UCS::ServiceProfile - Class for operations with a Cisco UCS Service
Profile.
=head1 SYNOPSIS
my $profile = $ucs->service_profile('profile-1');
print "Profile " . $profile->name
. " is bound to physical DN " . $profile->pnDn . "\n";
print $ucs->service_profile('profile-2')->uuid;
=head1 DECRIPTION
Cisco::UCS::ServiceProfile is a class providing operations with a Cisco UCS
Service Profile.
Note that you are not supposed to call the constructor yourself, rather a
Cisco::UCS::ServiceProfile object is created automatically by method calls via
methods in Cisco::UCS.
=head1 METHODS
=head3 agent_policy_name
Returns the agent policy name.
( run in 2.968 seconds using v1.01-cache-2.11-cpan-5837b0d9d2c )