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
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new PlacementPolicy(name: string, args: PlacementPolicyArgs, opts?: CustomResourceOptions);
@overload
def PlacementPolicy(resource_name: str,
args: PlacementPolicyArgs,
opts: Optional[ResourceOptions] = None)
@overload
def PlacementPolicy(resource_name: str,
opts: Optional[ResourceOptions] = None,
cluster_name: Optional[str] = None,
private_cloud_name: Optional[str] = None,
resource_group_name: Optional[str] = None,
placement_policy_name: Optional[str] = None,
properties: Optional[Union[VmHostPlacementPolicyPropertiesArgs, VmVmPlacementPolicyPropertiesArgs]] = 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.
Parameters
- 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.
Constructor example
The following reference example uses placeholder values for all input properties.
var placementPolicyResource = new AzureNative.Avs.PlacementPolicy("placementPolicyResource", new()
{
ClusterName = "string",
PrivateCloudName = "string",
ResourceGroupName = "string",
PlacementPolicyName = "string",
Properties =
{
{ "affinityType", "string" },
{ "hostMembers", new[]
{
"string",
} },
{ "type", "VmHost" },
{ "vmMembers", new[]
{
"string",
} },
{ "displayName", "string" },
{ "state", "string" },
},
});
example, err := avs.NewPlacementPolicy(ctx, "placementPolicyResource", &avs.PlacementPolicyArgs{
ClusterName: "string",
PrivateCloudName: "string",
ResourceGroupName: "string",
PlacementPolicyName: "string",
Properties: map[string]interface{}{
"affinityType": "string",
"hostMembers": []string{
"string",
},
"type": "VmHost",
"vmMembers": []string{
"string",
},
"displayName": "string",
"state": "string",
},
})
var placementPolicyResource = new PlacementPolicy("placementPolicyResource", PlacementPolicyArgs.builder()
.clusterName("string")
.privateCloudName("string")
.resourceGroupName("string")
.placementPolicyName("string")
.properties(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.build());
placement_policy_resource = azure_native.avs.PlacementPolicy("placementPolicyResource",
cluster_name=string,
private_cloud_name=string,
resource_group_name=string,
placement_policy_name=string,
properties={
affinityType: string,
hostMembers: [string],
type: VmHost,
vmMembers: [string],
displayName: string,
state: string,
})
const placementPolicyResource = new azure_native.avs.PlacementPolicy("placementPolicyResource", {
clusterName: "string",
privateCloudName: "string",
resourceGroupName: "string",
placementPolicyName: "string",
properties: {
affinityType: "string",
hostMembers: ["string"],
type: "VmHost",
vmMembers: ["string"],
displayName: "string",
state: "string",
},
});
type: azure-native:avs:PlacementPolicy
properties:
clusterName: string
placementPolicyName: string
privateCloudName: string
properties:
affinityType: string
displayName: string
hostMembers:
- string
state: string
type: VmHost
vmMembers:
- string
resourceGroupName: string
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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The PlacementPolicy resource accepts the following input properties:
- Cluster
Name string - Name of the cluster in the private cloud
- Private
Cloud stringName - Name of the private cloud
- Resource
Group stringName - The name of the resource group. The name is case insensitive.
- Placement
Policy stringName - Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy
- Properties
Pulumi.
Azure | Pulumi.Native. AVS. Inputs. Vm Host Placement Policy Properties Azure Native. AVS. Inputs. Vm Vm Placement Policy Properties - placement policy properties
- Cluster
Name string - Name of the cluster in the private cloud
- Private
Cloud stringName - Name of the private cloud
- Resource
Group stringName - The name of the resource group. The name is case insensitive.
- Placement
Policy stringName - Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy
- Properties
Vm
Host | VmPlacement Policy Properties Args Vm Placement Policy Properties Args - placement policy properties
- cluster
Name String - Name of the cluster in the private cloud
- private
Cloud StringName - Name of the private cloud
- resource
Group StringName - The name of the resource group. The name is case insensitive.
- placement
Policy StringName - Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy
- properties
Vm
Host | VmPlacement Policy Properties Vm Placement Policy Properties - placement policy properties
- cluster
Name string - Name of the cluster in the private cloud
- private
Cloud stringName - Name of the private cloud
- resource
Group stringName - The name of the resource group. The name is case insensitive.
- placement
Policy stringName - Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy
- properties
Vm
Host | VmPlacement Policy Properties Vm Placement Policy Properties - placement policy properties
- cluster_
name str - Name of the cluster in the private cloud
- private_
cloud_ strname - Name of the private cloud
- resource_
group_ strname - The name of the resource group. The name is case insensitive.
- placement_
policy_ strname - Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy
- properties
Vm
Host | VmPlacement Policy Properties Args Vm Placement Policy Properties Args - placement policy properties
- cluster
Name String - Name of the cluster in the private cloud
- private
Cloud StringName - Name of the private cloud
- resource
Group StringName - The name of the resource group. The name is case insensitive.
- placement
Policy StringName - 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:
Supporting Types
AffinityType, AffinityTypeArgs
- Affinity
- Affinity
- Anti
Affinity - AntiAffinity
- Affinity
Type Affinity - Affinity
- Affinity
Type Anti Affinity - AntiAffinity
- Affinity
- Affinity
- Anti
Affinity - AntiAffinity
- Affinity
- Affinity
- Anti
Affinity - AntiAffinity
- AFFINITY
- Affinity
- ANTI_AFFINITY
- AntiAffinity
- "Affinity"
- Affinity
- "Anti
Affinity" - AntiAffinity
PlacementPolicyState, PlacementPolicyStateArgs
- Enabled
- Enabled
- Disabled
- Disabled
- Placement
Policy State Enabled - Enabled
- Placement
Policy State Disabled - Disabled
- Enabled
- Enabled
- Disabled
- Disabled
- Enabled
- Enabled
- Disabled
- Disabled
- ENABLED
- Enabled
- DISABLED
- Disabled
- "Enabled"
- Enabled
- "Disabled"
- Disabled
VmHostPlacementPolicyProperties, VmHostPlacementPolicyPropertiesArgs
- Affinity
Type string | Pulumi.Azure Native. AVS. Affinity Type - placement policy affinity type
- Host
Members List<string> - Host members list
- Vm
Members List<string> - Virtual machine members list
- Display
Name string - Display name of the placement policy
- State
string | Pulumi.
Azure Native. AVS. Placement Policy State - Whether the placement policy is enabled or disabled
- Affinity
Type string | AffinityType - placement policy affinity type
- Host
Members []string - Host members list
- Vm
Members []string - Virtual machine members list
- Display
Name string - Display name of the placement policy
- State
string | Placement
Policy State Enum - Whether the placement policy is enabled or disabled
- affinity
Type String | AffinityType - placement policy affinity type
- host
Members List<String> - Host members list
- vm
Members List<String> - Virtual machine members list
- display
Name String - Display name of the placement policy
- state
String | Placement
Policy State - Whether the placement policy is enabled or disabled
- affinity
Type string | AffinityType - placement policy affinity type
- host
Members string[] - Host members list
- vm
Members string[] - Virtual machine members list
- display
Name string - Display name of the placement policy
- state
string | Placement
Policy State - 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 | Placement
Policy State - Whether the placement policy is enabled or disabled
- affinity
Type String | "Affinity" | "AntiAffinity" - placement policy affinity type
- host
Members List<String> - Host members list
- vm
Members List<String> - Virtual machine members list
- display
Name String - Display name of the placement policy
- state String | "Enabled" | "Disabled"
- Whether the placement policy is enabled or disabled
VmHostPlacementPolicyPropertiesResponse, VmHostPlacementPolicyPropertiesResponseArgs
- Affinity
Type string - placement policy affinity type
- Host
Members List<string> - Host members list
- Provisioning
State string - The provisioning state
- Vm
Members List<string> - Virtual machine members list
- Display
Name string - Display name of the placement policy
- State string
- Whether the placement policy is enabled or disabled
- Affinity
Type string - placement policy affinity type
- Host
Members []string - Host members list
- Provisioning
State string - The provisioning state
- Vm
Members []string - Virtual machine members list
- Display
Name string - Display name of the placement policy
- State string
- Whether the placement policy is enabled or disabled
- affinity
Type String - placement policy affinity type
- host
Members List<String> - Host members list
- provisioning
State String - The provisioning state
- vm
Members List<String> - Virtual machine members list
- display
Name String - Display name of the placement policy
- state String
- Whether the placement policy is enabled or disabled
- affinity
Type string - placement policy affinity type
- host
Members string[] - Host members list
- provisioning
State string - The provisioning state
- vm
Members string[] - Virtual machine members list
- display
Name 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
- affinity
Type String - placement policy affinity type
- host
Members List<String> - Host members list
- provisioning
State String - The provisioning state
- vm
Members List<String> - Virtual machine members list
- display
Name String - Display name of the placement policy
- state String
- Whether the placement policy is enabled or disabled
VmVmPlacementPolicyProperties, VmVmPlacementPolicyPropertiesArgs
- Affinity
Type string | Pulumi.Azure Native. AVS. Affinity Type - placement policy affinity type
- Vm
Members List<string> - Virtual machine members list
- Display
Name string - Display name of the placement policy
- State
string | Pulumi.
Azure Native. AVS. Placement Policy State - Whether the placement policy is enabled or disabled
- Affinity
Type string | AffinityType - placement policy affinity type
- Vm
Members []string - Virtual machine members list
- Display
Name string - Display name of the placement policy
- State
string | Placement
Policy State Enum - Whether the placement policy is enabled or disabled
- affinity
Type String | AffinityType - placement policy affinity type
- vm
Members List<String> - Virtual machine members list
- display
Name String - Display name of the placement policy
- state
String | Placement
Policy State - Whether the placement policy is enabled or disabled
- affinity
Type string | AffinityType - placement policy affinity type
- vm
Members string[] - Virtual machine members list
- display
Name string - Display name of the placement policy
- state
string | Placement
Policy State - 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 | Placement
Policy State - Whether the placement policy is enabled or disabled
- affinity
Type String | "Affinity" | "AntiAffinity" - placement policy affinity type
- vm
Members List<String> - Virtual machine members list
- display
Name String - Display name of the placement policy
- state String | "Enabled" | "Disabled"
- Whether the placement policy is enabled or disabled
VmVmPlacementPolicyPropertiesResponse, VmVmPlacementPolicyPropertiesResponseArgs
- Affinity
Type string - placement policy affinity type
- Provisioning
State string - The provisioning state
- Vm
Members List<string> - Virtual machine members list
- Display
Name string - Display name of the placement policy
- State string
- Whether the placement policy is enabled or disabled
- Affinity
Type string - placement policy affinity type
- Provisioning
State string - The provisioning state
- Vm
Members []string - Virtual machine members list
- Display
Name string - Display name of the placement policy
- State string
- Whether the placement policy is enabled or disabled
- affinity
Type String - placement policy affinity type
- provisioning
State String - The provisioning state
- vm
Members List<String> - Virtual machine members list
- display
Name String - Display name of the placement policy
- state String
- Whether the placement policy is enabled or disabled
- affinity
Type string - placement policy affinity type
- provisioning
State string - The provisioning state
- vm
Members string[] - Virtual machine members list
- display
Name 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
- affinity
Type String - placement policy affinity type
- provisioning
State String - The provisioning state
- vm
Members List<String> - Virtual machine members list
- display
Name 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
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- azure-native-v1 pulumi/pulumi-azure-native
- License
- Apache-2.0