Scalr\Service\Aws\Rds\V20130110\RdsApi::_loadDBInstanceData PHP Method

_loadDBInstanceData() protected method

Loads DBInstanceData from simple xml object
protected _loadDBInstanceData ( SimpleXMLElement $sxml ) : DBInstanceData
$sxml SimpleXMLElement
return Scalr\Service\Aws\Rds\DataType\DBInstanceData Returns DBInstanceData
    protected function _loadDBInstanceData(\SimpleXMLElement $sxml)
    {
        $item = null;
        if ($this->exist($sxml)) {
            $dbInstanceIdentifier = (string) $sxml->DBInstanceIdentifier;
            $item = $this->rds->getEntityManagerEnabled() ? $this->rds->dbInstance->get($dbInstanceIdentifier) : null;
            if ($item === null) {
                $item = new DBInstanceData();
                $item->setRds($this->rds);
                $bAttach = true;
            } else {
                $item->resetObject();
                $bAttach = false;
            }
            $item->dBInstanceIdentifier = $dbInstanceIdentifier;
            $item->allocatedStorage = $this->exist($sxml->AllocatedStorage) ? (int) $sxml->AllocatedStorage : null;
            $item->autoMinorVersionUpgrade = $this->exist($sxml->AutoMinorVersionUpgrade) ? (string) $sxml->AutoMinorVersionUpgrade == 'true' : null;
            $item->availabilityZone = $this->exist($sxml->AvailabilityZone) ? (string) $sxml->AvailabilityZone : null;
            $item->backupRetentionPeriod = $this->exist($sxml->BackupRetentionPeriod) ? (int) $sxml->BackupRetentionPeriod : null;
            $item->characterSetName = $this->exist($sxml->CharacterSetName) ? (string) $sxml->CharacterSetName : null;
            $item->dBInstanceClass = $this->exist($sxml->DBInstanceClass) ? (string) $sxml->DBInstanceClass : null;
            $item->dBInstanceStatus = $this->exist($sxml->DBInstanceStatus) ? (string) $sxml->DBInstanceStatus : null;
            $item->dBName = $this->exist($sxml->DBName) ? (string) $sxml->DBName : null;
            $item->engine = $this->exist($sxml->Engine) ? (string) $sxml->Engine : null;
            $item->engineVersion = $this->exist($sxml->EngineVersion) ? (string) $sxml->EngineVersion : null;
            $item->instanceCreateTime = $this->exist($sxml->InstanceCreateTime) ? new DateTime((string) $sxml->InstanceCreateTime, new DateTimeZone('UTC')) : null;
            $item->iops = $this->exist($sxml->Iops) ? (int) $sxml->Iops : null;
            $item->latestRestorableTime = $this->exist($sxml->LatestRestorableTime) ? new DateTime((string) $sxml->LatestRestorableTime, new DateTimeZone('UTC')) : null;
            $item->licenseModel = $this->exist($sxml->LicenseModel) ? (string) $sxml->LicenseModel : null;
            $item->masterUsername = $this->exist($sxml->MasterUsername) ? (string) $sxml->MasterUsername : null;
            $item->multiAZ = $this->exist($sxml->MultiAZ) ? (string) $sxml->MultiAZ == 'true' : null;
            $item->preferredBackupWindow = $this->exist($sxml->PreferredBackupWindow) ? (string) $sxml->PreferredBackupWindow : null;
            $item->preferredMaintenanceWindow = $this->exist($sxml->PreferredMaintenanceWindow) ? (string) $sxml->PreferredMaintenanceWindow : null;
            $item->publiclyAccessible = $this->exist($sxml->PubliclyAccessible) ? (string) $sxml->PubliclyAccessible == 'true' : null;
            $item->readReplicaSourceDBInstanceIdentifier = $this->exist($sxml->ReadReplicaSourceDBInstanceIdentifier) ? (string) $sxml->ReadReplicaSourceDBInstanceIdentifier : null;
            $item->secondaryAvailabilityZone = $this->exist($sxml->SecondaryAvailabilityZone) ? (string) $sxml->SecondaryAvailabilityZone : null;
            $item->iops = $this->exist($sxml->Iops) ? (int) $sxml->Iops : null;
            $item->storageType = $this->exist($sxml->StorageType) ? (string) $sxml->StorageType : null;
            $item->readReplicaDBInstanceIdentifiers = array();
            if (!empty($sxml->ReadReplicaDBInstanceIdentifiers->ReadReplicaDBInstanceIdentifier)) {
                foreach ($sxml->ReadReplicaDBInstanceIdentifiers->ReadReplicaDBInstanceIdentifier as $v) {
                    $item->readReplicaDBInstanceIdentifiers[] = (string) $v;
                }
            }
            $item->dBParameterGroups = $this->_loadDBParameterGroupStatusList($sxml->DBParameterGroups);
            $item->dBSecurityGroups = $this->_loadDBSecurityGroupMembershipList($sxml->DBSecurityGroups);
            $item->vpcSecurityGroups = $this->_loadVpcSecurityGroupMembershipList($sxml->VpcSecurityGroups);
            $item->endpoint = $this->_loadEndpointData($sxml->Endpoint);
            $item->optionGroupMembership = $this->_loadOptionGroupMembershipData($sxml->OptionGroupMembership);
            $item->pendingModifiedValues = $this->_loadPendingModifiedValuesData($sxml->PendingModifiedValues);
            if ($bAttach && $this->rds->getEntityManagerEnabled()) {
                $this->getEntityManager()->attach($item);
            }
        }
        return $item;
    }