ResourceExtension [SPFSDK][VMROLE]
S’applique à : Windows Azure Pack
Une extension de ressource est un modèle versionné qui décrit comment une ressource doit être installée et configurée dans une ressource décrite par une définition de ressource.
Hiérarchie des types
ResourceExtension
Syntaxe
{
"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> }
}
}
Propriétés
Nom |
Type |
Obligatoire |
Valeur par défaut |
Description |
---|---|---|---|---|
SchemaVersion |
String |
Oui |
None |
Version du schéma d’extension de ressource. Doit toujours être défini sur 1.0. |
Nom |
String |
Oui |
None |
Nom de cette extension de ressource. |
Version |
String |
Oui |
None |
Version de l’extension de ressource. Le format de la version est : <majeur>.< mineure>.< build>.< mise en production>. Par exemple, 6.33.2.10. |
Serveur de publication |
String |
Non |
None |
Éditeur de l’extension de ressource. |
ExtensionType |
String |
Oui |
None |
Nom du contrat qui héberge cette extension de ressource. Identifie les ressources qui peuvent prendre en charge cette extension de ressource. Doit être défini sur Microsoft.Compute/EnterpiseApplicationExtension/1.0. |
DataPackage |
DataPackage |
Non |
null |
Emplacement de la charge utile utilisée par le package. |
ResourceExtensionParameters |
Tableau de paramètres et de types [SPFSDK][VMROLE] |
Non |
null |
Tableau de paramètres déclarés par l’extension de ressource. |
ResourceRequirements |
Non |
null |
Exigences que l’extension de ressource a dans sa ressource. |
|
ExtensionSettings |
Oui |
None |
Les applications et les configurations in-guest pour la machine virtuelle d’hébergement. |
DataPackage
Nom |
Type |
Obligatoire |
Valeur par défaut |
Description |
---|---|---|---|---|
Version |
String |
Oui |
None |
Version du package de données. Le format de la version est : <majeur>.< mineure>.< build>.< mise en production>. Par exemple, 6.33.2.10. |
Emplacement |
String |
Oui |
None |
Chemin relatif dans l’archive du package d’extension de ressource qui contient la charge utile d’extension. |
ExternalPayload |
Tableau de ExternalPayload |
Non |
None |
Fichier requis par l’extension de ressource qui n’est pas redistribué dans le cadre de l’archive du package d’extension de ressource. |
ExternalPayload
Nom |
Type |
Obligatoire |
Valeur par défaut |
Description |
---|---|---|---|---|
RelativePath |
String |
Oui |
None |
Chemin relatif dans le package d’extension de ressource que le fichier existe. |
Hachage |
String |
Non |
None |
Hachage SHA256 du fichier de charge utile externe. |
URLHint |
String |
Non |
None |
URL qui peut être utilisée pour télécharger le fichier de charge utile externe. |
Remarques
L’exemple de code suivant fournit un exemple d’objet 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
}
]
}
}
}
}
Voir aussi
Référence JSON du rôle de machine virtuelle [SPFSDK][VMROLE]
VirtualMachineRole (Instance) [SPFSDK][VMROLE]
ResourceDefinition [SPFSDK][VMROLE]
ResourceConfiguration [SPFSDK][VMROLE]
Paramètres et types [SPFSDK][VMROLE]
ResourceRequirements [SPFSDK][VMROLE]
ExtensionSettings [SPFSDK][VMROLE]