{
    "$schema": "../module-schema.json",
    "name": "msft.sme.solutionExample-extension",
    "displayName": "resources:strings:displayName",
    "description": "resources:strings:description",
    "icon": "sme-icon:sme-icon-powerShell",
    "keywords": [
        "resources:strings:keyword-example"
    ],
    "entryPoints": [{
            "entryPointType": "solution",
            "name": "example",
            "urlName": "solutionexample",
            "displayName": "resources:strings:displayName",
            "description": "resources:strings:description",
            "icon": "sme-icon:sme-icon-powerShell",
            "rootNavigationBehavior": "connections",
            "connections": {
                "header": "resources:strings:connectionsListHeader",
                "connectionTypes": [
                    "msft.sme.connection-type.example"
                ]
            },
            "tools": {
                "enabled": false,
                "defaultTool": "solution"
            }
        },
        {
            "entryPointType": "connectionProvider",
            "name": "addConnection",
            "path": "/add",
            "displayName": "resources:strings:addConnection_DisplayName",
            "description": "resources:strings:description",
            "icon": "sme-icon:sme-icon-server",
            "connectionType": "msft.sme.connection-type.example",
            "connectionTypeName": "resources:strings:addExample_connectionTypeName",
            "connectionTypeUrlName": "example",
            "connectionTypeDefaultSolution": "msft.sme.solutionExample-extension!example",
            "connectionStatusProvider": {
                "powerShell": {
                    "script": "## Get-My-Status ##\nfunction Get-Status()\n{\n# A funciton like this would be where logic would exist to identify if a node is connectable.\n$status = @{label = $null; type = 0; details = $null; }\n$caption = \"MyConstCaption\"\n$productType = \"MyProductType\"\n# A result object needs to conform to the following object structure to be interperated properly by the Honolulu shell.\n$result = @{ status = $status; caption = $caption; productType = $productType; version = $version }\n# DO FANCY LOGIC #\n# Once the logic is complete, the following fields need to be populated:\n$status.label = \"Display Thing\"\n$status.type = 0 # This value needs to conform to the LiveConnectionStatusType enum.  >= 3 represents a failure.\n$status.details = \"success stuff\"\nreturn $result}\nGet-Status"
                },
                "displayValueMap": {
                    "exampleError-label": "resources:strings:addServer_status_exampleError_label"
                }
            }
        },
        {
            "entryPointType": "connectionProvider",
            "name": "addConnectionV2",
            "experiences": {
                "add": {
                    "path": "/add"
                },
                "create": {
                    "path": "/create"
                }
            },
            "displayName": "resources:strings:addConnection_DisplayName",
            "description": "resources:strings:description",
            "icon": "sme-icon:sme-icon-server",
            "connectionType": "msft.sme.connection-type.exampleV2",
            "connectionTypeName": "resources:strings:addExample_connectionTypeName",
            "connectionTypeUrlName": "exampleV2",
            "connectionTypeDefaultSolution": "msft.sme.solutionExample-extension!example",
            "connectionStatusProvider": {
                "powerShell": {
                    "script": "## Get-My-Status ##\nfunction Get-Status()\n{\n# A funciton like this would be where logic would exist to identify if a node is connectable.\n$status = @{label = $null; type = 0; details = $null; }\n$caption = \"MyConstCaption\"\n$productType = \"MyProductType\"\n# A result object needs to conform to the following object structure to be interperated properly by the Honolulu shell.\n$result = @{ status = $status; caption = $caption; productType = $productType; version = $version }\n# DO FANCY LOGIC #\n# Once the logic is complete, the following fields need to be populated:\n$status.label = \"Display Thing\"\n$status.type = 0 # This value needs to conform to the LiveConnectionStatusType enum.  >= 3 represents a failure.\n$status.details = \"success stuff\"\nreturn $result}\nGet-Status"
                },
                "displayValueMap": {
                    "exampleError-label": "resources:strings:addServer_status_exampleError_label"
                }
            }
        },
        {
            "entryPointType": "connectionProvider",
            "name": "addConnectionUrlStatus",
            "experiences": {
                "add": {
                    "path": "/add"
                },
                "create": {
                    "path": "/create"
                }
            },
            "displayName": "resources:strings:addConnection_DisplayName",
            "description": "resources:strings:description",
            "icon": "sme-icon:sme-icon-server",
            "connectionType": "msft.sme.connection-type.exampleV2",
            "connectionTypeName": "resources:strings:addExample_connectionTypeName",
            "connectionTypeUrlName": "exampleV2",
            "connectionTypeDefaultSolution": "msft.sme.solutionExample-extension!example",
            "connectionStatusProvider": {
                "relativeGatewayUrl": "nodes/$connectionName/features/somefeature/status",
                "displayValueMap": {
                    "exampleError-label": "resources:strings:addServer_status_exampleError_label"
                }
            }
        },
        {
            "entryPointType": "connectionProvider",
            "name": "addConnectionWorkerStatus",
            "experiences": {
                "add": {
                    "path": "/add"
                },
                "create": {
                    "path": "/create"
                }
            },
            "displayName": "resources:strings:addConnection_DisplayName",
            "description": "resources:strings:description",
            "icon": "sme-icon:sme-icon-server",
            "connectionType": "msft.sme.connection-type.exampleV2",
            "connectionTypeName": "resources:strings:addExample_connectionTypeName",
            "connectionTypeUrlName": "exampleV2",
            "connectionTypeDefaultSolution": "msft.sme.solutionExample-extension!example",
            "connectionStatusProvider": {
                "worker": {
                    "module": "msft.sme.solutionExample-extension",
                    "name": "someWorker",
                    "method": "getStatus",
                    "version": 0
                }
            }
        },
        {
            "entryPointType": "connectionProvider",
            "name": "addConnectionServiceStatus",
            "experiences": {
                "add": {
                    "path": "/add"
                },
                "create": {
                    "path": "/create"
                }
            },
            "displayName": "resources:strings:addConnection_DisplayName",
            "description": "resources:strings:description",
            "icon": "sme-icon:sme-icon-server",
            "connectionType": "msft.sme.connection-type.exampleV2",
            "connectionTypeName": "resources:strings:addExample_connectionTypeName",
            "connectionTypeUrlName": "exampleV2",
            "connectionTypeDefaultSolution": "msft.sme.solutionExample-extension!example",
            "connectionStatusProvider": {
                "worker": {
                    "module": "msft.sme.solutionExample-extension",
                    "name": "someService",
                    "method": "getStatus",
                    "version": 0
                }
            }
        },
        {
            "entryPointType": "connectionProvider",
            "name": "addConnectionWorkerStatus",
            "experiences": {
                "add": {
                    "path": "/add"
                },
                "create": {
                    "path": "/create"
                }
            },
            "displayName": "resources:strings:addConnection_DisplayName",
            "description": "resources:strings:description",
            "icon": "sme-icon:sme-icon-server",
            "connectionType": "msft.sme.connection-type.exampleV2",
            "connectionTypeName": "resources:strings:addExample_connectionTypeName",
            "connectionTypeUrlName": "exampleV2",
            "connectionTypeDefaultSolution": "msft.sme.solutionExample-extension!example",
            "connectionStatusProvider": {
                "worker": {
                    "module": "msft.sme.solutionExample-extension",
                    "name": "someService",
                    "method": "getStatus",
                    "version": 7
                }
            }
        },
        {
            "entryPointType": "tool",
            "name": "solution",
            "urlName": "solution",
            "displayName": "resources:strings:solutionExample_toolDisplayName",
            "description": "resources:strings:description",
            "icon": "sme-icon:sme-icon-server",
            "path": "/solution",
            "requirements": [{
                "solutionIds": [
                    "msft.sme.solutionExample-extension!example"
                ],
                "connectionTypes": [
                    "msft.sme.connection-type.example"
                ]
            }]
        }
    ],
    "resources": [{
            "locale": "default",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "cs-CZ",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "de-DE",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "en-US",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "es-ES",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "fr-FR",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "hu-HU",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "it-IT",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "ja-JP",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "ko-KR",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "nl-NL",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "pl-PL",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "pt-BR",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "pt-PT",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "ru-RU",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "sv-SE",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "tr-TR",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "zh-CN",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        },
        {
            "locale": "zh-TW",
            "strings": {
                "keyword-example": "example",
                "solutionExample_toolDisplayName": "Example Tool",
                "addExample_connectionTypeName": "Example",
                "connectionsListHeader": "Example Connections",
                "addServer_status_exampleError_label": "There was an error with the way things were supposed to work but then didn't.",
                "addConnection_DisplayName": "Add Connection",
                "description": "solutionExample extension, fill in a description",
                "displayName": "Solution Example"
            }
        }
    ],
    "version": "0.0.0"
}