Compartilhar via


Parâmetros e tipos [SPFSDK][VMROLE]

 

Aplica-se a: Windows Azure Pack

Os parâmetros são usados por várias propriedades de objeto. Os parâmetros são descritos por um nome, um tipo especificado e uma descrição útil. Para usar um parâmetro em uma propriedade, use a sintaxe [param.parameter_name ]. O valor do parâmetro identificado é usado quando o objeto é lido ou executado, o que depende de seu contexto.

Parâmetro

Geralmente, há três partes em um parâmetro. Primeiro, o parâmetro é declarado em algum lugar, como em um objeto ResourceDefinition [SPFSDK][VMROLE] ou um objeto ResourceExtension [SPFSDK][VMROLE] . Em segundo lugar, os valores de um parâmetro são fornecidos externamente da declaração, como ResourceConfiguration [SPFSDK][VMROLE]. Por fim, um parâmetro é usado por outra propriedade de objeto.

Declaração

Sintaxe

{
    "Name": "Name of the parameter",
    "Type": "Type of parameter ",
    "Description": "Description for the parameter"
}

Propriedades

Nome

Tipo

Obrigatório

Valor padrão

Descrição

Nome

String

Sim

Nenhum

O nome do parâmetro.

Type

String

Sim

Nenhum

O tipo do parâmetro. A seção Tipos de Parâmetro descreve os tipos de parâmetro disponíveis.

Descrição

String

Não

nulo

O nome do editor dessa extensão de recurso.

Uso

O exemplo de código a seguir demonstra como declarar um parâmetro em um objeto ResourceExtension [SPFSDK][VMROLE] para conter o nome de uma instância de Microsoft SQL Server.

{
    ... other properties ...

    "ResourceExtensionParameters": [
        {
            "Name": "SQLInstance",
            "Type": "string",
            "Description": "The name of the SQL Server instance."
        }
    ],

    ... other properties ...
}

Em todo o modelo de objeto ResourceExtension [SPFSDK][VMROLE] , um parâmetro pode ser referenciado. Para fazer referência a um parâmetro, use uma sintaxe de identificador especial: [param.parameter_name]. O exemplo a seguir mostra como um ResourceExtension [SPFSDK][VMROLE]. ExtensionSettings [SPFSDK][VMROLE]. ApplicationProfile.WindowsApplicationProfile [SPFSDK][VMROLE]. SQLProfile [SPFSDK][VMROLE]. O objeto SQLDeployment usa o parâmetro anterior.

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

Agora que a extensão de recurso está configurada, você pode fornecer um valor para o parâmetro por meio do VirtualMachineRole. Propriedade ParameterValues do objeto ResourceConfiguration [SPFSDK][VMROLE].

{
    "Version" : "1.0.0.0",

    "ParameterValues" : "{    
                \"SQLInstance\" : \"HomeSQLServer\"
    }"
}

Tipos de parâmetro

As seções a seguir representam os tipos de parâmetro disponíveis:

  • String

  • int

  • Boolean

  • Credencial

  • SecureString

String

  • Valor
    Qualquer valor de cadeia de caracteres.

  • Exemplo de declaração

    "ResourceParameters" : [ 
        {
            "Name" : "ComputerNamePattern",
            "Type" : "String",
            "Description" : "Computer Name Pattern"
        }
    ]
    
  • Exemplo de configuração

    "ParameterValues" : "{
        \"ComputerNamePattern\" : \"web-###\"
    }"
    

int

  • Valor
    Qualquer valor inteiro.

  • Exemplo de declaração

    "ResourceParameters" : [ 
        {
            "Name" : "DefaultInstanceCount",
            "Type" : "Int",
            "Description" : "Default number of instances"
        }
    ]
    
  • Exemplo de configuração

    "ParameterValues" : "{
        \"DefaultInstanceCount\" : 5
    }"
    

Boolean

  • Valor
    true ou false.

  • Exemplo de declaração

    "ResourceParameters" : [ 
        {
            "Name" : "EnableTCP",
            "Type" : "Boolean",
            "Description" : "When True, enables TCP"
        }
    ]
    
  • Exemplo de configuração

    "ParameterValues" : "{
        \"EnableTCP\" : false
    }"
    

Credencial

  • Valor
    Uma combinação de nome de usuário e senha no formato user:password .

  • Exemplo de declaração

    "ResourceParameters" : [ 
        {
            "Name" : "JoinDomainCreds",
            "Type" : "Credential",
            "Description" : "The credentials to join the domain",
        }
    ]
    
  • Exemplo de configuração

    ParameterValues Example
    "ParameterValues" : "{
        \"JoinDomainCreds\" : \"myuser:mypassword\"
    }"
    

SecureString

  • Valor
    Qualquer valor de cadeia de caracteres. Se GET, retorna o valor da cadeia de caracteres de __**__.

  • Exemplo de declaração

    "ResourceParameters" : [ 
        {
            "Name" : "CreditCard",
            "Type" : "SecureString",
            "Description" : "Credit card number",
        }
    ]
    
  • Exemplo de configuração

    "ParameterValues" : "{
        \"CreditCard\" : \"0000-0000-0000-0000\"
    }"
    

Consulte Também

Referência JSON da função VM [SPFSDK][VMROLE]
ResourceDefinition [SPFSDK][VMROLE]
ResourceConfiguration [SPFSDK][VMROLE]