def __init__(__self__, *, availability_domain_count: Optional[pulumi.Input[int]]=None, collocation: Optional[pulumi.Input['ResourcePolicyGroupPlacementPolicyCollocation']]=None, locality: Optional[pulumi.Input['ResourcePolicyGroupPlacementPolicyLocality']]=None, scope: Optional[pulumi.Input['ResourcePolicyGroupPlacementPolicyScope']]=None, style: Optional[pulumi.Input['ResourcePolicyGroupPlacementPolicyStyle']]=None, vm_count: Optional[pulumi.Input[int]]=None):
    "\n        A GroupPlacementPolicy specifies resource placement configuration. It specifies the failure bucket separation as well as network locality\n        :param pulumi.Input[int] availability_domain_count: The number of availability domains instances will be spread across. If two instances are in different availability domain, they will not be put in the same low latency network\n        :param pulumi.Input['ResourcePolicyGroupPlacementPolicyCollocation'] collocation: Specifies network collocation\n        :param pulumi.Input['ResourcePolicyGroupPlacementPolicyLocality'] locality: Specifies network locality\n        :param pulumi.Input['ResourcePolicyGroupPlacementPolicyScope'] scope: Scope specifies the availability domain to which the VMs should be spread.\n        :param pulumi.Input['ResourcePolicyGroupPlacementPolicyStyle'] style: Specifies instances to hosts placement relationship\n        :param pulumi.Input[int] vm_count: Number of vms in this placement group\n        "
    if (availability_domain_count is not None):
        pulumi.set(__self__, 'availability_domain_count', availability_domain_count)
    if (collocation is not None):
        pulumi.set(__self__, 'collocation', collocation)
    if (locality is not None):
        pulumi.set(__self__, 'locality', locality)
    if (scope is not None):
        pulumi.set(__self__, 'scope', scope)
    if (style is not None):
        pulumi.set(__self__, 'style', style)
    if (vm_count is not None):
        pulumi.set(__self__, 'vm_count', vm_count)
A GroupPlacementPolicy specifies resource placement configuration. It specifies the failure bucket separation as well as network locality
:param pulumi.Input[int] availability_domain_count: The number of availability domains instances will be spread across. If two instances are in different availability domain, they will not be put in the same low latency network
:param pulumi.Input['ResourcePolicyGroupPlacementPolicyCollocation'] collocation: Specifies network collocation
:param pulumi.Input['ResourcePolicyGroupPlacementPolicyLocality'] locality: Specifies network locality
:param pulumi.Input['ResourcePolicyGroupPlacementPolicyScope'] scope: Scope specifies the availability domain to which the VMs should be spread.
:param pulumi.Input['ResourcePolicyGroupPlacementPolicyStyle'] style: Specifies instances to hosts placement relationship
:param pulumi.Input[int] vm_count: Number of vms in this placement group
def __init__(__self__, *, availability_domain_count: Optional[pulumi.Input[int]]=None, collocation: Optional[pulumi.Input['ResourcePolicyGroupPlacementPolicyCollocation']]=None, locality: Optional[pulumi.Input['ResourcePolicyGroupPlacementPolicyLocality']]=None, scope: Optional[pulumi.Input['ResourcePolicyGroupPlacementPolicyScope']]=None, style: Optional[pulumi.Input['ResourcePolicyGroupPlacementPolicyStyle']]=None, vm_count: Optional[pulumi.Input[int]]=None):
    "\n        A GroupPlacementPolicy specifies resource placement configuration. It specifies the failure bucket separation as well as network locality\n        :param pulumi.Input[int] availability_domain_count: The number of availability domains instances will be spread across. If two instances are in different availability domain, they will not be put in the same low latency network\n        :param pulumi.Input['ResourcePolicyGroupPlacementPolicyCollocation'] collocation: Specifies network collocation\n        :param pulumi.Input['ResourcePolicyGroupPlacementPolicyLocality'] locality: Specifies network locality\n        :param pulumi.Input['ResourcePolicyGroupPlacementPolicyScope'] scope: Scope specifies the availability domain to which the VMs should be spread.\n        :param pulumi.Input['ResourcePolicyGroupPlacementPolicyStyle'] style: Specifies instances to hosts placement relationship\n        :param pulumi.Input[int] vm_count: Number of vms in this placement group\n        "
    if (availability_domain_count is not None):
        pulumi.set(__self__, 'availability_domain_count', availability_domain_count)
    if (collocation is not None):
        pulumi.set(__self__, 'collocation', collocation)
    if (locality is not None):
        pulumi.set(__self__, 'locality', locality)
    if (scope is not None):
        pulumi.set(__self__, 'scope', scope)
    if (style is not None):
        pulumi.set(__self__, 'style', style)
    if (vm_count is not None):
        pulumi.set(__self__, 'vm_count', vm_count)