参数和类型 [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


  • truefalse

  • 声明示例

    "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]