//
// Generated by sm1-html-2-json5 version:0.5 Chameleon version:4.5.4 On Python:3.12.3 at 2024-10-18 14:47:03
//
{
    'PackageName': 'Letsencrypt',
    'prefix': 'lets',
    'MenuHeading': 'Network',
    'MenuDescription': 'Letsencrypt certificate',
    'MenuNavigation': '6000 6600',
    'firstPanel': 'LIST',
    'signalEvent': 'smeserver-letsencrypt-update',
    'html': [
        {
            'Name': 'List',
            'route': 'LIST',
			'Group': 'class=inline-buttons',
			'Link2': {
				'Type': 'Link',
				'href': 'letsencryptd?trt=PARAMS',
				'title': 'CONFIG'
			},
			'Link3': {
				'Type': 'Link',
				'href': 'letsencryptd?trt=CHECKALLDOMAINS',
				'title': 'CHECK_ALL_DOMAINS'
			},
			'Link4': {
				'Type': 'Link',
				'href': 'letsencryptd?trt=CHECKALLENABLEDDOMAINS',
				'title': 'CHECK_ALL_ENABLED_DOMAINS'
			},
			'Endgroup': '',
			SubHeader2: 'For this Server',
			Input4: {
				Name: 'InternalIP',
				Type: 'ReadonlyText',
				Label: 'Internal IP',
				Value: 'stash("InternalIP")',
			  },
			Input5: {
				Name: 'ExternalIP',
				Type: 'ReadonlyText',
				Label: 'External Interface IP',
				Value: 'stash("ExternalIP")',
			  },
			Input6: {
				Name: 'InternetIP',
				Type: 'ReadonlyText',
				Label: 'Internet IP',
				Value: 'stash("InternetIP")',
			  },
			SubHeader3 : 'Current certificate details',
  			'Input1': {
				'Type': 'Textarea',
				'Name': 'Issuer',
				'Label': 'Issuer',
				'Rows':7,
				'Cols':39,
				'Readonly':'true'
			},
			Input2: {
				Name: 'Expiry',
				Type: 'ReadonlyText',
				Label: 'Expiry',
				Value: 'stash("Expiry")',
			  },
			Input3: {
				Name: 'NotBefore',
				Type: 'ReadonlyText',
				Label: 'Not Before',
				Value: 'stash("NotBefore")',
			  },

            SubHeader4: 'List of Domains and Hosts',
            'Table1': {
                'Type': 'Table',
                'TableControl': 'DomainList',
                'TopHeadings': [
                    'Domain name / HOSTNAME',
                    'Brief description',
                    'Content',
                    'LABEL_NAMESERVERS',
                    'LABEL_POINT',
                    'LABEL_LECERT',
                    'IS_IN_CERT',
                    'CHECK'
                ],
                'Columns': [
                    'Table1-Domain name / HOSTNAME',
                    'Table1-Brief description',
                    'Table1-Content',
                    'Table1-LABEL_NAMESERVERS',
                    'Table1-LABEL_POINT',
                    'Table1-LABEL_LECERT',
                    'Table1-IS_IN_CERT',
                    'Table1-CHECK'
                ]
            }
        },
        {
            'Name': 'params',
            'route': 'PARAMS',
            'SubHeader': 'Manage letsencrypt-config settings:',
            'Paragraph1': 'CONFIG_LETSENCRYPT',
            'Input1': {
                'Type': 'Select',
                'Value': 'Disabled',
                'Name': 'status',
                'Label': 'SERVICE_STATUS',
                'Options': [
                    {
                        'Value': 'disabled',
                        'Text': 'Disabled'
                    },
                    {
                        'Value': 'enabled',
                        'Text': 'Enabled'
                    },
                    {
                        'Value': 'test',
                        'Text': 'TEST'
                    }
                ]
            },
            'Input2': {
                'Type': 'Select',
                'Value': '',
                'Name': 'hookScript',
                'Label': 'HOOKSCRIPT_STATUS',
                'Options': [
                    {
                        'Value': 'disabled',
                        'Text': 'Disabled'
                    },
                    {
                        'Value': 'enabled',
                        'Text': 'Enabled'
                    }
                ]
            },
            'Input3': {
                'Type': 'Select',
                'Value': '',
                'Name': 'hostOverride',
                'Label': 'HOSTOVERRIDE_STATUS',
                'Options': [
                    {
                        'Value': 'disabled',
                        'Text': 'Disabled'
                    },
                    {
                        'Value': 'yes',
                        'Text': 'Yes'
                    }
                ]
            },
            'Input4': {
                'Type': 'Select',
                'Value': '',
                'Name': 'ACCEPT_TERMS',
                'Label': 'ACCEPT_TERMS_STATUS',
                'Options': [
                    {
                        'Value': 'disabled',
                        'Text': 'Disabled'
                    },
                    {
                        'Value': 'yes',
                        'Text': 'Yes'
                    }
                ]
            },
            'Input5': {
                'Type': 'Select',
                'Value': '',
                'Name': 'API',
                'Label': 'API_STATUS',
                'Options': [
                    {
                        'Value': '2',
                        'Text': '2'
                    }
                ]
            },
            'Input6': {
                'Type': 'Select',
                'Value': '',
                'Name': 'keysize',
                'Label': 'KEYSIZE_STATUS',
                'Options': [
                    {
                        'Value': '2048',
                        'Text': '2048'
                    },
                    {
                        'Value': '3072',
                        'Text': '3072'
                    },
                    {
                        'Value': '4096',
                        'Text': '4096'
                    }
                ]
            },
            'Input7': {
                'Type': 'Select',
                'Value': '',
                'Name': 'configure',
                'Label': 'CONFIGUREMODE_STATUS',
                'Options': [
                    {
                        'Value': 'all',
                        'Text': 'ALL'
                    },
                    {
                        'Value': 'domains',
                        'Text': 'Domains'
                    },
                    {
                        'Value': 'hosts',
                        'Text': 'HOSTS'
                    },
                    {
                        'Value': 'none',
                        'Text': 'NONE'
                    }
                ]
            },
            'Input8': {
                'Type': 'Email',
                'Value': '',
                'Name': 'email',
                'Label': 'EMAIL'
            },
            'Input9': {
                'Type': 'Submit',
                'Value': 'Save',
                'Name': 'Next',
                'Label': null
            }
        },
        {	'Name':'CheckAllDomains',
			'route':'CHECKALLDOMAINS',
			'Header': 'Check all domains',
			'SubHeader': 'Loop through checking the letsencrypt status for each configured domain',
			'Input1': {
				'Type': 'Textarea',
				'Name': 'AllDomainsCheck',
				'Label': 'All domains check result',
				'Rows':20,
				'Readonly':'true'
			},
			'Input2': {
				'Type': 'Back',
				'Value': 'Back',
			}
		},
        {	'Name':'CheckAllEnabledDomains',
			'route':'CHECKALLENABLEDDOMAINS',
			'Header': 'Check all enabled domains',
			'SubHeader': 'Loop through checking the letsencrypt status for each configured domain which is enabled',
			'Input1': {
				'Type': 'Textarea',
				'Name': 'EnabledDomainsCheck',
				'Label': 'Enabled domains check result',
				'Rows':20,
				'Readonly':'true'
			},
			'Input2': {
				'Type': 'Back',
				'Value': 'Back',
			}
		},
		{	'Name':'CheckOneDomain',
			'route':'CHECKONEDOMAIN',
			'Header': 'Check just one domain',
			'SubHeader': 'Loop through and check the letsencrypt status for a specific domain',
			'Input1': {
				'Type': 'ReadonlyText',
				'Name': 'OneDomainToCheck',
				'Label': 'Domains name',
			},
			'Input2': {
				'Type': 'Textarea',
				'Name': 'OneDomainsCheck',
				'Label': 'One domain check result',
				'Rows':20,
				'Readonly':'true'
			},
			'Input3': {
				'Type': 'Back',
				'Value': 'Back',
			}
		}

	]
}