in scripts/PreHAConfig/PreHAConfig.py [0:0]
def lambda_handler(input, context):
global responseStr
try:
if (input['RequestType'] == "Update") or (input['RequestType'] == "Create"):
HANAPrimaryInstanceID = input['ResourceProperties']['PrimaryInstanceId']
HANASecondaryInstanceID = input['ResourceProperties']['SecondaryInstanceId']
AWSRegion = input['ResourceProperties']['AWSRegion']
HANAPrimaryIPAddress = input['ResourceProperties']['HANAPrimaryIPAddress']
HANASecondaryIPAddress = input['ResourceProperties']['HANASecondaryIPAddress']
hanaSID = input['ResourceProperties']['SID']
hanaInstanceNo = input['ResourceProperties']['InstanceNo']
HANAMasterPass = input['ResourceProperties']['HANAMasterPass']
MyOS = input['ResourceProperties']['MyOS']
if 'SUSE' in MyOS.upper():
# Update cluster packages
retValue = updateClusterPackages(HANAPrimaryInstanceID,HANASecondaryInstanceID,AWSRegion)
manageRetValue(retValue,"updateClusterPackages",input, context)
# Retrieve ENI IDs from both HANA instances
HANAPrimaryENIID = getNetworkInterfaceId(HANAPrimaryInstanceID)
HANASecondaryENIID = getNetworkInterfaceId(HANASecondaryInstanceID)
# Assign a Second IP to both HANA instances
HANAPrimarySecondIP = setSecondaryInterfaceIP(HANAPrimaryENIID)
responseStr['HANAPrimarySecondIP'] = HANAPrimarySecondIP
HANASecondarySecondIP = setSecondaryInterfaceIP(HANASecondaryENIID)
responseStr['HANASecondarySecondIP'] = HANASecondarySecondIP
retValue = updateNetworkConfig(HANAPrimaryInstanceID,HANAPrimaryIPAddress,HANAPrimarySecondIP,AWSRegion)
manageRetValue(retValue,"updateNetworkConfigPrimary",input, context)
retValue = updateNetworkConfig(HANASecondaryInstanceID,HANASecondaryIPAddress,HANASecondarySecondIP,AWSRegion)
manageRetValue(retValue,"updateNetworkConfigSecondary",input, context)
else:
responseStr['HANAPrimarySecondIP'] = 'NotSet'
responseStr['HANASecondarySecondIP'] = 'NotSet'
responseStr['updateNetworkConfigPrimary'] = 'NotSet'
responseStr['updateNetworkConfigSecondary'] = 'NotSet'
retValue = backupHANAonPrimary(HANAPrimaryInstanceID,hanaSID,hanaInstanceNo,HANAMasterPass,AWSRegion)
manageRetValue(retValue,"backupHANAonPrimary",input, context)
cfnresponse.send(input, context, cfnresponse.SUCCESS, responseStr)
else:
responseStr['Status'] = 'Nothing to do as Request Type is : ' + input['RequestType']
cfnresponse.send(input, context, cfnresponse.SUCCESS, responseStr)
except Exception as e:
responseStr['Status'] = str(e)
cfnresponse.send(input, context, cfnresponse.FAILED, responseStr)