参数和类型 [SPFSDK][VMROLE]
适用于:Windows Azure Pack
参数由各种对象属性使用。 参数按名称、指定类型和有用的说明进行描述。 若要对属性使用参数,请使用 [param.parameter_name] 语法。 读取或运行对象时,将使用标识参数的值,具体取决于其上下文。
参数
参数通常有三个部分。 首先,参数在某个位置声明,如 ResourceDefinition [SPFSDK][VMROLE] 对象或 ResourceExtension [SPFSDK][VMROLE] 对象一样。 其次,参数的值是从声明外部提供的,例如 ResourceConfiguration [SPFSDK][VMROLE]。 最后,另一个对象属性使用参数。
声明
语法
{
"Name": "Name of the parameter",
"Type": "Type of parameter ",
"Description": "Description for the parameter"
}
属性
名称 |
类型 |
必须 |
默认值 |
说明 |
---|---|---|---|---|
名称 |
String |
是 |
无 |
参数的名称。 |
类型 |
字符串 |
是 |
无 |
参数的类型。 “参数类型”部分描述了可用的参数类型。 |
说明 |
字符串 |
否 |
Null |
此资源扩展的发布者名称。 |
使用情况
下面的代码示例演示如何在 ResourceExtension [SPFSDK][VMROLE] 对象中声明参数,以保存Microsoft SQL Server实例的名称。
{
... other properties ...
"ResourceExtensionParameters": [
{
"Name": "SQLInstance",
"Type": "string",
"Description": "The name of the SQL Server instance."
}
],
... other properties ...
}
在 ResourceExtension [SPFSDK][VMROLE] 对象模型中,可以引用参数。 若要引用参数,请使用特殊的标识符语法: [param.parameter_name]。 以下示例演示如何使用 ResourceExtension [SPFSDK][VMROLE]。ExtensionSettings [SPFSDK][VMROLE].ApplicationProfile.WindowsApplicationProfile [SPFSDK][VMROLE].SQLProfile [SPFSDK][VMROLE].SQLDeployment 对象使用上一个参数。
{
"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"
}
]
}
配置资源扩展后,可以通过 VirtualMachineRole 为参数提供值。ResourceConfiguration [SPFSDK][VMROLE] 对象的 ParameterValues 属性。
{
"Version" : "1.0.0.0",
"ParameterValues" : "{
\"SQLInstance\" : \"HomeSQLServer\"
}"
}
参数类型
以下部分表示可用的参数类型:
字符串
int
Boolean
凭据
SecureString
字符串
值
任何字符串值。声明示例
"ResourceParameters" : [ { "Name" : "ComputerNamePattern", "Type" : "String", "Description" : "Computer Name Pattern" } ]
配置示例
"ParameterValues" : "{ \"ComputerNamePattern\" : \"web-###\" }"
int
值
任何整数值。声明示例
"ResourceParameters" : [ { "Name" : "DefaultInstanceCount", "Type" : "Int", "Description" : "Default number of instances" } ]
配置示例
"ParameterValues" : "{ \"DefaultInstanceCount\" : 5 }"
Boolean
值
true 或 false。声明示例
"ResourceParameters" : [ { "Name" : "EnableTCP", "Type" : "Boolean", "Description" : "When True, enables TCP" } ]
配置示例
"ParameterValues" : "{ \"EnableTCP\" : false }"
凭据
值
user:password 格式的用户名和密码组合。声明示例
"ResourceParameters" : [ { "Name" : "JoinDomainCreds", "Type" : "Credential", "Description" : "The credentials to join the domain", } ]
配置示例
ParameterValues Example "ParameterValues" : "{ \"JoinDomainCreds\" : \"myuser:mypassword\" }"
SecureString
值
任何字符串值。 如果 GET,则返回 __**__的字符串值。声明示例
"ResourceParameters" : [ { "Name" : "CreditCard", "Type" : "SecureString", "Description" : "Credit card number", } ]
配置示例
"ParameterValues" : "{ \"CreditCard\" : \"0000-0000-0000-0000\" }"
另请参阅
VM 角色 JSON 参考 [SPFSDK][VMROLE]
ResourceDefinition [SPFSDK][VMROLE]
ResourceConfiguration [SPFSDK][VMROLE]