Sdílet prostřednictvím


ResourceExtension [SPFSDK][VMROLE]

 

Platí pro: Windows Azure Pack

Rozšíření prostředků je šablona s verzemi, která popisuje, jak se má prostředek nainstalovat a nakonfigurovat v rámci prostředku, který je popsán definicí prostředku.

Hierarchie typů

ResourceExtension

Syntax

{
    "SchemaVersion": "1.0",

    "Name": "string",
    "Version": "string in version format",
    "Publisher": "string",


    "ExtensionType" : "Microsoft.Compute/EnterpiseApplicationExtension/1.0",

    "DataPackage": {
        "Version": "1.0.0.0",
        "Location": "MyTemplatePayload",
        "ExternalPayload": [
            {
                "RelativePath": "string",
                "Hash": "string",
                "URLHint": "string"
            }
        ]
    },

    "ResourceExtensionParameters": { <ResourceExtensionParameters> },
    "ResourceRequirements": { <ResourceRequirements> },

    "ExtensionSettings": {


        "ApplicationProfile": { <ApplicationProfile> }
    }
}

Vlastnosti

Název

Typ

Vyžadováno

Výchozí hodnota

Description

SchemaVersion

Řetězec

Yes

Žádné

Verze schématu rozšíření prostředků. Musí být vždy nastavená na hodnotu 1.0.

Název

Řetězec

Yes

Žádné

Název tohoto rozšíření prostředků.

Verze

Řetězec

Yes

Žádné

Verze rozšíření prostředků. Formát verze je: <hlavní>.< menší.>< build>.< vydané verze>. Například 6.33.2.10.

Publisher

Řetězec

No

Žádné

Vydavatel rozšíření prostředků.

ExtensionType

Řetězec

Yes

Žádné

Název smlouvy, která je hostitelem tohoto rozšíření prostředků. Určuje, které prostředky můžou toto rozšíření prostředků podporovat. Musí být nastavena na Microsoft.Compute/EnterpiseApplicationExtension/1.0.

DataPackage

DataPackage

No

null

Umístění datové části, kterou balíček používá.

ResourceExtensionParameters

Pole parametrů a typů [SPFSDK][VMROLE]

No

null

Pole parametrů, které je deklarováno rozšířením prostředku.

Požadavky na prostředky

ResourceRequirements [SPFSDK][VMROLE]

No

null

Požadavky, které má rozšíření prostředků ve svém prostředku.

ExtensionSettings

ExtensionSettings [SPFSDK][VMROLE]

Yes

Žádné

Aplikace a konfigurace hosta pro hostitelský virtuální počítač.

DataPackage

Název

Typ

Vyžadováno

Výchozí hodnota

Popis

Verze

Řetězec

Yes

Žádné

Verze datového balíčku. Formát verze je: <hlavní>.< menší.>< build>.< vydané verze>. Například 6.33.2.10.

Umístění

Řetězec

Yes

Žádné

Relativní cesta v archivu balíčku rozšíření prostředků, která obsahuje datovou část rozšíření.

ExternalPayload

Pole externalPayload

No

Žádné

Soubor, který přípona prostředku vyžaduje, aby se nedistribuoval jako součást archivu balíčku rozšíření prostředků.

ExternalPayload

Název

Typ

Vyžadováno

Výchozí hodnota

Description

Relativní cesta

Řetězec

Yes

Žádné

Relativní cesta v balíčku rozšíření prostředků, který soubor existuje.

Hodnoty hash

Řetězec

No

Žádné

Hodnota hash SHA256 externího datové části

UrlHint

Řetězec

No

Žádné

Adresa URL, kterou lze použít ke stažení externího datového souboru.

Poznámky

Následující příklad kódu poskytuje ukázkový objekt ResourceExtension .

{
    "Name": "MyVirtualMachineRoleExtension",
    "Version": "Version of the resource extension",
    "Publisher": "Publisher of Extension",

    "SchemaVersion": "1.0",

    "ExtensionType": "Microsoft.Compute/ EnterpiseApplicationExtension/1.0",

    "DataPackage": {
        "Version": "1.0.0.0",
        "Location": "MyTemplatePayload",
        "ExternalPayload": [
            {
                "RelativePath": "sharepoint.msi",
                "Hash": "...",
                "URLHint": "http://<webpage-to-download-sharepoint>"
            }
        ]
    },

    "ResourceExtensionParameters": [
        {
            "Name": "SQLInstance",
            "Type": "string",
            "Description": "my description"
        },
        {
            "Name": "ConnectionString",
            "Type": "string",
            "Description": "my description"
        },
        {
            "Name": "SharepointDB",
            "Type": "string",
            "Description": "my description"
        }
    ],

    "ResourceRequirements": {
        "OSVirtualHardDiskRequirements": [
            "WS2008",
            "SysprepSQL"
        ],
    },

    "ExtensionSettings": {



        "ApplicationProfile": {
            "Name": "ApplicationProfile1",

            "ApplicationPayload": [
                {
                    "ID": "49c1ccdb-9068-4b91-9409-0a7ca8a1d291",
                    "RelativePath": "sharepointfiles"
                }
            ],

            "LinuxApplicationProfile": {
                "RunOnceCommands": [
                    "ifconfig"
                ]
            },

            "WindowsApplicationProfile": {
                "WindowsServerRolesAndFeatures": [
                    "TFTP-Client"
                ],

                "SQLProfile": {
                    "SQLDeployments": [
                        {
                            "DeploymentName": "SQL Deployment 1",
                            "InstanceName": "[Param.SQLInstance]",
                            "InstanceID": "[Param.SQLInstance]",
                            "EnableNamedPipes": false,
                            "EnableTCP": true,
                            "MediaSource": "c:\\SQLMediaPath\\sqlsetup.exe",
                            "ProductKey": "abcdefghijklmnopqrstuvwxyz",
                            "SQLAuthenticationType": "WindowsAuthentication",
                            "SQLSysAdminMemberList": "domain\\user",
                            "DeploymentTimeOutInSeconds": 3600,
                            "SQLConfigurationPayloadId": "61A33949-46CE-4d0f-921F-A0059DA9AD1F",
                            "SAPassword": "MySAPassword",

                            "SQLDeploymentCredential": "domain\\user:password",
                            "SQLAgentServiceCredential": "NT AUTHORITY\\System:",
                            "SQLServiceCredential": "NT AUTHORITY\\NetworkService:",
                            "SQLReportingServiceCredential": "domain\\user:password"
                        }
                    ]
                },

                "ProvisioningScripts": [
                    {
                        "AlwaysReboot": false,
                        "ApplicationPayloadId": "49c1ccdb-9068-4b91-9409-0a7ca8a1d291",
                        "DeploymentOrder": 1,
                        "ErrorPolicy": "FailOnMatch",
                        "ExecutableAndParams": {
                            "Executable": "cmd.exe",
                            "Parameters": "/q /c msiexec sharepoint.msi"
                        },
                        "ExitCodeRegex": "[1-9][0-9]*",
                        "MaxOutputSize": 1048576,
                        "RebootExitCodeRegex": "{1641}|{3010}|{3011}",
                        "RestartOnRetry": false,
                        "ScriptBlock": null,
                        "ScriptCredential": "domain\\user:password",
                        "ScriptType": "PreInstall",
                        "StandardErrorPath": "c:\\err.txt",
                        "StandardErrorRegex": ".+",
                        "StandardInput": null,
                        "StandardOutputPath": "c:\\out.txt",
                        "StandardOutputRegex": null,
                        "TimeoutInSeconds": 900,
                        "WorkingDirectory": null
                    }
                ],
                "WebDeployApplications": [
                    {
                        "DeploymentName": "WebDeploy App 1",

                        "ScriptCommands": [
                            {
                                "AlwaysReboot": false,
                                "ApplicationPayloadId": "366819c2-bf11-4c85-9555- 6293e2a3ce7b",
                                "ErrorPolicy": "FailOnMatch",
                                "ExecutableAndParams": {
                                    "Executable": "cmd.exe",
                                    "Parameters": "/q /c installwebdeploy.cmd"
                                },
                                "ExitCodeRegex": "[1-9][0-9]*",
                                "MaxOutputSize": 1048576,
                                "RebootExitCodeRegex": "{1641}|{3010}|{3011}",
                                "RestartOnRetry": false,
                                "ScriptBlock": null,
                                "ScriptCredential": "domain\\user:password",
                                "ScriptType": "PreInstall",
                                "StandardErrorPath": "c:\\err.txt",
                                "StandardErrorRegex": ".+",
                                "StandardInput": null,
                                "StandardOutputPath": "c:\\out.txt",
                                "StandardOutputRegex": null,
                                "TimeoutInSeconds": 900,
                                "WorkingDirectory": null
                            }
                        ],

                        "DeploymentName": "Deployment1",
                        "ApplicationPayloadId": "371ade4c-03a2-492d-9589-b399b940e44f",
                        "PackagePassword": "mypassword2",
                        "WebDeployParameters": [
                            {
                                "ParameterName": "CONNECTION_STRING",
                                "Value": "[Param.ConnectionString]"
                            }
                        ]
                    }
                ],

                "SQLDacApplications": [
                    {
                        "DeploymentName": "SQL App 1",

                        "ScriptCommands": [
                            {
                                "AlwaysReboot": false,
                                "ApplicationPayloadId": null,
                                "ErrorPolicy": "FailOnMatch",
                                "ExecutableAndParams": null,
                                "ExitCodeRegex": "[1-9][0-9]*",
                                "MaxOutputSize": 1048576,
                                "RebootExitCodeRegex": "{1641}|{3010}|{3011}",
                                "RestartOnRetry": false,
                                "ScriptBlock": "rem some script that needs to run before sqldac package is installed",
                                "ScriptCredential": {
                                    "Password": "mypassword4",
                                    "UserName": "dcmanagerlab\\esdcvsec4"
                                },
                                "ScriptType": "PreInstall",
                                "StandardErrorPath": "c:\\err.txt",
                                "StandardErrorRegex": ".+",
                                "StandardInput": null,
                                "StandardOutputPath": "c:\\out.txt",
                                "StandardOutputRegex": null,
                                "TimeoutInSeconds": 900,
                                "WorkingDirectory": null
                            }
                        ],

                        "SQLScriptCommands": [
                            {
                                "DatabaseName": "[Param.SharepointDB]",
                                "DeploymentOrder": 1,
                                "EncryptConnection": false,
                                "ExecutionTimeoutSeconds": 500,
                                "LoginTimeoutSeconds": 50,
                                "OutputFilePath": "c:\\sharepointDB.sql.log",
                                "SQLAuthenticationType": "WindowsAuthentication",
                                "SQLScriptApplicationPayloadId": "db04416b-d0a8-44d5-b0ee-d5739378a98d",
                                "ScriptCredential": "[Param.SQLScriptCommandCredential]",
                                "ScriptType": "PostInstall"
                            }
                        ],

                        "DeploymentName": "Deployment1",
                        "ApplicationPayloadId": "5b064b6a-d6d0-48f0-8979-9aafc676a9e5",
                        "BlockOnChanges": false,
                        "DacInstance": "[Param.SharepointDB]",
                        "IgnoreDataLoss": false,
                        "RollbackOnFailure": true,
                        "SQLAuthenticationType": "WindowsAuthentication",

                        "SQLDeploymentCredential": "[param.SQLDeploymentCredential]",

                        "SQLInstance": "[Param.SQLInstance]",
                        "SkipPolicyValidation": true,
                        "UninstallMode": "DropDatabase"
                    }
                ],

                "ScriptApplications": [
                    {
                        "DeploymentName": "ScriptDeployment1",

                        "ScriptCommands": [
                            {
                                "AlwaysReboot": false,
                                "ApplicationPayloadId": "366819c2-bf11-4c85-9555- 6293e2a3ce7b",
                                "ErrorPolicy": "FailOnMatch",
                                "ExecutableAndParams": {
                                    "Executable": "cmd.exe",
                                    "Parameters": "/q /c installwebdeploy.cmd"
                                },
                                "ExitCodeRegex": "[1-9][0-9]*",
                                "MaxOutputSize": 1048576,
                                "RebootExitCodeRegex": "{1641}|{3010}|{3011}",
                                "RestartOnRetry": false,
                                "ScriptBlock": null,
                                "ScriptCredential": "domain\\user:mypassword",
                                "ScriptType": "PreInstall",
                                "StandardErrorPath": "c:\err.txt",
                                "StandardErrorRegex": ".+",
                                "StandardInput": null,
                                "StandardOutputPath": "c:\out.txt",
                                "StandardOutputRegex": null,
                                "TimeoutInSeconds": 900,
                                "WorkingDirectory": null
                            }
                        ],

                        "EnvironmentVariables": [
                            {
                                "Name": "envvar1",
                                "Value": "foo",
                            },
                            {
                                "Name": "envvar2",
                                "Value": "bar",
                            },
                        ],

                        "AlwaysReboot": false,
                        "ApplicationPayloadId": "49c1ccdb-9068-4b91-9409-0a7ca8a1d291",
                        "ErrorPolicy": "FailOnMatch",
                        "ExecutableAndParams": {
                            "Executable": "cmd.exe",
                            "Parameters": "/q /c msiexec sharepoint.msi"
                        },
                        "ExitCodeRegex": "[1-9][0-9]*",
                        "MaxOutputSize": 1048576,
                        "RebootExitCodeRegex": "{1641}|{3010}|{3011}",
                        "ScriptBlock": null,
                        "ScriptCredential": "username:password",
                        "StandardErrorPath": "c:\err.txt",
                        "StandardErrorRegex": ".+",
                        "StandardInput": null,
                        "StandardOutputPath": "c:\out.txt",
                        "StandardOutputRegex": null,
                        "TimeoutInSeconds": 900,
                        "WorkingDirectory": null
                    }
                ]
            }
        }
    }
}

Viz také

Referenční dokumentace JSON role virtuálního počítače [SPFSDK][VMROLE]
VirtualMachineRole (instance) [SPFSDK][VMROLE]
ResourceDefinition [SPFSDK][VMROLE]
ResourceConfiguration [SPFSDK][VMROLE]
Parametry a typy [SPFSDK][VMROLE]
ResourceRequirements [SPFSDK][VMROLE]
ExtensionSettings [SPFSDK][VMROLE]