Skip to content

Instantly share code, notes, and snippets.

@scshitole
Last active August 18, 2023 15:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save scshitole/23eca3ad9e84f9cb476d4790573bace5 to your computer and use it in GitHub Desktop.
Save scshitole/23eca3ad9e84f9cb476d4790573bace5 to your computer and use it in GitHub Desktop.
title: Epic Interconnect_VS_HTTPS_BackGround
description: template description BackGround
parameters:
tenant_name: EPIC_InterConnect_VS_BackGround
virtualAddress: 12.0.0.201
virtualAddressHS_Events: 12.0.0.203
server_addresses:
- 12.1.1.20
- 12.1.1.21
service_port: 80
certificate: default.crt
privatekey: default.key
instanceWebsiteName: InstanceWebsiteName
iCWebsiteName: ICWebsiteName
definitions:
tenant_name:
title: Tenant Name
type: string
description: partition on bigip
virtualAddress:
title: Virtual Address for BackGround
description: IP addresses of virtual addresses BackGround
virtualAddressHS_Events:
title: Virtual address of HS Events
server_addresses:
title: Server Addresses for BackGround Server
service_port:
title: Server application port for BackGround Server
certificate:
title: Enter certificate file name which you have uploaded
privatekey:
title: Enter the private key file name here
instanceWebsiteName:
title: Provide the website name for monitor Interconnect_Health_HTTPS send string
iCWebsiteName:
title: Replace {ICWebsiteName} with the parent Interconnect instance application name
template: |
{
"class": "ADC",
"schemaVersion": "3.21.0",
"id": "urn:uuid:6fddcf2d-cf22-48f8-99c0-e8b2ce348f1b",
"label": "Declaration for InterConnect App",
"remark": "This is for InterConnect Apps",
"{{tenant_name}}": {
"class": "Tenant",
"Shared": {
"class": "Application",
"template": "shared",
"Interconnect_Pool_HTTPS_BackGround": {
"loadBalancingMode": "least-connections-member",
"minimumMonitors": "all",
"members": [
{
"addressDiscovery": "static",
"servicePort": {{service_port}},
"serverAddresses": {{server_addresses::array}},
"shareNodes": true
}
],
"monitors": [
{
"use": "Interconnect_Health_HTTPS"
},
{
"use": "Epic_HealthRDS_HTTPS"
}
],
"class": "Pool"
},
"EPIC_InterConnect_WAF": {
"class": "WAF_Policy",
"url": "https://gist.githubusercontent.com/scshitole/1e45c066b2c256bb642950b85fd9d719/raw/fffa57a610bcc54d8667eff8895f635d49144fc5/xml",
"ignoreChanges": true
},
"HS_Events_Pool_HTTPS": {
"loadBalancingMode": "least-connections-member",
"minimumMonitors": "all",
"members": [
{
"addressDiscovery": "static",
"servicePort": {{service_port}},
"serverAddresses": {{server_addresses::array}},
"shareNodes": true
}
],
"monitors": [
{
"use": "HS_Events_Health_HTTPS"
},
{
"use": "Epic_HealthRDS_HTTPS"
}
],
"class": "Pool"
},
"Interconnect_VS_HTTPS": {
"layer4": "tcp",
"pool": "Interconnect_Pool_HTTPS_BackGround",
"persistenceMethods": [],
"translateServerAddress": true,
"translateServerPort": true,
"class": "Service_HTTPS",
"virtualAddresses": [
"{{virtualAddress}}"
],
"profileTCP": {
"use": "Epic_TCP"
},
"policyWAF": {
"use": "EPIC_InterConnect_WAF"
},
"virtualPort": 443,
"clientTLS": "Interconnect_clientSSL",
"serverTLS": "Epic_serverSSL",
"snat": "auto"
},
"Interconnect_HLS_Events_VS_TCP": {
"layer4": "tcp",
"pool": "HS_Events_Pool_HTTPS",
"translateServerAddress": true,
"translateServerPort": true,
"class": "Service_L4",
"profileL4": {
"use": "Epic_FastL4"
},
"virtualAddresses": [
"{{virtualAddressHS_Events}}"
],
"virtualPort": 19128,
"snat": "auto"
},
"Interconnect_Health_HTTPS": {
"adaptive": false,
"dscp": 0,
"receive": "ServiceRunning",
"send": "GET /{{instanceWebsiteName}}/httplistener.ashx HTTP/1.0\r\n\r\n",
"class": "Monitor",
"monitorType": "https",
"transparent": false,
"reverse": false,
"timeout": 91,
"interval": 30
},
"Epic_HealthRDS_HTTPS": {
"adaptive": false,
"interval": 5,
"dscp": 0,
"receive": "Status\":0",
"receiveDown": "Status\":1",
"send": "GET /maintenance/status.json HTTP/1.0\\r\\n\\r\\n",
"timeUntilUp": 0,
"timeout": 16,
"class": "Monitor",
"monitorType": "https",
"destination": "*.443",
"upInterval": 0,
"transparent": false,
"reverse": false
},
"HS_Events_Health_HTTPS": {
"adaptive": false,
"interval": 30,
"dscp": 0,
"receive": "ServiceRunning",
"send": "GET /{{iCWebsiteName}}/httplistener.ashx HTTP/1.0\r\n\r\n",
"timeUntilUp": 0,
"timeout": 91,
"class": "Monitor",
"monitorType": "https",
"destination": "*.443",
"upInterval": 0,
"transparent": false,
"reverse": false
},
"Epic_SourceAddress": {
"class": "Persist",
"persistenceMethod": "source-address"
},
"certificate_default": {
"class": "Certificate",
"certificate": {
"bigip": "/Common/{{certificate}}"
},
"privateKey": {
"bigip": "/Common/{{privatekey}}"
}
},
"Incommon": {
"certificates": [
{
"certificate": "certificate_default"
}
],
"ciphers": "DEFAULT",
"class": "TLS_Server"
},
"Epic_FastL4": {
"class": "L4_Profile"
},
"Epic_FTP": {
"class": "FTP_Profile"
},
"Epic_OneConnect": {
"sourceMask": "255.255.255.255",
"class": "Multiplex_Profile"
},
"Epic_TCP": {
"class": "TCP_Profile"
},
"Epic_serverSSL": {
"class": "TLS_Server",
"certificates": [
{
"certificate": "certificate_default"
}
],
"cacheTimeout": 1234
},
"Interconnect_clientSSL": {
"class": "TLS_Client",
"clientCertificate": "certificate_default",
"cacheTimeout": 4321
},
"Epic_WebSocket": {
"class": "HTTP_Profile",
"webSocketsEnabled": true
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment