azure-native.avs.PlacementPolicy

Explore with Pulumi AI

A vSphere Distributed Resource Scheduler (DRS) placement policy API Version: 2021-12-01.

Example Usage

PlacementPolicies_CreateOrUpdate

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var placementPolicy = new AzureNative.AVS.PlacementPolicy("placementPolicy", new()
    {
        ClusterName = "cluster1",
        PlacementPolicyName = "policy1",
        PrivateCloudName = "cloud1",
        Properties = new AzureNative.AVS.Inputs.VmHostPlacementPolicyPropertiesArgs
        {
            AffinityType = "AntiAffinity",
            HostMembers = new[]
            {
                "fakehost22.nyc1.kubernetes.center",
                "fakehost23.nyc1.kubernetes.center",
                "fakehost24.nyc1.kubernetes.center",
            },
            Type = "VmHost",
            VmMembers = new[]
            {
                "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-128",
                "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-256",
            },
        },
        ResourceGroupName = "group1",
    });

});
package main

import (
	avs "github.com/pulumi/pulumi-azure-native-sdk/avs"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := avs.NewPlacementPolicy(ctx, "placementPolicy", &avs.PlacementPolicyArgs{
			ClusterName:         pulumi.String("cluster1"),
			PlacementPolicyName: pulumi.String("policy1"),
			PrivateCloudName:    pulumi.String("cloud1"),
			Properties: avs.VmHostPlacementPolicyProperties{
				AffinityType: "AntiAffinity",
				HostMembers: []string{
					"fakehost22.nyc1.kubernetes.center",
					"fakehost23.nyc1.kubernetes.center",
					"fakehost24.nyc1.kubernetes.center",
				},
				Type: "VmHost",
				VmMembers: []string{
					"/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-128",
					"/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-256",
				},
			},
			ResourceGroupName: pulumi.String("group1"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.avs.PlacementPolicy;
import com.pulumi.azurenative.avs.PlacementPolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var placementPolicy = new PlacementPolicy("placementPolicy", PlacementPolicyArgs.builder()        
            .clusterName("cluster1")
            .placementPolicyName("policy1")
            .privateCloudName("cloud1")
            .properties(Map.ofEntries(
                Map.entry("affinityType", "AntiAffinity"),
                Map.entry("hostMembers",                 
                    "fakehost22.nyc1.kubernetes.center",
                    "fakehost23.nyc1.kubernetes.center",
                    "fakehost24.nyc1.kubernetes.center"),
                Map.entry("type", "VmHost"),
                Map.entry("vmMembers",                 
                    "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-128",
                    "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-256")
            ))
            .resourceGroupName("group1")
            .build());

    }
}
import pulumi
import pulumi_azure_native as azure_native

placement_policy = azure_native.avs.PlacementPolicy("placementPolicy",
    cluster_name="cluster1",
    placement_policy_name="policy1",
    private_cloud_name="cloud1",
    properties=azure_native.avs.VmHostPlacementPolicyPropertiesArgs(
        affinity_type="AntiAffinity",
        host_members=[
            "fakehost22.nyc1.kubernetes.center",
            "fakehost23.nyc1.kubernetes.center",
            "fakehost24.nyc1.kubernetes.center",
        ],
        type="VmHost",
        vm_members=[
            "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-128",
            "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-256",
        ],
    ),
    resource_group_name="group1")
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const placementPolicy = new azure_native.avs.PlacementPolicy("placementPolicy", {
    clusterName: "cluster1",
    placementPolicyName: "policy1",
    privateCloudName: "cloud1",
    properties: {
        affinityType: "AntiAffinity",
        hostMembers: [
            "fakehost22.nyc1.kubernetes.center",
            "fakehost23.nyc1.kubernetes.center",
            "fakehost24.nyc1.kubernetes.center",
        ],
        type: "VmHost",
        vmMembers: [
            "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-128",
            "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-256",
        ],
    },
    resourceGroupName: "group1",
});
resources:
  placementPolicy:
    type: azure-native:avs:PlacementPolicy
    properties:
      clusterName: cluster1
      placementPolicyName: policy1
      privateCloudName: cloud1
      properties:
        affinityType: AntiAffinity
        hostMembers:
          - fakehost22.nyc1.kubernetes.center
          - fakehost23.nyc1.kubernetes.center
          - fakehost24.nyc1.kubernetes.center
        type: VmHost
        vmMembers:
          - /subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-128
          - /subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-256
      resourceGroupName: group1

Create PlacementPolicy Resource

new PlacementPolicy(name: string, args: PlacementPolicyArgs, opts?: CustomResourceOptions);
@overload
def PlacementPolicy(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    cluster_name: Optional[str] = None,
                    placement_policy_name: Optional[str] = None,
                    private_cloud_name: Optional[str] = None,
                    properties: Optional[Union[VmHostPlacementPolicyPropertiesArgs, VmVmPlacementPolicyPropertiesArgs]] = None,
                    resource_group_name: Optional[str] = None)
@overload
def PlacementPolicy(resource_name: str,
                    args: PlacementPolicyArgs,
                    opts: Optional[ResourceOptions] = None)
func NewPlacementPolicy(ctx *Context, name string, args PlacementPolicyArgs, opts ...ResourceOption) (*PlacementPolicy, error)
public PlacementPolicy(string name, PlacementPolicyArgs args, CustomResourceOptions? opts = null)
public PlacementPolicy(String name, PlacementPolicyArgs args)
public PlacementPolicy(String name, PlacementPolicyArgs args, CustomResourceOptions options)
type: azure-native:avs:PlacementPolicy
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args PlacementPolicyArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args PlacementPolicyArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args PlacementPolicyArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args PlacementPolicyArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args PlacementPolicyArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

PlacementPolicy Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The PlacementPolicy resource accepts the following input properties:

ClusterName string

Name of the cluster in the private cloud

PrivateCloudName string

Name of the private cloud

ResourceGroupName string

The name of the resource group. The name is case insensitive.

PlacementPolicyName string

Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy

Properties Pulumi.AzureNative.AVS.Inputs.VmHostPlacementPolicyPropertiesArgs | Pulumi.AzureNative.AVS.Inputs.VmVmPlacementPolicyPropertiesArgs

placement policy properties

ClusterName string

Name of the cluster in the private cloud

PrivateCloudName string

Name of the private cloud

ResourceGroupName string

The name of the resource group. The name is case insensitive.

PlacementPolicyName string

Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy

Properties VmHostPlacementPolicyPropertiesArgs | VmVmPlacementPolicyPropertiesArgs

placement policy properties

clusterName String

Name of the cluster in the private cloud

privateCloudName String

Name of the private cloud

resourceGroupName String

The name of the resource group. The name is case insensitive.

placementPolicyName String

Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy

properties VmHostPlacementPolicyPropertiesArgs | VmVmPlacementPolicyPropertiesArgs

placement policy properties

clusterName string

Name of the cluster in the private cloud

privateCloudName string

Name of the private cloud

resourceGroupName string

The name of the resource group. The name is case insensitive.

placementPolicyName string

Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy

properties VmHostPlacementPolicyPropertiesArgs | VmVmPlacementPolicyPropertiesArgs

placement policy properties

cluster_name str

Name of the cluster in the private cloud

private_cloud_name str

Name of the private cloud

resource_group_name str

The name of the resource group. The name is case insensitive.

placement_policy_name str

Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy

properties VmHostPlacementPolicyPropertiesArgs | VmVmPlacementPolicyPropertiesArgs

placement policy properties

clusterName String

Name of the cluster in the private cloud

privateCloudName String

Name of the private cloud

resourceGroupName String

The name of the resource group. The name is case insensitive.

placementPolicyName String

Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy

properties Property Map | Property Map

placement policy properties

Outputs

All input properties are implicitly available as output properties. Additionally, the PlacementPolicy resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

Name string

Resource name.

Type string

Resource type.

Id string

The provider-assigned unique ID for this managed resource.

Name string

Resource name.

Type string

Resource type.

id String

The provider-assigned unique ID for this managed resource.

name String

Resource name.

type String

Resource type.

id string

The provider-assigned unique ID for this managed resource.

name string

Resource name.

type string

Resource type.

id str

The provider-assigned unique ID for this managed resource.

name str

Resource name.

type str

Resource type.

id String

The provider-assigned unique ID for this managed resource.

name String

Resource name.

type String

Resource type.

Supporting Types

AffinityType

Affinity
Affinity
AntiAffinity
AntiAffinity
AffinityTypeAffinity
Affinity
AffinityTypeAntiAffinity
AntiAffinity
Affinity
Affinity
AntiAffinity
AntiAffinity
Affinity
Affinity
AntiAffinity
AntiAffinity
AFFINITY
Affinity
ANTI_AFFINITY
AntiAffinity
"Affinity"
Affinity
"AntiAffinity"
AntiAffinity

PlacementPolicyState

Enabled
Enabled
Disabled
Disabled
PlacementPolicyStateEnabled
Enabled
PlacementPolicyStateDisabled
Disabled
Enabled
Enabled
Disabled
Disabled
Enabled
Enabled
Disabled
Disabled
ENABLED
Enabled
DISABLED
Disabled
"Enabled"
Enabled
"Disabled"
Disabled

VmHostPlacementPolicyProperties

AffinityType string | Pulumi.AzureNative.AVS.AffinityType

placement policy affinity type

HostMembers List<string>

Host members list

VmMembers List<string>

Virtual machine members list

DisplayName string

Display name of the placement policy

State string | Pulumi.AzureNative.AVS.PlacementPolicyState

Whether the placement policy is enabled or disabled

AffinityType string | AffinityType

placement policy affinity type

HostMembers []string

Host members list

VmMembers []string

Virtual machine members list

DisplayName string

Display name of the placement policy

State string | PlacementPolicyStateEnum

Whether the placement policy is enabled or disabled

affinityType String | AffinityType

placement policy affinity type

hostMembers List<String>

Host members list

vmMembers List<String>

Virtual machine members list

displayName String

Display name of the placement policy

state String | PlacementPolicyState

Whether the placement policy is enabled or disabled

affinityType string | AffinityType

placement policy affinity type

hostMembers string[]

Host members list

vmMembers string[]

Virtual machine members list

displayName string

Display name of the placement policy

state string | PlacementPolicyState

Whether the placement policy is enabled or disabled

affinity_type str | AffinityType

placement policy affinity type

host_members Sequence[str]

Host members list

vm_members Sequence[str]

Virtual machine members list

display_name str

Display name of the placement policy

state str | PlacementPolicyState

Whether the placement policy is enabled or disabled

affinityType String | "Affinity" | "AntiAffinity"

placement policy affinity type

hostMembers List<String>

Host members list

vmMembers List<String>

Virtual machine members list

displayName String

Display name of the placement policy

state String | "Enabled" | "Disabled"

Whether the placement policy is enabled or disabled

VmHostPlacementPolicyPropertiesResponse

AffinityType string

placement policy affinity type

HostMembers List<string>

Host members list

ProvisioningState string

The provisioning state

VmMembers List<string>

Virtual machine members list

DisplayName string

Display name of the placement policy

State string

Whether the placement policy is enabled or disabled

AffinityType string

placement policy affinity type

HostMembers []string

Host members list

ProvisioningState string

The provisioning state

VmMembers []string

Virtual machine members list

DisplayName string

Display name of the placement policy

State string

Whether the placement policy is enabled or disabled

affinityType String

placement policy affinity type

hostMembers List<String>

Host members list

provisioningState String

The provisioning state

vmMembers List<String>

Virtual machine members list

displayName String

Display name of the placement policy

state String

Whether the placement policy is enabled or disabled

affinityType string

placement policy affinity type

hostMembers string[]

Host members list

provisioningState string

The provisioning state

vmMembers string[]

Virtual machine members list

displayName string

Display name of the placement policy

state string

Whether the placement policy is enabled or disabled

affinity_type str

placement policy affinity type

host_members Sequence[str]

Host members list

provisioning_state str

The provisioning state

vm_members Sequence[str]

Virtual machine members list

display_name str

Display name of the placement policy

state str

Whether the placement policy is enabled or disabled

affinityType String

placement policy affinity type

hostMembers List<String>

Host members list

provisioningState String

The provisioning state

vmMembers List<String>

Virtual machine members list

displayName String

Display name of the placement policy

state String

Whether the placement policy is enabled or disabled

VmVmPlacementPolicyProperties

AffinityType string | Pulumi.AzureNative.AVS.AffinityType

placement policy affinity type

VmMembers List<string>

Virtual machine members list

DisplayName string

Display name of the placement policy

State string | Pulumi.AzureNative.AVS.PlacementPolicyState

Whether the placement policy is enabled or disabled

AffinityType string | AffinityType

placement policy affinity type

VmMembers []string

Virtual machine members list

DisplayName string

Display name of the placement policy

State string | PlacementPolicyStateEnum

Whether the placement policy is enabled or disabled

affinityType String | AffinityType

placement policy affinity type

vmMembers List<String>

Virtual machine members list

displayName String

Display name of the placement policy

state String | PlacementPolicyState

Whether the placement policy is enabled or disabled

affinityType string | AffinityType

placement policy affinity type

vmMembers string[]

Virtual machine members list

displayName string

Display name of the placement policy

state string | PlacementPolicyState

Whether the placement policy is enabled or disabled

affinity_type str | AffinityType

placement policy affinity type

vm_members Sequence[str]

Virtual machine members list

display_name str

Display name of the placement policy

state str | PlacementPolicyState

Whether the placement policy is enabled or disabled

affinityType String | "Affinity" | "AntiAffinity"

placement policy affinity type

vmMembers List<String>

Virtual machine members list

displayName String

Display name of the placement policy

state String | "Enabled" | "Disabled"

Whether the placement policy is enabled or disabled

VmVmPlacementPolicyPropertiesResponse

AffinityType string

placement policy affinity type

ProvisioningState string

The provisioning state

VmMembers List<string>

Virtual machine members list

DisplayName string

Display name of the placement policy

State string

Whether the placement policy is enabled or disabled

AffinityType string

placement policy affinity type

ProvisioningState string

The provisioning state

VmMembers []string

Virtual machine members list

DisplayName string

Display name of the placement policy

State string

Whether the placement policy is enabled or disabled

affinityType String

placement policy affinity type

provisioningState String

The provisioning state

vmMembers List<String>

Virtual machine members list

displayName String

Display name of the placement policy

state String

Whether the placement policy is enabled or disabled

affinityType string

placement policy affinity type

provisioningState string

The provisioning state

vmMembers string[]

Virtual machine members list

displayName string

Display name of the placement policy

state string

Whether the placement policy is enabled or disabled

affinity_type str

placement policy affinity type

provisioning_state str

The provisioning state

vm_members Sequence[str]

Virtual machine members list

display_name str

Display name of the placement policy

state str

Whether the placement policy is enabled or disabled

affinityType String

placement policy affinity type

provisioningState String

The provisioning state

vmMembers List<String>

Virtual machine members list

displayName String

Display name of the placement policy

state String

Whether the placement policy is enabled or disabled

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:avs:PlacementPolicy policy1 /subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/placementPolicies/policy1 

Package Details

Repository
Azure Native pulumi/pulumi-azure-native
License
Apache-2.0