Share via


IntrinsicSettings [SPFSDK][VMROLE]

 

Applies To: Windows Azure Pack

The IntrinsicSettings object defines all of the settings for the virtual machines instances that are created by the virtual machine role (VM role). These settings include such information as the number of instances to be created, the hardware profile, the virtual hard disks (VHDs), network configuration, and configuration of the operating system. Most of these settings use parameters so that they can be provided by the user when they provision a new VM role.

Two simple sub-object types are included in this topic, which are described in the ScaleOutSettings and HardwareProfile sections.

Type Hierarchy

VirtualMachineRole (Instance) [SPFSDK][VMROLE].ResourceDefinition [SPFSDK][VMROLE].IntrinsicSettings

Syntax

{ 
    "ScaleOutSettings" : {
        "InitialInstanceCount" : <Number of initial instances>,
        "MaximumInstanceCount" : <Maximum amount of instances>, 
        "MinimumInstanceCount" : <Minimum amount of instances>,
        "UpgradeDomainCount" : <Number of upgrade domains>,
        },

    "HardwareProfile": { 
        "VMSize" : "<Platform specific VM size>"
    },

    "StorageProfile" : { <StorageProfile> },

    "NetworkProfile" : { <NetworkProfile> },

    "OSProfile" : { <OSProfile> }
}

Properties

Name

Type

Required

Default value

Description

ScaleOutSettings

Object

Yes

None

The settings to scale virtual machine instances for this VM role.

For more information, see the ScaleOutSettings section.

StorageProfile

StorageProfile [SPFSDK][VMROLE]

Yes

None

The VHD to use for the operating system and data hard drives on the virtual machine instances.

NetworkProfile

NetworkProfile [SPFSDK][VMROLE]

Yes

None

The network adapters to be attached to the virtual machine instances.

OSProfile

OperatingSystemProfile [SPFSDK][VMROLE]

No

null

The operating system settings that are used by the virtual machine instances.

These settings are used when the virtual machine is provisioned with the operating system VHD that is specified by the StorageProfile property.

ScaleOutSettings

Name

Type

Required

Default value

Description

InitialInstanceCount

Int

Yes

None

The initial number of virtual machines to provision for this VM role.

MaximumInstanceCount

Int

Yes

None

The maximum number of virtual machine instances for this VM role.

MinimumInstanceCount

Int

Yes

None

The minimum number of virtual machine instances for this VM role.

UpgradeDomainCount

Int

Yes

None

The number of upgrade domains.

HardwareProfile

Name

Type

Required

Default value

Description

VMSize

String

Yes

None

The specific virtual machine size. Possible values are:

  • XS

  • S

  • M

  • L

  • XL

Remarks

The following code example provides a sample IntrinsicSettings object.

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

    "HardwareProfile": { 
        "VMSize" : "L"
    },

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

See Also

ResourceDefinition [SPFSDK][VMROLE]
StorageProfile [SPFSDK][VMROLE]
NetworkProfile [SPFSDK][VMROLE]
OperatingSystemProfile [SPFSDK][VMROLE]
ResourceExtensionReference [SPFSDK][VMROLE]