I create a .golangci.yml in working directory, which have more linters than default, and run golangci-lint run -v but found linters are still default value, anyone encountered same issue? I have checked .golangci.yml path is correct. below is our configure value:
linters:
disable-all: true
enable:
- bodyclose
- deadcode
- depguard
- dogsled
- dupl
- errcheck
- exhaustive
- gochecknoinits
- goconst
- gocritic
- gofmt
- gomnd
- goprintffuncname
- gosec
- gosimple
- govet
- ineffassign
- interfacer
- lll
- misspell
- nakedret
- noctx
This yaml file isn't indented properly. try:
linters:
enable:
- bodyclose
- deadcode
- depguard
- dogsled
- dupl
- errcheck
- exhaustive
- gochecknoinits
- goconst
- gocritic
- gofmt
- gomnd
- goprintffuncname
- gosec
- gosimple
- govet
- ineffassign
- interfacer
- lll
- misspell
- nakedret
- noctx
Related
How would assign FCI_KEYSTORE below to a constant for reuse in my codemagic.yaml file?
:workflows
integration-tests:
name: Branches - main; Tests - UI; Release - None
instance_type: linux
max_build_duration: 120
environment:
vars:
# Android
FCI_KEYSTORE_PATH: /tmp/keystore.keystore
FCI_KEYSTORE: Encrypted(Z0FBQUFBQmdfY05ObmQxSVdVZVJKdWJRVXJQOTd4VFNSdmtwalJlZHhUX095eVZURW40VXNNWXVRdEdUYlJZaGl1WjFNazlTSmZIeG0xZS1za0hwSkNnN0FMejJqcDFlWkRIaE1qMHJVRlJPLXB1Q1lQUERXQlh5a0Nrb3NSQ2lMTmk3dEpVd1IxX3BreEl4N2Q5TUxURXN4Q2N3N1BZeVYwdWdfN1l5UlczN09RVG5HYmxOQ3lBZXJEMGM4Y1VMLVFKYlB4eXV2ZXdaN2Y1ZEJ2UUVhcVdFLUNSY3ltRGlza205SVFqN3B4ZWwwUU9YRFgyVlZtZ2FReXVNSWR4VVlMNk9qd3JTbnZRLVV0V013M0ZXWkRGSEpoc0JkQ0xaZ21ERVVaaFNFU0o2eDRvREhuLV8xT0pTSFlfUGlfalJNNWQ2NFVyU0lnSlQ0YWlYRUlNclVTTXp6NndFOXVmajlwbTZmcUJxaG4tb2s1VHhESy05ZE1ibkIwS3pvUHUtTGdlSXFCU2lnOTdrQzlXMVRwaFhNazFUOXg0Vl9kQy1aVXpkTFVaRkN2Ujl4NUpmajBXUVNCQnRtbXlmT2RydEwtUS1RRmtGWWI4c0htT3RUOGI3MHBsa19xekNHR21SclJ3U2lPQXJydFpBZGR6UUlkWkNjUE9yS2loUHNSQURDZDFfaHl5VHVYYk1UcjBOd082X1lxNnBqUUZ0aHBvaGJzcEU5VmZuZUFLLWlycDZVYXYyYm9IY1ZxZ2l1dk1QeVlkeGF1YlBaRTBuZTdiMXhoUUthdnpPcDA0UEluc1UxSDBwRU5YdTdvckkwS2JRcm9WX05fT1Q4V3I2UTZxQjFqcGljNFpxd2IzejhydXQ4YmlxYzhjb0Q0aGhxWlNNckxTZHpWaXJRS08tcF83U19Ycmo1TUVPLUhVRlBrUXJJeGVRb2J6ZnRjeHpqeEFLSzFoNWMwMmZrUjN1eFljNGpzOUhfQWlCYU5iT2syYmhJTmpLWkR3YW83ZTFreWZkZ3FtZkttTjNqajR6YTJPeW1mY3lYLTFoMTF5QUU0UTRYa2VYOVhQWWZWU0pDRWljX0MxQnBMTkdwdkxfNnRyR3d1ZzViYU5sV2IxZC04S3ZZV2lwdWoyOUY5MnY5T2l1R1ltNkhrTlRIUnNqVEltSE1jbUJPamt3NldzZ2Z4VVZBNFVkZHIxdFZCTEh0eUFVd3g4bnowZFIwOVI2OG5WN1ZBZUhuQTE3Wkdkel9aejlrVW1oUXhOUVM1eDZHYk0xcGlCXzdvYTNPNHZRc3J5dFNEUXc2ODZ1VWJCd0ZwVGoyY3lBSmV4d3Nkb2Z5Y1c5bHM3UnAxMlNCTFhSZ0pNQWFrTGNlclZFNGtUcktXMnk5bnVYaExXT2VCT1R5MkNXRi1FRTZoYW1KZUI1UnNlaGVzandEOWxYcFFZem9FQXpQSXo1Q21PcHhENTJ1RzBORlFlbFBEYkJwUWtnVWo0ZjEyZk9sUHJaMWw0T0lndWVZSUxKaWNLWFlwalJGUmJXbnI5MGpyYlJZcGFEY3V5c2RUR1g2TExlRFc3MEpJdUdtMmkzQWRuVk84akUyb2RKRHZuckx1YnRiQUVocDBqSmo5R1pYNENKaWJlcHVkeWVicGdJZWxXNUtURVA1c0ZkQW1EMllpdWxCSFNnU1RGMi0wQkswY0F3bENobEt3bEluanQ2bGJVWk9UOHJQMV9sSTRqZmtncl9Fd2dkNlgtWUZjNm5WTk1hbDdRRTZ1Y01jLXh0c2dJYVBscU5mZHVVVFFmaldJaU5QSllDRUN3Y3NoOTFHcERFdkhSVWFVam54S19aTkpPaElRcjRuVlBMdGR6VEJkd3I3MENZWl8ya21lMFNBMXRzNDRGcDZtUnJzOGVMNExtRF81UEprcXVaTklBWXl4UHEyZG8xQlZSTDBTZUNBZThCNlBUQUhMV0kxRWtMOFhzVFdFa0hGZGdRTkJHRXF4RmdvM0RvQ1VlTHNqTjN3V3BvM3hQSWd0Zm1wSGtWcUFUeVNmTEs2cWZiTkI0M3cwd2NWVTFWVTBDMTBXaTZiczJjMEhNR1V1cU5VeHFJRWNudWFyMHJPNUVyMkt6RDVKVWJXOXpydm96MVJfY3FsWmlFMHU0SFJfUE5ERmJBS21WT3V5cVBUcDNsS0RqT3VjOVhJdzRjZGoyZ3ZHNU9GZUlPcDJHbFdpWFRXYVNidWZlUGw2R21wNzV5LUttU2JfS0NacWZsSGl1WHljVnoxZzdQLWpta0xsa2tQRHV5cXlLZXhreWxjMzNmeEJJdDE3TW9PUmo1VUl2b1JlSWMzRGRtc3dQMk9sRXZTUlNIVWtUSFQxS2hmMk5jbEtZNUgteG9vaUdvbVlOSEJIc21zcjI4UnBkWEhRaDZVY19hZHA5LTFXVExyTGZ2VGFJY0ZKTE0xR3FxMXBQWmVVWkVPZzZCUUhOclE2OTFxby12blpjelhwR0RYVkZQTUhIY283MFh4UGh6NXFaSVA4OU5ha3BlMHU1ZUIwSjJ3bDY2S2J0VkhHblhtajRiazd6U09fbDhnUlY4Z3pSajRoQ240ZnpjaEpUSm9pTkcycjVCa1hzNjVXdUpZQy1OeUZRaXd2Vm1GSjlHUEZhY29WcURIWGtIdUFMeERldURId1VzVlZYS0k4bHo2RUZCUEZoYlpmenJSTExNNDNMRTg2MzVLUTF5ZlRkYU54ZEdtMmhwcVphQVo5c0Q5emdmYlg2SVVoMVdqR09kX1BjZFFRZ2pJWFVlTlZTUWRwRnJxNGszSzg4VUowTGV5NV9VcW1HT0JicjJHYk81Y1dfUlk4YjJrVDExZG1ZWHZaWXZoU1k5b08yY0V1aGRDVXNmOEVDalpjVHFORlJ4WmZLUkJDNzFpQk1RYUdiak53SUUxb2tYQXhDU3EtYV9lSDlEYklmS3hnTmRDZUtkdlMyTjNrMjROcFFtVnRBdHhfTlJZal9NTFJsWG9HWTU2bnBhOTlKY1J2MEdWZm9NS1RXeTNoRzh4LU5Jb3otT0FEV1ltT0o0QlItNFZZYi03RkdpU1NWeFd2Uk9MVnUwTWN4VVpja2MwdVlObEdsbFc0am5OXzhNcExQcndMblh1WnUyNFpNQTNkQ1ZudEkzc2laYXdGelByT2lEQmJBTWRsTnhBTEI1b0V6TmFZcmtvVzFvU19WeWtSOTZkdUZFUjU1T3BoM1FxZlBQcGJwWHNfYzNOM0hkLXVUTWRCeTBPUDFlMHpWd3BxSUs5NnBIdGhycUQ4QWh1d3prTXhkYTVydzVGM19nS1RtcWNUVzRleXlxSm1meXROSUN5VUxPOExLYTJHWlJrcnZqMllmbFk3THpxRlZVeUgwTWh3OUEwTnZnU0NzejAtRzl0VTlYYVcyMmxLcm96eTRiWXlERUd3aVRCX0FEMXMtRHFVRDY5US1wbmYxa0R3a2loaG5sblNWd0p5d3Y0UTE4N0Q2NTJSdkhUTFF6di05NzRIbzBIRTFEX204ckxzME55aEhmc19Vd1JXQlNXNFpsSnF0aWxYOWRsZkYtNC1DdWxkLWZyQVFOR0h5VFNMWTNuRk1CUnpEczlNWXQ3cnNUOHhyRzBMNGVhcUM3UGFXeXl3QTVpNDJDWFRuRjVCM2p5TEduWldySTFtM2FmVGxXQ0MwelFoVGI2a21PU1BWUE1VWWY3YTBoQ1VUcV9Vbk8tWENzQVdZU013VEswRzhDUjBsc1FfamJqZWItNmVGR1N0Umc3UUhRLVNBNjRjZmw4Sm9NZGl0OUlOWjZmRVlxckxvNzVVaUJmbzJYLWJTQzB3b2hRcktiMTRCLUhRZExlci1yUjI5R0xLbU1BNmlhMXIwZi1hTUNKelZNWVFiOXBCY3FIYW5DcWthU2Vwdk9YTTBVdGRrLUZvWDRqYmdQbW1zZ3RnRk9oT2JmajBNNzNhWHdTaWg4VFR3T1ptelBGY3c1NGJOSVE1STdNcm10cDB5Uk43TTNJb1pGRjI3RzM1NUNSWHRYb2lmTVFqN010UnA1ODNreF9UWk5QMVpVSk5rVl9IcVFGZUNXY0RTUXVicDZFV3FCUFBjTFQtaUZNMks0TGdzTlBuaXFveEpJREFoR1JabVBZcWFjbFB0T1ZMR2txRVhaSTlIaEJTZHl3TFQtUS1uUUpPUDUwX2twTjlVOE9UWV9PRmdQOG1KWkN3OTh3Tzk1Z3R1c2pVVW1qT1Y1UGhiNkZnbF9jTlpaMVRlTS1udkw1R1lBTGY4ekE4UHEtRHk2M0U3WWkwU1FVYTVGSU1pdktwZjBHZkNvbDFORm5keHNqTFB3LXR2OGhkVWxuZ2M3QUwxczREd3VfYXY4ZXJzcG81OUxqSC1fRmFjQkFyMlc3bEVLMC11RUVsZENhZnZvZUtPMkk3ZkdSd25Xa3N1NC01bU9GenpmeTJVd0JVdFdIdzM5cXVBakJXNF95WmhOSnVtdllwaUNYN2dfcEYweVVJcG42enVUQ1pGNUV1eGE2cTRwOXZWQTdOMzhZekxmcXZjQTNJN3RGOGhUUU1oWV82YVBYYU5nVnhnMG5yUUFvdDl6NnRRNDFLYkphSERmeHdJU3gzR2hSYjBISFBKOTBJTEZIeU45ODNJQW56OVljVDVyTEtNV2hUR3ZaX1ZJT2NHN3piRjFZRnJneVVHOUtCSl9wVU9pY1Mtb0VvLUhrRWlPQkowaTJXdWNJN0lPVGY0NXhueTlWNGdrR0lFT3Q0dFRNMXRMdDJPYXhSMHBUODUwLVRYRUJMNGt2LXZQTGw1VDZ1aVd0SVRPLU9FVjZ3UW5fRGVqODNqVlp1UFNodTRlNmxMUGU3eFpRM1hqYmx5NFJnQWNoWWpsTjVPb1pOV1lKdFBzd2h2OTd6dWpsYmhhNmtzQjVocFA1SDQ2ZndQczRIRFczbnVMSmYyeGZkUHNIWGNIVnd0aFhnY1lGUGxTY1FtTk9LU0t0WnNQXzRCVDJ0aHZMT295MUp2OWhHU1Z0dHFsRjV4ZmR2MUZMV3NmMjR0M3hYNi10a0ltVG5RRGpoZm5Ec0xYbVpaRUpwQXYwMXV6Sm8xeGtoVWxsOWVMUG1vb3JBTW5GQWdJSF9WMDhJOVZkY0FJN2J3bVB4djdaNk5wRU9Fd3d5NTRuVjlkM25Tb2t0MDV3NVBCdlV4cjJtWERKcDVKdWpsZ0pXTTloeTVXYWxtSjg0ajVveTRyUy1MN1dBdlVQbFBRcGE0WW5UanZNQkR3M1BoSVpWSEdfQlotWUs2VzVZelNya2s4WUZkWTNKaC0xWXpENERKQkFUbkFaQlR5U3RiNkRGZ0s0eVB3RmhwU2tXVTNKRzhyS2VrV0tPRHR2Mm5ibUo3eFc4anUzSlNoM1QtSlhWcE1qMTUzS1VtYksyQW9jWHZleXNiYXQyN1JGUDlZaVR0c2lwNEtESEtxNEQtYms1ZVZ3WGFNNnRSNUk3VEktYjVsbWlJMFpDN2ZTQ19SNy10ZkJpRXN1QXFHenNMN0ozYm9wTDR6cllNTS1mVDlUcmQ2Y2VfcmdhaFBkOHNfbWxVM2pBU2lJeDJPOXJvMC00MjYzNGFXYkU5SWNTbTc3aFdJeVJWUlZLTWVhaUpyMG9KVTlNNFVHVmtvc1hXbDRscURDempPZ2UtZjVFRVVyVDZDNklaUHhTSksxYXAwY1B1RVNwY2dJb0MxTG96TFlOWnB3cTlVcm1nenc4MzYtZTl3VkdPUVptTFNfUjF3SXNOcXZxQTByajAxVDJhTmhCTGEwU2trLTdQUFh4YktHbGNOWXhnbUJXNEVUczFIb2V3X093SEJudlJ1UWc1Qkh4a0RObzJGeExJOTg5dnlsUWdab09fa2dGM2g2R0RvcVMtSE9RNFB6WVM1bmpYUDBqYnNpRTN6MWljQzA4TzRLdG1SYW1EWi02aUJ6RF9BN1RvOEZ3YmMzbWNBUzdrb2dOS1dFOFhVcGpkbjVyODlDMVdSRkM3M19mRnA5RTRxc1hwOTQ2U0tmVnZNeVhRNmpxWHAyMVljZWw1TkVYeU5IVFA3T3cxaG1FWHhXa1BSc3VQaU9hWDVnUUZpd2V4TUlUdEhfNjZNTWxIY19RVmZrWVRYT2tVd2dsTmd5eFFnczBvRC1QMHhtNEt4bS1TSUc0TklFbnZJU2lwUFJPOHFGTV9fZU1KSVRwcC16Z01JZi11OWxXQVNDRVFIODBwT2haeVVYTXhQNlEyUXFUNUZvQU1ERkR3bElUWmowZWZuUDlpTC02YjJCdldTQ0pfVGdZLWZuckpSdU00cUJzcW9xcFJyc0lqdHFqX1hnVzdJUFJ2cjFnSTZtNklNVzVJbjRzaDFwdm9mb3VkNndNSlZlWjNqR2JoV3UyT09RQk54RmYwTjY1c3Z2ci1oMUZOeGNjNUpfT1g5RnlsR2VQS25OZjNXQWZOVVZaazdwSHVLUHJ2bDMyVml2TnFneGZneUVuOGxxUEF0U0tUMTFjTlc2UGVqSVpBbWYwdHVxMGdNOUpEb3RVX2RadVIyTzlCR3VMeENSd2U1b2N5X3V0Um5McS1SMThlSWFSX181OWhBU2M3cnZ6eTJWTlJoNjdzb1hVckx1SEIydDNWY2ZpcDdHbF9Lc0tUVDhyUVBwOGZpM3dmMlFyZW1KTVVsWlVDOHlsMnJrZFZXTEhNNmpDeUNkZ08zdGdyRllvRW9sOWJxTlNQTzZ1VVRCRVBHLUR4eUNpUHhrSmEtTlVQcEp0ME9rQmViQ09yNkxlcXQ5dFdXanVYNUhEcWVkekNNRjFTUHFEOUx6WXVwOXFYcWxLSFI5QUJBdlJmQ2pabDVWd2cwMTNRYi1heHhRY05jUlRSYmVPREhCMGF6WUhnTEdDNTU4RXlTV0lrNWxQeGVMT0Q2VGl2ZVg3S1c0WTcxN3VITkg4QVdrVlp5Nnpmd1Fla1A3SWJVS3ZMZGtaTUZRRUc0aDZWbW0zd0NWaGZaNWtYNU5LQlk0cXJ5VHZEbU5SLWtWRWRKZkdnZXEtSnhWWTdWNW4wUlNDeEFuNVZiMVVEZFppV2x5OXVFSnd6NktNTkQ1ZEF3RkhWa1gyNVRNWmZxOFhIRkhfQVhNRUYwMkpMbW1MMVdoRkMxSXVaVVZMTjQ1M0pZbTFtblZScnVQTEhUMkRtd1NPdmpPS251emJwVWZOamUwLVRIYjBXZmY1ZUJsanlsX2RvdE5tOWhYUzd4ay10V0RfS2NRY01KV28wNmgtZ1huWmljU3dWemZXZXpDLXNLYS1xNWZmR2U3REJITlVsNVRmVmFOeFo5bkI4RXdsS0dxdldTczRhd0NiSmFEWFI1d3Mtank2NVl6YjNZLTUtYmdnZHZUUzAyemxJY3FlWldteHZmN0FQQ1dBQVRoZ0xjbWdOQWVHQy1PTnQwcHdUNXl1cUZlWGdBOXY5aEh3U3FqU1JobE9OT3FDQXpzZlRGSTBhVjZXOVo2VDBnZ192X0FSS2JQZnJWU3NjLThsbElEVFB0WEU1NFpLSEwzV1pLTzlkek1QUEREcTdiai1sU00tZUpmVm9Zcm5tbUdvdGh6dXpJRzdrdFRnTDFidVl6bW0wSk1sQUpYSklCdHVSXzFPRG5fNGFCM1NBbVlPcHN5WHNLS2RMZ3VLYWN2OUlhTFctcUNsOEdqbU4zUC1jaXR1UnNyRjh3NEg0TWhMMDJVUEFhaHlKeW1pSnFaT1lrVU5NMUY2WnB3bDAtVlNyRlZaWlFXbV9tTkhabVpjbnJ2Z3R3TVoxZ1ZSNHg1bUNJVXBGeWwxU0s0d3dLZjc4Tm1jR21IMDFSUEtCLU96MDN0c2J6Q3dVUlVpN1RTa3llckdjcS12ektDcWN1dXQ1MGxqdG1GSVlSUFJ5MzBNRlVZX1MwY3BMbkFaTHNkb2ZmaVdiTzRzRW14b2FseVBpeXFCNkw0bkdjbWJ5cHhabEZYTlpuOFRhSVV6ZkNQVFJWTUE4Nmt1MEdMNG5PaHVhNmpvTXYwa3lXdjRTUDk3RnY5aHBOS2Vjb3JieWxwX3ptTTJGZlVKNkJoMllGdE5iOExBaDNaNFY0VHktYk9zMXp1X0FvU1VzdUdPUm8yZWFVWEtCQ1RKcG5hSldnSzFrSFpBRlhGdlpwRkR5N1gxcGwtbUFtRVI4dGxxN2Izb0ttenY1bTJGOEZuM2hkcDRYd2xCSE11dHBuS0JVNHgyMmdKWG13MTRWZnpxUVpLNTl4RXFaRW1jLWZUNU5XVm94UFpVWTJOV3FKa1BIZ0R3eXpSNnpJM1ZDV0ZkS1RGbFFmLUxNTnhHSzlRWks3RnZxZl9RT2hIRDlxUlhMN2VUa2FXaElScC1hMmhCQ2hRS09nTWt2aFR2YzlNc2hBT2lORjlyQVVNbC1YUG9fMnoxQjZQcGs1TTJuVjVBbnBMOGxQVW5ZSDVGVWVUUnh2VWlCOUxyUE9WdjA5Q0IzTHBvSGk2Q25wN3FCUnY1YWZFdXBwZDVhTHpfUnNaelR3ZlhJS0VhT0FwX1RFUnkwYWJ3UklrZW52OTZscUdBcy1ERTVOQWRSRmJ3aHNDZmlNRkJCd3dhdnN2SHc1cFRFeEhRNGFRVThfRnRfLWhHMm0td0VfX2ZzMFoyVzdsTEhGRndQVTN1dnQ3ZnFaOUNBX1d6UWVWX2VtQXB5MkZDYWhUUUEtQVNxUzNmWlc1V09QbmRLR3NoeEZLREYzZTJkRi1jclRack1pdkNpQjZ0RE03R01MRHgzLTBzX0VpX0RmV244RlRyeWpvc0pTd0dkVmtVMEduejlZX3p5N2tGTDNOZzVfYTdkS2hIZjU0X2pPZ0c3bXJzbUxlY1l4QUQ4UHhHdG5JQWNacnctM0JiQjE1VHZjNUdjNXZseTBnZmVVVG9JRmc0bjI0Y2xCNVNOTTlkM2xkV0hHb01BcnljUWZRMk0zVGhDUklMT3RfYzRrQnQxSzBHSjJHM0lTRHllc0hrajM3MzN4cGZERlZmU2FWTEI3MDVrSl85bDdybVVPeHNmNUVEVWl3TVd6TkJBOU1OdzVIREJlWEl0LXZ4RDBYU0h6LTU1ZDltWmUzZzZROWZZSVM4ZHAwak80TXRLWm9NSWFEcWx3Y09hOU42M3RrUktzTzVfZlFWQUtZUEVRaWg1R1JlY3ZvekVvWTgxZTFYbEZjcUlxdEJVdXp4VE1zT255RURHSjBnbC1rR0FtRnZLLW1GUDhBandjblhvVGJ3dU5lNi1MVHV1WlNCUWp0ZDZubXV3dGFwdlJaUnRPUnc0Ujh1cjdhQnNSYTJ4a19sTmRJNDVuM2JzTzlaTVZCM21tTEZLN1FDWk94c1h5bXk1cU1OWjZBbDZVUGdUN3RJV0l4RHJiUS1vRGw0YW9QdmpBYTBqOTc2VXA4OU1zLS1xU1JDQ2RmVGoxcVJzekpIVXhlYkNLUFZ2RTdISWdGS1NSLW40cm4wMVg2a3hZS3ZsR2pBWHNFaVpYQVlHd3k2eWNwX0lTaFotU2VpVFpRZU5WbnRUc1VSZUNnQmU4aWMtODBqelo3Y3E1dXpmOEJrbVg0UlY0Z1J2RjBmRTFYbzUtYzNqVE83LXY5bjJpNDB2UzFYcnZ2S04wTURFMWNlLU50S080SWJaOUx1MmxSaEZBZjR4WDV2TzZtMWNkQWw1Umw0MExacHE1SGZtVkZETTFBc2Fyb01ydU9kZDVwUUhUNTNRS1BzOERHMG82R3lhNldoSEZCdlFLX1pTRXJ0cDh2MHBwRzFEQ3JURlNuRWhYZU1BTFRKUzNOZnBtelZDUXg3cHVCSU9zQXlvTzlrLXdSSHJDQktFdUUxVWVha3E5VTVBODJJa085b0YyQTNTYjlZZVVnMG1VM0xhb0NxdTJiSzZUZlctSVgtUmxkczdXX2s4OXV5T1h0UF9QXzJMakRQWkdHTUJZM05IVllVbVlNd1lDNGp4RDI0VVNGT0ppRjlVdWNKZ1o0NjNYRGVlQ2dZRV94LW5tdXRVVmdqOHBVSy1ncWh0VWhEQTIxOWFyQ0I2QzRMV0xEbUhSQlZUcjFSQVRRMGtqd1licHdMb3BOeXYzQ09nZmtwb3AxMENvMnZ4MHN5OFl0dXpHb09UWlNQaDA1eWhhR1lFUnlhakJtM2oxSEJvVDRmbTJQazVZdGRaV2owX3lXaVFWajFscTAtWWxEUGpEU08zU21SZW8wOUs2aHJjR2plSTdHeTB2UXppMHpDUXVqbWJNSW5XamYtWllHQjRUZE92SWtodGtzS1hVcjNkM1F3cWNfSVlZNmozcWZ0eDFBOWt6R0MtU2FBLVR4NWR6dnhHVnI3cnB2bjhpVk13SDhQa2k1S2xjeGxMMVlyaVU1ZEpNSGExbXV3ZjVzQjZqLVpHc29CdmEyUmk0dERUUGU2SHRqZmFuME1keE5aUEE5QzRjeWxJZkZiRGFNYktPSnI3bzRNRDY4bktDZmtPUjFuSC1QV182MnZmaElyejZXOF9PMDR0X29XV2U5dkp2NFMweHY2OW5QcFpPRGh0Q1JDQUZnTXJDOERELUp5MENpZXNTSkdsTG02QT0=)
I'm trying:
definitions:
environment:
vars:
- &package_name
PACKAGE_NAME: "com.some_company.some_app"
- &fci_keystore
FCI_KEYSTORE: Encrypted(Z0FBQUFBQmdfY05ObmQxSVdVZVJKdWJRVXJQOTd4VFNSdmtwalJlZHhUX095eVZURW40VXNNWXVRdEdUYlJZaGl1WjFNazlTSmZIeG0xZS1za0hwSkNnN0FMejJqcDFlWkRIaE1qMHJVRlJPLXB1Q1lQUERXQlh5a0Nrb3NSQ2lMTmk3dEpVd1IxX3BreEl4N2Q5TUxURXN4Q2N3N1BZeVYwdWdfN1l5UlczN09RVG5HYmxOQ3lBZXJEMGM4Y1VMLVFKYlB4eXV2ZXdaN2Y1ZEJ2UUVhcVdFLUNSY3ltRGlza205SVFqN3B4ZWwwUU9YRFgyVlZtZ2FReXVNSWR4VVlMNk9qd3JTbnZRLVV0V013M0ZXWkRGSEpoc0JkQ0xaZ21ERVVaaFNFU0o2eDRvREhuLV8xT0pTSFlfUGlfalJNNWQ2NFVyU0lnSlQ0YWlYRUlNclVTTXp6NndFOXVmajlwbTZmcUJxaG4tb2s1VHhESy05ZE1ibkIwS3pvUHUtTGdlSXFCU2lnOTdrQzlXMVRwaFhNazFUOXg0Vl9kQy1aVXpkTFVaRkN2Ujl4NUpmajBXUVNCQnRtbXlmT2RydEwtUS1RRmtGWWI4c0htT3RUOGI3MHBsa19xekNHR21SclJ3U2lPQXJydFpBZGR6UUlkWkNjUE9yS2loUHNSQURDZDFfaHl5VHVYYk1UcjBOd082X1lxNnBqUUZ0aHBvaGJzcEU5VmZuZUFLLWlycDZVYXYyYm9IY1ZxZ2l1dk1QeVlkeGF1YlBaRTBuZTdiMXhoUUthdnpPcDA0UEluc1UxSDBwRU5YdTdvckkwS2JRcm9WX05fT1Q4V3I2UTZxQjFqcGljNFpxd2IzejhydXQ4YmlxYzhjb0Q0aGhxWlNNckxTZHpWaXJRS08tcF83U19Ycmo1TUVPLUhVRlBrUXJJeGVRb2J6ZnRjeHpqeEFLSzFoNWMwMmZrUjN1eFljNGpzOUhfQWlCYU5iT2syYmhJTmpLWkR3YW83ZTFreWZkZ3FtZkttTjNqajR6YTJPeW1mY3lYLTFoMTF5QUU0UTRYa2VYOVhQWWZWU0pDRWljX0MxQnBMTkdwdkxfNnRyR3d1ZzViYU5sV2IxZC04S3ZZV2lwdWoyOUY5MnY5T2l1R1ltNkhrTlRIUnNqVEltSE1jbUJPamt3NldzZ2Z4VVZBNFVkZHIxdFZCTEh0eUFVd3g4bnowZFIwOVI2OG5WN1ZBZUhuQTE3Wkdkel9aejlrVW1oUXhOUVM1eDZHYk0xcGlCXzdvYTNPNHZRc3J5dFNEUXc2ODZ1VWJCd0ZwVGoyY3lBSmV4d3Nkb2Z5Y1c5bHM3UnAxMlNCTFhSZ0pNQWFrTGNlclZFNGtUcktXMnk5bnVYaExXT2VCT1R5MkNXRi1FRTZoYW1KZUI1UnNlaGVzandEOWxYcFFZem9FQXpQSXo1Q21PcHhENTJ1RzBORlFlbFBEYkJwUWtnVWo0ZjEyZk9sUHJaMWw0T0lndWVZSUxKaWNLWFlwalJGUmJXbnI5MGpyYlJZcGFEY3V5c2RUR1g2TExlRFc3MEpJdUdtMmkzQWRuVk84akUyb2RKRHZuckx1YnRiQUVocDBqSmo5R1pYNENKaWJlcHVkeWVicGdJZWxXNUtURVA1c0ZkQW1EMllpdWxCSFNnU1RGMi0wQkswY0F3bENobEt3bEluanQ2bGJVWk9UOHJQMV9sSTRqZmtncl9Fd2dkNlgtWUZjNm5WTk1hbDdRRTZ1Y01jLXh0c2dJYVBscU5mZHVVVFFmaldJaU5QSllDRUN3Y3NoOTFHcERFdkhSVWFVam54S19aTkpPaElRcjRuVlBMdGR6VEJkd3I3MENZWl8ya21lMFNBMXRzNDRGcDZtUnJzOGVMNExtRF81UEprcXVaTklBWXl4UHEyZG8xQlZSTDBTZUNBZThCNlBUQUhMV0kxRWtMOFhzVFdFa0hGZGdRTkJHRXF4RmdvM0RvQ1VlTHNqTjN3V3BvM3hQSWd0Zm1wSGtWcUFUeVNmTEs2cWZiTkI0M3cwd2NWVTFWVTBDMTBXaTZiczJjMEhNR1V1cU5VeHFJRWNudWFyMHJPNUVyMkt6RDVKVWJXOXpydm96MVJfY3FsWmlFMHU0SFJfUE5ERmJBS21WT3V5cVBUcDNsS0RqT3VjOVhJdzRjZGoyZ3ZHNU9GZUlPcDJHbFdpWFRXYVNidWZlUGw2R21wNzV5LUttU2JfS0NacWZsSGl1WHljVnoxZzdQLWpta0xsa2tQRHV5cXlLZXhreWxjMzNmeEJJdDE3TW9PUmo1VUl2b1JlSWMzRGRtc3dQMk9sRXZTUlNIVWtUSFQxS2hmMk5jbEtZNUgteG9vaUdvbVlOSEJIc21zcjI4UnBkWEhRaDZVY19hZHA5LTFXVExyTGZ2VGFJY0ZKTE0xR3FxMXBQWmVVWkVPZzZCUUhOclE2OTFxby12blpjelhwR0RYVkZQTUhIY283MFh4UGh6NXFaSVA4OU5ha3BlMHU1ZUIwSjJ3bDY2S2J0VkhHblhtajRiazd6U09fbDhnUlY4Z3pSajRoQ240ZnpjaEpUSm9pTkcycjVCa1hzNjVXdUpZQy1OeUZRaXd2Vm1GSjlHUEZhY29WcURIWGtIdUFMeERldURId1VzVlZYS0k4bHo2RUZCUEZoYlpmenJSTExNNDNMRTg2MzVLUTF5ZlRkYU54ZEdtMmhwcVphQVo5c0Q5emdmYlg2SVVoMVdqR09kX1BjZFFRZ2pJWFVlTlZTUWRwRnJxNGszSzg4VUowTGV5NV9VcW1HT0JicjJHYk81Y1dfUlk4YjJrVDExZG1ZWHZaWXZoU1k5b08yY0V1aGRDVXNmOEVDalpjVHFORlJ4WmZLUkJDNzFpQk1RYUdiak53SUUxb2tYQXhDU3EtYV9lSDlEYklmS3hnTmRDZUtkdlMyTjNrMjROcFFtVnRBdHhfTlJZal9NTFJsWG9HWTU2bnBhOTlKY1J2MEdWZm9NS1RXeTNoRzh4LU5Jb3otT0FEV1ltT0o0QlItNFZZYi03RkdpU1NWeFd2Uk9MVnUwTWN4VVpja2MwdVlObEdsbFc0am5OXzhNcExQcndMblh1WnUyNFpNQTNkQ1ZudEkzc2laYXdGelByT2lEQmJBTWRsTnhBTEI1b0V6TmFZcmtvVzFvU19WeWtSOTZkdUZFUjU1T3BoM1FxZlBQcGJwWHNfYzNOM0hkLXVUTWRCeTBPUDFlMHpWd3BxSUs5NnBIdGhycUQ4QWh1d3prTXhkYTVydzVGM19nS1RtcWNUVzRleXlxSm1meXROSUN5VUxPOExLYTJHWlJrcnZqMllmbFk3THpxRlZVeUgwTWh3OUEwTnZnU0NzejAtRzl0VTlYYVcyMmxLcm96eTRiWXlERUd3aVRCX0FEMXMtRHFVRDY5US1wbmYxa0R3a2loaG5sblNWd0p5d3Y0UTE4N0Q2NTJSdkhUTFF6di05NzRIbzBIRTFEX204ckxzME55aEhmc19Vd1JXQlNXNFpsSnF0aWxYOWRsZkYtNC1DdWxkLWZyQVFOR0h5VFNMWTNuRk1CUnpEczlNWXQ3cnNUOHhyRzBMNGVhcUM3UGFXeXl3QTVpNDJDWFRuRjVCM2p5TEduWldySTFtM2FmVGxXQ0MwelFoVGI2a21PU1BWUE1VWWY3YTBoQ1VUcV9Vbk8tWENzQVdZU013VEswRzhDUjBsc1FfamJqZWItNmVGR1N0Umc3UUhRLVNBNjRjZmw4Sm9NZGl0OUlOWjZmRVlxckxvNzVVaUJmbzJYLWJTQzB3b2hRcktiMTRCLUhRZExlci1yUjI5R0xLbU1BNmlhMXIwZi1hTUNKelZNWVFiOXBCY3FIYW5DcWthU2Vwdk9YTTBVdGRrLUZvWDRqYmdQbW1zZ3RnRk9oT2JmajBNNzNhWHdTaWg4VFR3T1ptelBGY3c1NGJOSVE1STdNcm10cDB5Uk43TTNJb1pGRjI3RzM1NUNSWHRYb2lmTVFqN010UnA1ODNreF9UWk5QMVpVSk5rVl9IcVFGZUNXY0RTUXVicDZFV3FCUFBjTFQtaUZNMks0TGdzTlBuaXFveEpJREFoR1JabVBZcWFjbFB0T1ZMR2txRVhaSTlIaEJTZHl3TFQtUS1uUUpPUDUwX2twTjlVOE9UWV9PRmdQOG1KWkN3OTh3Tzk1Z3R1c2pVVW1qT1Y1UGhiNkZnbF9jTlpaMVRlTS1udkw1R1lBTGY4ekE4UHEtRHk2M0U3WWkwU1FVYTVGSU1pdktwZjBHZkNvbDFORm5keHNqTFB3LXR2OGhkVWxuZ2M3QUwxczREd3VfYXY4ZXJzcG81OUxqSC1fRmFjQkFyMlc3bEVLMC11RUVsZENhZnZvZUtPMkk3ZkdSd25Xa3N1NC01bU9GenpmeTJVd0JVdFdIdzM5cXVBakJXNF95WmhOSnVtdllwaUNYN2dfcEYweVVJcG42enVUQ1pGNUV1eGE2cTRwOXZWQTdOMzhZekxmcXZjQTNJN3RGOGhUUU1oWV82YVBYYU5nVnhnMG5yUUFvdDl6NnRRNDFLYkphSERmeHdJU3gzR2hSYjBISFBKOTBJTEZIeU45ODNJQW56OVljVDVyTEtNV2hUR3ZaX1ZJT2NHN3piRjFZRnJneVVHOUtCSl9wVU9pY1Mtb0VvLUhrRWlPQkowaTJXdWNJN0lPVGY0NXhueTlWNGdrR0lFT3Q0dFRNMXRMdDJPYXhSMHBUODUwLVRYRUJMNGt2LXZQTGw1VDZ1aVd0SVRPLU9FVjZ3UW5fRGVqODNqVlp1UFNodTRlNmxMUGU3eFpRM1hqYmx5NFJnQWNoWWpsTjVPb1pOV1lKdFBzd2h2OTd6dWpsYmhhNmtzQjVocFA1SDQ2ZndQczRIRFczbnVMSmYyeGZkUHNIWGNIVnd0aFhnY1lGUGxTY1FtTk9LU0t0WnNQXzRCVDJ0aHZMT295MUp2OWhHU1Z0dHFsRjV4ZmR2MUZMV3NmMjR0M3hYNi10a0ltVG5RRGpoZm5Ec0xYbVpaRUpwQXYwMXV6Sm8xeGtoVWxsOWVMUG1vb3JBTW5GQWdJSF9WMDhJOVZkY0FJN2J3bVB4djdaNk5wRU9Fd3d5NTRuVjlkM25Tb2t0MDV3NVBCdlV4cjJtWERKcDVKdWpsZ0pXTTloeTVXYWxtSjg0ajVveTRyUy1MN1dBdlVQbFBRcGE0WW5UanZNQkR3M1BoSVpWSEdfQlotWUs2VzVZelNya2s4WUZkWTNKaC0xWXpENERKQkFUbkFaQlR5U3RiNkRGZ0s0eVB3RmhwU2tXVTNKRzhyS2VrV0tPRHR2Mm5ibUo3eFc4anUzSlNoM1QtSlhWcE1qMTUzS1VtYksyQW9jWHZleXNiYXQyN1JGUDlZaVR0c2lwNEtESEtxNEQtYms1ZVZ3WGFNNnRSNUk3VEktYjVsbWlJMFpDN2ZTQ19SNy10ZkJpRXN1QXFHenNMN0ozYm9wTDR6cllNTS1mVDlUcmQ2Y2VfcmdhaFBkOHNfbWxVM2pBU2lJeDJPOXJvMC00MjYzNGFXYkU5SWNTbTc3aFdJeVJWUlZLTWVhaUpyMG9KVTlNNFVHVmtvc1hXbDRscURDempPZ2UtZjVFRVVyVDZDNklaUHhTSksxYXAwY1B1RVNwY2dJb0MxTG96TFlOWnB3cTlVcm1nenc4MzYtZTl3VkdPUVptTFNfUjF3SXNOcXZxQTByajAxVDJhTmhCTGEwU2trLTdQUFh4YktHbGNOWXhnbUJXNEVUczFIb2V3X093SEJudlJ1UWc1Qkh4a0RObzJGeExJOTg5dnlsUWdab09fa2dGM2g2R0RvcVMtSE9RNFB6WVM1bmpYUDBqYnNpRTN6MWljQzA4TzRLdG1SYW1EWi02aUJ6RF9BN1RvOEZ3YmMzbWNBUzdrb2dOS1dFOFhVcGpkbjVyODlDMVdSRkM3M19mRnA5RTRxc1hwOTQ2U0tmVnZNeVhRNmpxWHAyMVljZWw1TkVYeU5IVFA3T3cxaG1FWHhXa1BSc3VQaU9hWDVnUUZpd2V4TUlUdEhfNjZNTWxIY19RVmZrWVRYT2tVd2dsTmd5eFFnczBvRC1QMHhtNEt4bS1TSUc0TklFbnZJU2lwUFJPOHFGTV9fZU1KSVRwcC16Z01JZi11OWxXQVNDRVFIODBwT2haeVVYTXhQNlEyUXFUNUZvQU1ERkR3bElUWmowZWZuUDlpTC02YjJCdldTQ0pfVGdZLWZuckpSdU00cUJzcW9xcFJyc0lqdHFqX1hnVzdJUFJ2cjFnSTZtNklNVzVJbjRzaDFwdm9mb3VkNndNSlZlWjNqR2JoV3UyT09RQk54RmYwTjY1c3Z2ci1oMUZOeGNjNUpfT1g5RnlsR2VQS25OZjNXQWZOVVZaazdwSHVLUHJ2bDMyVml2TnFneGZneUVuOGxxUEF0U0tUMTFjTlc2UGVqSVpBbWYwdHVxMGdNOUpEb3RVX2RadVIyTzlCR3VMeENSd2U1b2N5X3V0Um5McS1SMThlSWFSX181OWhBU2M3cnZ6eTJWTlJoNjdzb1hVckx1SEIydDNWY2ZpcDdHbF9Lc0tUVDhyUVBwOGZpM3dmMlFyZW1KTVVsWlVDOHlsMnJrZFZXTEhNNmpDeUNkZ08zdGdyRllvRW9sOWJxTlNQTzZ1VVRCRVBHLUR4eUNpUHhrSmEtTlVQcEp0ME9rQmViQ09yNkxlcXQ5dFdXanVYNUhEcWVkekNNRjFTUHFEOUx6WXVwOXFYcWxLSFI5QUJBdlJmQ2pabDVWd2cwMTNRYi1heHhRY05jUlRSYmVPREhCMGF6WUhnTEdDNTU4RXlTV0lrNWxQeGVMT0Q2VGl2ZVg3S1c0WTcxN3VITkg4QVdrVlp5Nnpmd1Fla1A3SWJVS3ZMZGtaTUZRRUc0aDZWbW0zd0NWaGZaNWtYNU5LQlk0cXJ5VHZEbU5SLWtWRWRKZkdnZXEtSnhWWTdWNW4wUlNDeEFuNVZiMVVEZFppV2x5OXVFSnd6NktNTkQ1ZEF3RkhWa1gyNVRNWmZxOFhIRkhfQVhNRUYwMkpMbW1MMVdoRkMxSXVaVVZMTjQ1M0pZbTFtblZScnVQTEhUMkRtd1NPdmpPS251emJwVWZOamUwLVRIYjBXZmY1ZUJsanlsX2RvdE5tOWhYUzd4ay10V0RfS2NRY01KV28wNmgtZ1huWmljU3dWemZXZXpDLXNLYS1xNWZmR2U3REJITlVsNVRmVmFOeFo5bkI4RXdsS0dxdldTczRhd0NiSmFEWFI1d3Mtank2NVl6YjNZLTUtYmdnZHZUUzAyemxJY3FlWldteHZmN0FQQ1dBQVRoZ0xjbWdOQWVHQy1PTnQwcHdUNXl1cUZlWGdBOXY5aEh3U3FqU1JobE9OT3FDQXpzZlRGSTBhVjZXOVo2VDBnZ192X0FSS2JQZnJWU3NjLThsbElEVFB0WEU1NFpLSEwzV1pLTzlkek1QUEREcTdiai1sU00tZUpmVm9Zcm5tbUdvdGh6dXpJRzdrdFRnTDFidVl6bW0wSk1sQUpYSklCdHVSXzFPRG5fNGFCM1NBbVlPcHN5WHNLS2RMZ3VLYWN2OUlhTFctcUNsOEdqbU4zUC1jaXR1UnNyRjh3NEg0TWhMMDJVUEFhaHlKeW1pSnFaT1lrVU5NMUY2WnB3bDAtVlNyRlZaWlFXbV9tTkhabVpjbnJ2Z3R3TVoxZ1ZSNHg1bUNJVXBGeWwxU0s0d3dLZjc4Tm1jR21IMDFSUEtCLU96MDN0c2J6Q3dVUlVpN1RTa3llckdjcS12ektDcWN1dXQ1MGxqdG1GSVlSUFJ5MzBNRlVZX1MwY3BMbkFaTHNkb2ZmaVdiTzRzRW14b2FseVBpeXFCNkw0bkdjbWJ5cHhabEZYTlpuOFRhSVV6ZkNQVFJWTUE4Nmt1MEdMNG5PaHVhNmpvTXYwa3lXdjRTUDk3RnY5aHBOS2Vjb3JieWxwX3ptTTJGZlVKNkJoMllGdE5iOExBaDNaNFY0VHktYk9zMXp1X0FvU1VzdUdPUm8yZWFVWEtCQ1RKcG5hSldnSzFrSFpBRlhGdlpwRkR5N1gxcGwtbUFtRVI4dGxxN2Izb0ttenY1bTJGOEZuM2hkcDRYd2xCSE11dHBuS0JVNHgyMmdKWG13MTRWZnpxUVpLNTl4RXFaRW1jLWZUNU5XVm94UFpVWTJOV3FKa1BIZ0R3eXpSNnpJM1ZDV0ZkS1RGbFFmLUxNTnhHSzlRWks3RnZxZl9RT2hIRDlxUlhMN2VUa2FXaElScC1hMmhCQ2hRS09nTWt2aFR2YzlNc2hBT2lORjlyQVVNbC1YUG9fMnoxQjZQcGs1TTJuVjVBbnBMOGxQVW5ZSDVGVWVUUnh2VWlCOUxyUE9WdjA5Q0IzTHBvSGk2Q25wN3FCUnY1YWZFdXBwZDVhTHpfUnNaelR3ZlhJS0VhT0FwX1RFUnkwYWJ3UklrZW52OTZscUdBcy1ERTVOQWRSRmJ3aHNDZmlNRkJCd3dhdnN2SHc1cFRFeEhRNGFRVThfRnRfLWhHMm0td0VfX2ZzMFoyVzdsTEhGRndQVTN1dnQ3ZnFaOUNBX1d6UWVWX2VtQXB5MkZDYWhUUUEtQVNxUzNmWlc1V09QbmRLR3NoeEZLREYzZTJkRi1jclRack1pdkNpQjZ0RE03R01MRHgzLTBzX0VpX0RmV244RlRyeWpvc0pTd0dkVmtVMEduejlZX3p5N2tGTDNOZzVfYTdkS2hIZjU0X2pPZ0c3bXJzbUxlY1l4QUQ4UHhHdG5JQWNacnctM0JiQjE1VHZjNUdjNXZseTBnZmVVVG9JRmc0bjI0Y2xCNVNOTTlkM2xkV0hHb01BcnljUWZRMk0zVGhDUklMT3RfYzRrQnQxSzBHSjJHM0lTRHllc0hrajM3MzN4cGZERlZmU2FWTEI3MDVrSl85bDdybVVPeHNmNUVEVWl3TVd6TkJBOU1OdzVIREJlWEl0LXZ4RDBYU0h6LTU1ZDltWmUzZzZROWZZSVM4ZHAwak80TXRLWm9NSWFEcWx3Y09hOU42M3RrUktzTzVfZlFWQUtZUEVRaWg1R1JlY3ZvekVvWTgxZTFYbEZjcUlxdEJVdXp4VE1zT255RURHSjBnbC1rR0FtRnZLLW1GUDhBandjblhvVGJ3dU5lNi1MVHV1WlNCUWp0ZDZubXV3dGFwdlJaUnRPUnc0Ujh1cjdhQnNSYTJ4a19sTmRJNDVuM2JzTzlaTVZCM21tTEZLN1FDWk94c1h5bXk1cU1OWjZBbDZVUGdUN3RJV0l4RHJiUS1vRGw0YW9QdmpBYTBqOTc2VXA4OU1zLS1xU1JDQ2RmVGoxcVJzekpIVXhlYkNLUFZ2RTdISWdGS1NSLW40cm4wMVg2a3hZS3ZsR2pBWHNFaVpYQVlHd3k2eWNwX0lTaFotU2VpVFpRZU5WbnRUc1VSZUNnQmU4aWMtODBqelo3Y3E1dXpmOEJrbVg0UlY0Z1J2RjBmRTFYbzUtYzNqVE83LXY5bjJpNDB2UzFYcnZ2S04wTURFMWNlLU50S080SWJaOUx1MmxSaEZBZjR4WDV2TzZtMWNkQWw1Umw0MExacHE1SGZtVkZETTFBc2Fyb01ydU9kZDVwUUhUNTNRS1BzOERHMG82R3lhNldoSEZCdlFLX1pTRXJ0cDh2MHBwRzFEQ3JURlNuRWhYZU1BTFRKUzNOZnBtelZDUXg3cHVCSU9zQXlvTzlrLXdSSHJDQktFdUUxVWVha3E5VTVBODJJa085b0YyQTNTYjlZZVVnMG1VM0xhb0NxdTJiSzZUZlctSVgtUmxkczdXX2s4OXV5T1h0UF9QXzJMakRQWkdHTUJZM05IVllVbVlNd1lDNGp4RDI0VVNGT0ppRjlVdWNKZ1o0NjNYRGVlQ2dZRV94LW5tdXRVVmdqOHBVSy1ncWh0VWhEQTIxOWFyQ0I2QzRMV0xEbUhSQlZUcjFSQVRRMGtqd1licHdMb3BOeXYzQ09nZmtwb3AxMENvMnZ4MHN5OFl0dXpHb09UWlNQaDA1eWhhR1lFUnlhakJtM2oxSEJvVDRmbTJQazVZdGRaV2owX3lXaVFWajFscTAtWWxEUGpEU08zU21SZW8wOUs2aHJjR2plSTdHeTB2UXppMHpDUXVqbWJNSW5XamYtWllHQjRUZE92SWtodGtzS1hVcjNkM1F3cWNfSVlZNmozcWZ0eDFBOWt6R0MtU2FBLVR4NWR6dnhHVnI3cnB2bjhpVk13SDhQa2k1S2xjeGxMMVlyaVU1ZEpNSGExbXV3ZjVzQjZqLVpHc29CdmEyUmk0dERUUGU2SHRqZmFuME1keE5aUEE5QzRjeWxJZkZiRGFNYktPSnI3bzRNRDY4bktDZmtPUjFuSC1QV182MnZmaElyejZXOF9PMDR0X29XV2U5dkp2NFMweHY2OW5QcFpPRGh0Q1JDQUZnTXJDOERELUp5MENpZXNTSkdsTG02QT0=)
But getting:
Incorrect type. Expected "string | integer | number |
boolean".yaml-schema: Environment variables
this yaml code doesn't show any syntax errors for me
definitions:
environment:
vars:
- &package_name
PACKAGE_NAME: "com.some_company.some_app"
- &fci_keystore
FCI_KEYSTORE: Encrypted(...)
workflows:
integration-tests:
name: Branches - main; Tests - UI; Release - None
environment:
vars:
<<: *package_name
<<: *fci_keystore
Also you can create alias for group of variables (note there is no - when you define variables)
definitions:
environment:
vars: &android_vars
PACKAGE_NAME: "com.some_company.some_app"
FCI_KEYSTORE: Encrypted(...)
workflows:
integration-tests:
name: Branches - main; Tests - UI; Release - None
environment:
vars:
<<: *android_vars
You can validate codemagic.yaml syntax in Visual Studio Code or go to codemagic.io > your App Settings > codemagic.yaml tab
I want to add the line "*{My-Dept$2}" in file.yaml after *{My-Dept$1} this on every finding, I was able to find a line that starts with *{My-Dept$1} and inserted only one time, and ended with this trouble.
I have this in Multiple lines in the file and wanted to insert after "*{My-Dept$1}".
The reference are below:
Infrastructure:
- *{My-Dept$0}
- *{My-Dept$1}
Applications:
- *{My-Dept$1}
- *{My-Dept$3}
- *{My-Dept$4}
Database:
- *{My-Dept$0}
- *{My-Dept$1}
- *{My-Dept$3}
With the below code i was able to add the line "- *{My-Dept$2}" after only in the last "Database arry " entry.
- name: Add missing Dept
lineinfile:
dest: ./file.yaml
insertafter: '[*{]My-Dept[$]1[}]' #
line: ' - *{My-Dept$2}'
and the Output:
Infrastructure:
- *{My-Dept$0}
- *{My-Dept$1}
Applications:
- *{My-Dept$1}
- *{My-Dept$3}
- *{My-Dept$4}
Database:
- *{My-Dept$0}
- *{My-Dept$1}
- *{My-Dept$2}
- *{My-Dept$3}
I wish to get "*{My-Dept$2}" on every next line of each of the findings of *{My-Dept$1} entries. Most of the search find talks about replace, but my requirement is to insert multiple times on each finding.
Make the file.yaml valid YAML. For example
shell> cat file.yaml
---
Infrastructure:
- '*{My-Dept$0}'
- '*{My-Dept$1}'
Applications:
- '*{My-Dept$1}'
- '*{My-Dept$3}'
- '*{My-Dept$4}'
Database:
- '*{My-Dept$0}'
- '*{My-Dept$1}'
- '*{My-Dept$3}'
Q: "Put *{My-Dept$2} on every next line of each of the findings of *{My-Dept$1} entries."
A: It's possible to edit the file on your own.
Read the variables from the file into a dictionary. For examle
- include_vars:
file: file.yaml
name: my_dict
- debug:
var: my_dict
gives
my_dict:
Applications:
- '*{My-Dept$1}'
- '*{My-Dept$3}'
- '*{My-Dept$4}'
Database:
- '*{My-Dept$0}'
- '*{My-Dept$1}'
- '*{My-Dept$3}'
Infrastructure:
- '*{My-Dept$0}'
- '*{My-Dept$1}'
Modify the data. For example
- set_fact:
my_dict1: "{{ my_dict1|default({})|
combine({item: (my_dict[item] + add_items)|unique|sort}) }}"
loop: "{{ my_dict.keys()|list }}"
vars:
add_items:
- '*{My-Dept$2}'
- debug:
var: my_dict1
gives
my_dict1:
Applications:
- '*{My-Dept$1}'
- '*{My-Dept$2}'
- '*{My-Dept$3}'
- '*{My-Dept$4}'
Database:
- '*{My-Dept$0}'
- '*{My-Dept$1}'
- '*{My-Dept$2}'
- '*{My-Dept$3}'
Infrastructure:
- '*{My-Dept$0}'
- '*{My-Dept$1}'
- '*{My-Dept$2}'
Create template
shelll> cat file.yaml.j2
---
{% for k,v in my_dict1.items() %}
{{ k }}:
{% for item in v %}
- '{{ item }}'
{% endfor %}
{% endfor %}
Write the modified data into the file
- template:
src: file.yaml.j2
dest: file.yaml
gives
shell> cat file.yaml
---
Infrastructure:
- '*{My-Dept$0}'
- '*{My-Dept$1}'
- '*{My-Dept$2}'
Applications:
- '*{My-Dept$1}'
- '*{My-Dept$2}'
- '*{My-Dept$3}'
- '*{My-Dept$4}'
Database:
- '*{My-Dept$0}'
- '*{My-Dept$1}'
- '*{My-Dept$2}'
- '*{My-Dept$3}'
I want to automatically renew SSL certificates provided by let's encrypt.
Here's my plan:
Use crontab to execute certbot renew everyday.
If there's any certificate renewed by certbot renew, use AWS CLI to upload the certificate to a load balancer. (AWS China doesn't have Certificate Manager yet, that's why I use let's encrypt.)
My problem is that I don't know how to detect if there's any certificate renewed by certbot renew command.
This command returns something like the following:
*** renew ***
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/ooo.com-0001.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not yet due for renewal
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/xxx.com-0002.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not yet due for renewal
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
The following certs are not due for renewal yet:
/etc/letsencrypt/live/ooo.com-0001/fullchain.pem expires on 2019-12-25 (skipped)
/etc/letsencrypt/live/xxx.com-0002/fullchain.pem expires on 2019-12-25 (skipped)
No renewals were attempted.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
same
I think it would be difficult to parse the string to decide if there's any renewed certificates.
I have integrated NIFI OPC UA [https://github.com/wadesalazar/NIFI-OPCUA] processor with Apache Nifi 1.3.I am following this URL [https://community.hortonworks.com/articles/90355/collect-data-from-opc-ua-protocol.html] to get started. I have installed a simulation OPC server from prosys opc ua on windows.
I am able to pull messages from the GetNodeIDs processor on NIFI, and splitText processor is being used for reading messages line by line and sending to GetValue processor as shown in the example, but my GetValue processor is continuously throwing below error.
I tried to set "starting node" property in GetNodeIDs processor, but not able to make out what a node property should I set, please find below my sample data from simulation server.
Sample data received from simulation opc server:
nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=85
- nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
- nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2253
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2004
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2007
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2009
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2010
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2011
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2012
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=11489
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=11527
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2006
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2742
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2005
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2008
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2256
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2138
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2257
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2258
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2259
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2260
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2992
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2993
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2268
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2013
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2996
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2997
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=11192
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=11704
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2271
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2272
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2736
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2269
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2737
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=3704
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=11703
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2735
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=11702
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2274
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2020
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2275
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2290
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=3706
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2294
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2295
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2033
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2296
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2034
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=3709
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=11313
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=11314
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=11312
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=11492
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=11493
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=11494
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=11715
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=11645
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=12637
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=12581
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=12642
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=12672
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=12675
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=12641
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=12710
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=12639
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=12640
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=12711
- - ns=2;s=MyObjectsFolder
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
- - - ns=2;s=MyDevice
- - - ns=2;s=MyDevice
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2255
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=68
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2994
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=68
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2254
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=68
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=2267
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=68
- ns=2;s=MyObjectsFolder
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
- - ns=2;s=MyDevice
- - - ns=2;s=MyDeviceType
- - - ns=2;s=MyEnumObject
- - - ns=2;s=MyLevel
- - - ns=2;s=MyLevel
- - - ns=2;s=MyLevel.Alarm
- - - ns=2;s=MyMethod
- - - ns=2;s=MySwitch
- - ns=2;s=MyDevice
- - - ns=2;s=MyDeviceType
- - - ns=2;s=MyEnumObject
- - - ns=2;s=MyLevel
- - - ns=2;s=MyLevel
- - - ns=2;s=MyLevel.Alarm
- - - ns=2;s=MyMethod
- - - ns=2;s=MySwitch
- ns=3;s=StaticData
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
- - ns=3;s=AccessLevels
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
- - - ns=3;s=AccessLevelCurrentRead
- - - ns=3;s=AccessLevelCurrentReadNotUser
- - - ns=3;s=AccessLevelCurrentReadWrite
- - - ns=3;s=AccessLevelCurrentWrite
- - - ns=3;s=AccessLevelCurrentWriteNotUser
- - ns=3;s=AnalogItemArrays
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
- - - ns=3;s=ByteAnalogItemArray
- - - ns=3;s=DoubleAnalogItemArray
- - - ns=3;s=FloatAnalogItemArray
- - - ns=3;s=Int16AnalogItemArray
- - - ns=3;s=Int32AnalogItemArray
- - - ns=3;s=Int64AnalogItemArray
- - - ns=3;s=SByteAnalogItemArray
- - - ns=3;s=UInt16AnalogItemArray
- - - ns=3;s=UInt32AnalogItemArray
- - - ns=3;s=UInt64AnalogItemArray
- - ns=3;s=AnalogItems
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
- - - ns=3;s=ByteAnalogItem
- - - ns=3;s=DoubleAnalogItem
- - - ns=3;s=FloatAnalogItem
- - - ns=3;s=Int16AnalogItem
- - - ns=3;s=Int32AnalogItem
- - - ns=3;s=Int64AnalogItem
- - - ns=3;s=SByteAnalogItem
- - - ns=3;s=Sample Instrument Int32AnalogItem
- - - ns=3;s=UInt16AnalogItem
- - - ns=3;s=UInt32AnalogItem
- - - ns=3;s=UInt64AnalogItem
- - ns=3;s=DataItems
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
- - - ns=3;s=BooleanDataItem
- - - ns=3;s=ByteDataItem
- - - ns=3;s=ByteStringDataItem
- - - ns=3;s=DateTimeDataItem
- - - ns=3;s=DoubleDataItem
- - - ns=3;s=FloatDataItem
- - - ns=3;s=GUIDDataItem
- - - ns=3;s=Int16DataItem
- - - ns=3;s=Int32DataItem
- - - ns=3;s=Int64DataItem
- - - ns=3;s=SByteDataItem
- - - ns=3;s=StringDataItem
- - - ns=3;s=UInt16DataItem
- - - ns=3;s=UInt32DataItem
- - - ns=3;s=UInt64DataItem
- - - ns=3;s=XmlElementDataItem
- - ns=3;s=DeepFolder
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
- - - ns=3;s=DeepObject01
- - ns=3;s=MultiStateItems
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
- - - ns=3;s=MultiStateDiscreteItem
- - ns=3;s=StaticArrayVariables
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
- - - ns=3;s=BooleanArray
- - - ns=3;s=ByteArray
- - - ns=3;s=ByteStringArray
- - - ns=3;s=DateTimeArray
- - - ns=3;s=DoubleArray
- - - ns=3;s=FloatArray
- - - ns=3;s=GUIDArrayArray
- - - ns=3;s=Int16Array
- - - ns=3;s=Int32Array
- - - ns=3;s=Int64Array
- - - ns=3;s=LocalizedTextArray
- - - ns=3;s=QualifiedNameArray
- - - ns=3;s=SByteArray
- - - ns=3;s=StringArray
- - - ns=3;s=UInt16Array
- - - ns=3;s=UInt32Array
- - - ns=3;s=UInt64Array
- - - ns=3;s=VariantArray
- - - ns=3;s=XmlElementArray
- - ns=3;s=StaticVariables
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
- - - ns=3;s=Boolean
- - - ns=3;s=Byte
- - - ns=3;s=ByteString
- - - ns=3;s=DateTime
- - - ns=3;s=Double
- - - ns=3;s=Duration
- - - ns=3;s=Enumeration
- - - ns=3;s=Float
- - - ns=3;s=GUID
- - - ns=3;s=Image
- - - ns=3;s=ImageBMP
- - - ns=3;s=ImageGIF
- - - ns=3;s=ImageJPG
- - - ns=3;s=ImagePNG
- - - ns=3;s=Int16
- - - ns=3;s=Int32
- - - ns=3;s=Int64
- - - ns=3;s=Integer
- - - ns=3;s=LocaleId
- - - ns=3;s=LocalizedText
- - - ns=3;s=NodeId
- - - ns=3;s=Number
- - - ns=3;s=QualifiedName
- - - ns=3;s=SByte
- - - ns=3;s=String
- - - ns=3;s=Time
- - - ns=3;s=UInt16
- - - ns=3;s=UInt32
- - - ns=3;s=UInt64
- - - ns=3;s=UInteger
- - - ns=3;s=UtcTime
- - - ns=3;s=Variant
- - - ns=3;s=XmlElement
- - ns=3;s=TwoStateItems
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
- - - ns=3;s=TwoStateDiscreteItem
- ns=4;s=NonUaNodeComplianceTest
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
- - ns=4;s=ByteString
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=SByte
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=Time
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=String
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=Int16
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=Image
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=DateTime
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=LocalizedText
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=UtcTime
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=LocaleId
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=ImageGIF
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=Number
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=Int32
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=ImageBMP
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=UInteger
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=Boolean
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=UInt64
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=Enumeration
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=QualifiedName
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=GUID
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=Duration
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=Double
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=Variant
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=Integer
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=Float
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=ImagePNG
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=Int64
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=Byte
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=NodeId
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=XmlElement
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=UInt16
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=ImageJPG
- - - ns=4;s=NonUaNodeDataItemType
- - ns=4;s=UInt32
- - - ns=4;s=NonUaNodeDataItemType
- ns=5;s=85/0:Simulation
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
- - ns=5;s=Counter1
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=63
- - ns=5;s=Expression1
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=63
- - ns=5;s=Random1
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=63
- - ns=5;s=Sawtooth1
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=63
- - ns=5;s=SimulationServerNode11
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=63
- - ns=5;s=Sinusoid1
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=63
- - ns=5;s=Square1
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=63
- - ns=5;s=Triangle1
- - - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=63
- ns=6;s=MyBigNodeManager
- - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=61
- - ns=6;s=DataItem_0000
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0001
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0002
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0003
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0004
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0005
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0006
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0007
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0008
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0009
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0010
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0011
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0012
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0013
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0014
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0015
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0016
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0017
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0018
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0019
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0020
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0021
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0022
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0023
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0024
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0025
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0026
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0027
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0028
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0029
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0030
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0031
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0032
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0033
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0034
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0035
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0036
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0037
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0038
- - - ns=6;s=DataItemType
- - ns=6;s=DataItem_0039
- - - ns=6;s=DataItemType
Exception:
2017-07-25 18:03:10,189 ERROR [Timer-Driven Process Thread-8] c.k.nifi.nifi_opcua_bundle.GetValue GetValue[id=55c6ac28-015d-1000-076b-844ca709cc40] GetValue[id=55c6ac28-015d-1000-076b-844ca709cc40] failed to process due to java.lang.IllegalArgumentException: Invalid string representation of a nodeId: - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=63; rolling back session: {}
java.lang.IllegalArgumentException: Invalid string representation of a nodeId: - nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=63
at org.opcfoundation.ua.builtintypes.NodeId.parseNodeId(NodeId.java:383)
at com.kentender.nifi.nifi_opcua_services.StandardOPCUAService.getValue(StandardOPCUAService.java:346)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:89)
at com.sun.proxy.$Proxy78.getValue(Unknown Source)
at com.kentender.nifi.nifi_opcua_bundle.GetValue$2.process(GetValue.java:160)
at org.apache.nifi.controller.repository.StandardProcessSession.write(StandardProcessSession.java:2529)
at com.kentender.nifi.nifi_opcua_bundle.GetValue.onTrigger(GetValue.java:156)
at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1120)
at org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:147)
at org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47)
at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:132)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
'nsu=http%3A%2F%2Fopcfoundation.org%2FUA%2F;i=63' represents an ExpandedNodeId, so the Nifi code should use ExpandedNodeId.parseExpandedNodeId() instead of NodeId.parseNodeId().
Or alternatively, you need to convert the ExpandedNodeId to NodeId before you pass it to GetValue(). Unfortunately, I am not familiar with Nifi, so I am not sure which is the correct approach here.
The problem arises from OPC UA "dualism" - some services like Browse, provide ExpandedNodeId references, whereas other services like Read, expect to get NodeId instances.
ExpandedNodeId may define the namespace as an URI ('nsu' in the string) or index ('ns' in the string), where as NodeId may only define the namespace as an index.
I want to create pivot table where column candidate is from DATE column type.
Here is my table preview
And my expected result is like this :
MAIN_RESOURCE | MAIN_USER_NAME | 01-AUG-08 | 01-JUL-08 | 01-JAN-08 | 01-DEC-07 | 01-OCT-07 | next
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
08287060863 90000000000821 0 0 6565 109921 0 next
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
That values in each date column come from TOTAL_AMOUNT, TOTAL_USAGE, AND INVOICE_DEBT.
So, I must have three times of date columns. first for TOTAL_AMOUNT, second for TOTAL_USAGE, and the last one for INVOICE_DEBT.
How to create that?