ResourceDefinition [SPFSDK][VMROLE]

 

适用于:Windows Azure Pack

资源定义是 VM 角色的模板,通过库项提供给租户。 该模板包括硬件、网络、操作系统和应用程序配置的配置,以及从租户收集特定信息所需的用户界面。 资源定义基于私有云中的一致模型,但可以根据需要在每个平台上支持 VM 角色部署所需的特定于平台的硬件和网络元素。

类型层次结构

VirtualMachineRole (实例) [SPFSDK][VMROLE]。ResourceDefinition

语法

{
    "Name" : "Name of the resource definition",
    "Version" : "Version of the resource definition",
    "Publisher" : "Publisher of resource definition",

    "SchemaVersion" : "1.0",
    "Type" : "Microsoft.Compute/VMRole/1.0",

    "ResourceParameters" : [
        { <ResourceParameters> }
    ],

    "ResourceExtensionReferences" : [ 
        { <ResourceExtensionReferences> }
    ],

    "IntrinsicSettings" : { <IntrinsicSettings> }
}

属性

名称

类型

必须

默认值

说明

名称

String

nulll

此资源定义的名称。

版本

String

此资源定义的版本。 版本的格式为: <主要>版本。<minor>。<build>。<release>。 例如,6.33.2.10。

Publisher

字符串

Null

此资源定义的发布者名称。

schemaVersion

字符串

1.0.0.0

必须声明此属性,并且此属性的值始终为 1.0

类型

字符串

MicrosoftCompute/VMRole

必须声明此属性。 此属性的值始终为 Microsoft.Compute/VMRole/1.0

ResourceParameters

参数和类型的数组 [SPFSDK][VMROLE]

Null

由资源定义声明的参数数组。

ResourceExtensionReferences

ResourceExtensionReference [SPFSDK][VMROLE] 的数组

Null

资源扩展引用的数组。

IntrinsicSettings

IntrinsicSettings [SPFSDK][VMROLE]

从 VM 角色创建虚拟机时设置。

备注

下面的代码示例提供了一个示例 ResourceDefinition 对象。

{
    "Name" : "MyResource",

    "ResourceConfiguration" : {
        "Version" : "1.0.0.0",

        "ParameterValues" : "{    
                \"MyParameter1\" : \"Value1\",
                \"MyParameter2\" : \"Value2\"
        }"
    },

    "ResourceDefinition" : {
        "Name" : "Name of the resource definition",
        "Version" : "Version of the resource definition",
        "Publisher" : "Publisher of resource definition",

        "Type" : "MicrosoftCompute/VMRole/1.0",

        "SchemaVersion" : "1.0",

        "ResourceParameters" : [
            {
                "Name" : "SQLDeploymentCredential",
                "Type" : "Credential",
                "Description" : "Parameter Description"
            }
        ],

        "ResourceExtensionReferences" : [
            { 
                "ReferenceName" : "MyExtensionReference",

                "Name" : "NameOfImportedResourceExtension",
                "Version" : "1.0.0.0",  
                "Publisher" : "Publisher Name"

                "ResourceExtensionParameterValues" : "{
                        \"SQLInstance\" : \"[Param.MyParameter1]\",
                        \"MyParameter\" : \"MyParameterValue\"
                }"
            }
        ],

        "IntrinsicSettings" : {
            "ScaleOutSettings" : {
                "InitialInstanceCount" : "1",
                "MaximumInstanceCount" : "5", 
                "MinimumInstanceCount" : "1",
                "UpgradeDomainCount" : "2"
            },

            "HardwareProfile": { 
                "VMSize" : "<platform-specific-size-value>"
            },

            "StorageProfile": {
                "OSVirtualHardDiskImage" : "OSVHDImageName:1.0.0.0",

                "DataVirtualHardDisk" : [
                    {
                        "DataVirtualHardDiskImage" : "DataVHDName:1.0.0.0",
                        "Lun" : 0
                    }
                ]
            },

            "NetworkProfile": { 
                "NetworkAdapters" : [
                    {
                        "Name" : "myNic1",
                        "NetworkRef" : "External",

                        "IPAddresses" : [
                            {
                                "Type" : "IPv4 | IPv6",
                                "AllocationMethod" : "Static | Dynamic",

                                "IPAddressConfigurations" : [
                                    {
                                        "ConfigurationName" : "MyIPConfiguration",

                                        "LoadBalancerConfigurations" : [ 
                                            { 
                                                "ConfigurationName" : "MyLBConfiguration", 
                                                "FrontEndNetwork" : "internet",

                                                "PortConfig" : { 
                                                    "Name" : "MyPortConfig",
                                                    "Protocol" : "UDP",
                                                    "FrontEndPort" : 80,
                                                    "BackEndPort" : 8080
                                                },

                                                "Probe": {
                                                    "MaxRetryCount" : 5,
                                                    "Port" : 8080,
                                                    "ProbeIntervalInSeconds" : 20,
                                                    "Protocol" : "HTTP",
                                                    "RequestPath" : "http://myrequest/" 
                                                }
                                            }
                                        ] 
                                    }
                                ] 
                            }  
                        ] 
                    }
                ]
            },

            "OperatingSystemProfile" : {
                "ComputerNamePattern" : "MyComputer###",
                "TimeZone" : "Pacific Standard Time",
                "AdminCredential" : "username:password",

                "WindowsOperatingSystemProfile" : {
                    "WorkgroupName" : "workgroup",   
                    "DomainJoin" : {
                        "DomainToJoin" : "Redmond",
                        "DomainJoinCredentials" : "domain\\user:pwd"
                    }
                },

                "LinuxOperatingSystemProfile" : {
                    "DNSDomainName" : "Redmond",
                    "SSHPublicKey" : "f3:31:a8:c6:82:18:c8:0f:dd:6b:fb:27:98:83:3d:3b"
                }
            } 
        }
    }
}

另请参阅

VM 角色 JSON 参考 [SPFSDK][VMROLE]
VirtualMachineRole (实例) [SPFSDK][VMROLE]
ResourceExtension [SPFSDK][VMROLE]
ResourceConfiguration [SPFSDK][VMROLE]
参数和类型 [SPFSDK][VMROLE]
ResourceExtensionReference [SPFSDK][VMROLE]
IntrinsicSettings [SPFSDK][VMROLE]