nutanix.ProtectionPolicyV2
Explore with Pulumi AI
Creates a protection policy to automate the recovery point creation and replication process.
Example—Synchronous Protection Policy
import * as pulumi from "@pulumi/pulumi";
import * as nutanix from "@pierskarsenbarg/nutanix";
const synchronous_protection_policy = new nutanix.ProtectionPolicyV2("synchronous-protection-policy", {
categoryIds: ["b08ed184-6b0c-42c1-8179-7b9026fe2676"],
replicationConfigurations: [
{
remoteLocationLabel: "target",
schedule: {
recoveryPointObjectiveTimeSeconds: 0,
recoveryPointType: "CRASH_CONSISTENT",
syncReplicationAutoSuspendTimeoutSeconds: 10,
},
sourceLocationLabel: "source",
},
{
remoteLocationLabel: "source",
schedule: {
recoveryPointObjectiveTimeSeconds: 0,
recoveryPointType: "CRASH_CONSISTENT",
syncReplicationAutoSuspendTimeoutSeconds: 10,
},
sourceLocationLabel: "target",
},
],
replicationLocations: [
{
domainManagerExtId: "6a44b05e-cb9b-4e7e-8d75-b1b4715369c4",
isPrimary: true,
label: "source",
},
{
domainManagerExtId: "75dde184-3a0e-4f59-a185-03ca1efead17",
isPrimary: false,
label: "target",
},
],
});
import pulumi
import pulumi_nutanix as nutanix
synchronous_protection_policy = nutanix.ProtectionPolicyV2("synchronous-protection-policy",
category_ids=["b08ed184-6b0c-42c1-8179-7b9026fe2676"],
replication_configurations=[
{
"remote_location_label": "target",
"schedule": {
"recovery_point_objective_time_seconds": 0,
"recovery_point_type": "CRASH_CONSISTENT",
"sync_replication_auto_suspend_timeout_seconds": 10,
},
"source_location_label": "source",
},
{
"remote_location_label": "source",
"schedule": {
"recovery_point_objective_time_seconds": 0,
"recovery_point_type": "CRASH_CONSISTENT",
"sync_replication_auto_suspend_timeout_seconds": 10,
},
"source_location_label": "target",
},
],
replication_locations=[
{
"domain_manager_ext_id": "6a44b05e-cb9b-4e7e-8d75-b1b4715369c4",
"is_primary": True,
"label": "source",
},
{
"domain_manager_ext_id": "75dde184-3a0e-4f59-a185-03ca1efead17",
"is_primary": False,
"label": "target",
},
])
package main
import (
"github.com/pierskarsenbarg/pulumi-nutanix/sdk/go/nutanix"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := nutanix.NewProtectionPolicyV2(ctx, "synchronous-protection-policy", &nutanix.ProtectionPolicyV2Args{
CategoryIds: pulumi.StringArray{
pulumi.String("b08ed184-6b0c-42c1-8179-7b9026fe2676"),
},
ReplicationConfigurations: nutanix.ProtectionPolicyV2ReplicationConfigurationArray{
&nutanix.ProtectionPolicyV2ReplicationConfigurationArgs{
RemoteLocationLabel: pulumi.String("target"),
Schedule: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleArgs{
RecoveryPointObjectiveTimeSeconds: pulumi.Int(0),
RecoveryPointType: pulumi.String("CRASH_CONSISTENT"),
SyncReplicationAutoSuspendTimeoutSeconds: pulumi.Int(10),
},
SourceLocationLabel: pulumi.String("source"),
},
&nutanix.ProtectionPolicyV2ReplicationConfigurationArgs{
RemoteLocationLabel: pulumi.String("source"),
Schedule: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleArgs{
RecoveryPointObjectiveTimeSeconds: pulumi.Int(0),
RecoveryPointType: pulumi.String("CRASH_CONSISTENT"),
SyncReplicationAutoSuspendTimeoutSeconds: pulumi.Int(10),
},
SourceLocationLabel: pulumi.String("target"),
},
},
ReplicationLocations: nutanix.ProtectionPolicyV2ReplicationLocationArray{
&nutanix.ProtectionPolicyV2ReplicationLocationArgs{
DomainManagerExtId: pulumi.String("6a44b05e-cb9b-4e7e-8d75-b1b4715369c4"),
IsPrimary: pulumi.Bool(true),
Label: pulumi.String("source"),
},
&nutanix.ProtectionPolicyV2ReplicationLocationArgs{
DomainManagerExtId: pulumi.String("75dde184-3a0e-4f59-a185-03ca1efead17"),
IsPrimary: pulumi.Bool(false),
Label: pulumi.String("target"),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Nutanix = PiersKarsenbarg.Nutanix;
return await Deployment.RunAsync(() =>
{
var synchronous_protection_policy = new Nutanix.ProtectionPolicyV2("synchronous-protection-policy", new()
{
CategoryIds = new[]
{
"b08ed184-6b0c-42c1-8179-7b9026fe2676",
},
ReplicationConfigurations = new[]
{
new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationArgs
{
RemoteLocationLabel = "target",
Schedule = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleArgs
{
RecoveryPointObjectiveTimeSeconds = 0,
RecoveryPointType = "CRASH_CONSISTENT",
SyncReplicationAutoSuspendTimeoutSeconds = 10,
},
SourceLocationLabel = "source",
},
new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationArgs
{
RemoteLocationLabel = "source",
Schedule = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleArgs
{
RecoveryPointObjectiveTimeSeconds = 0,
RecoveryPointType = "CRASH_CONSISTENT",
SyncReplicationAutoSuspendTimeoutSeconds = 10,
},
SourceLocationLabel = "target",
},
},
ReplicationLocations = new[]
{
new Nutanix.Inputs.ProtectionPolicyV2ReplicationLocationArgs
{
DomainManagerExtId = "6a44b05e-cb9b-4e7e-8d75-b1b4715369c4",
IsPrimary = true,
Label = "source",
},
new Nutanix.Inputs.ProtectionPolicyV2ReplicationLocationArgs
{
DomainManagerExtId = "75dde184-3a0e-4f59-a185-03ca1efead17",
IsPrimary = false,
Label = "target",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.nutanix.ProtectionPolicyV2;
import com.pulumi.nutanix.ProtectionPolicyV2Args;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationConfigurationArgs;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationConfigurationScheduleArgs;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationLocationArgs;
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 synchronous_protection_policy = new ProtectionPolicyV2("synchronous-protection-policy", ProtectionPolicyV2Args.builder()
.categoryIds("b08ed184-6b0c-42c1-8179-7b9026fe2676")
.replicationConfigurations(
ProtectionPolicyV2ReplicationConfigurationArgs.builder()
.remoteLocationLabel("target")
.schedule(ProtectionPolicyV2ReplicationConfigurationScheduleArgs.builder()
.recoveryPointObjectiveTimeSeconds(0)
.recoveryPointType("CRASH_CONSISTENT")
.syncReplicationAutoSuspendTimeoutSeconds(10)
.build())
.sourceLocationLabel("source")
.build(),
ProtectionPolicyV2ReplicationConfigurationArgs.builder()
.remoteLocationLabel("source")
.schedule(ProtectionPolicyV2ReplicationConfigurationScheduleArgs.builder()
.recoveryPointObjectiveTimeSeconds(0)
.recoveryPointType("CRASH_CONSISTENT")
.syncReplicationAutoSuspendTimeoutSeconds(10)
.build())
.sourceLocationLabel("target")
.build())
.replicationLocations(
ProtectionPolicyV2ReplicationLocationArgs.builder()
.domainManagerExtId("6a44b05e-cb9b-4e7e-8d75-b1b4715369c4")
.isPrimary(true)
.label("source")
.build(),
ProtectionPolicyV2ReplicationLocationArgs.builder()
.domainManagerExtId("75dde184-3a0e-4f59-a185-03ca1efead17")
.isPrimary(false)
.label("target")
.build())
.build());
}
}
resources:
synchronous-protection-policy:
type: nutanix:ProtectionPolicyV2
properties:
categoryIds:
- b08ed184-6b0c-42c1-8179-7b9026fe2676
replicationConfigurations:
- remoteLocationLabel: target
schedule:
recoveryPointObjectiveTimeSeconds: 0
recoveryPointType: CRASH_CONSISTENT
syncReplicationAutoSuspendTimeoutSeconds: 10
sourceLocationLabel: source
- remoteLocationLabel: source
schedule:
recoveryPointObjectiveTimeSeconds: 0
recoveryPointType: CRASH_CONSISTENT
syncReplicationAutoSuspendTimeoutSeconds: 10
sourceLocationLabel: target
replicationLocations:
- domainManagerExtId: 6a44b05e-cb9b-4e7e-8d75-b1b4715369c4
isPrimary: true
label: source
- domainManagerExtId: 75dde184-3a0e-4f59-a185-03ca1efead17
isPrimary: false
label: target
Example—Linear Retention Protection Policy
import * as pulumi from "@pulumi/pulumi";
import * as nutanix from "@pierskarsenbarg/nutanix";
const linear_retention_protection_policy = new nutanix.ProtectionPolicyV2("linear-retention-protection-policy", {
replicationConfigurations: [
{
sourceLocationLabel: "source",
remoteLocationLabel: "target",
schedule: {
recoveryPointObjectiveTimeSeconds: 7200,
recoveryPointType: "CRASH_CONSISTENT",
retention: {
linearRetention: {
local: 1,
remote: 1,
},
},
},
},
{
sourceLocationLabel: "target",
remoteLocationLabel: "source",
schedule: {
recoveryPointObjectiveTimeSeconds: 7200,
recoveryPointType: "CRASH_CONSISTENT",
retention: {
linearRetention: {
local: 1,
remote: 1,
},
},
},
},
],
replicationLocations: [
{
domainManagerExtId: "6a44b05e-cb9b-4e7e-8d75-b1b4715369c4",
label: "source",
isPrimary: true,
replicationSubLocation: {
clusterExtIds: {
clusterExtIds: [local.clusterExtId],
},
},
},
{
domainManagerExtId: "75dde184-3a0e-4f59-a185-03ca1efead17",
label: "target",
isPrimary: false,
},
],
categoryIds: ["b08ed184-6b0c-42c1-8179-7b9026fe2676"],
});
import pulumi
import pulumi_nutanix as nutanix
linear_retention_protection_policy = nutanix.ProtectionPolicyV2("linear-retention-protection-policy",
replication_configurations=[
{
"source_location_label": "source",
"remote_location_label": "target",
"schedule": {
"recovery_point_objective_time_seconds": 7200,
"recovery_point_type": "CRASH_CONSISTENT",
"retention": {
"linear_retention": {
"local": 1,
"remote": 1,
},
},
},
},
{
"source_location_label": "target",
"remote_location_label": "source",
"schedule": {
"recovery_point_objective_time_seconds": 7200,
"recovery_point_type": "CRASH_CONSISTENT",
"retention": {
"linear_retention": {
"local": 1,
"remote": 1,
},
},
},
},
],
replication_locations=[
{
"domain_manager_ext_id": "6a44b05e-cb9b-4e7e-8d75-b1b4715369c4",
"label": "source",
"is_primary": True,
"replication_sub_location": {
"cluster_ext_ids": {
"cluster_ext_ids": [local["clusterExtId"]],
},
},
},
{
"domain_manager_ext_id": "75dde184-3a0e-4f59-a185-03ca1efead17",
"label": "target",
"is_primary": False,
},
],
category_ids=["b08ed184-6b0c-42c1-8179-7b9026fe2676"])
package main
import (
"github.com/pierskarsenbarg/pulumi-nutanix/sdk/go/nutanix"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := nutanix.NewProtectionPolicyV2(ctx, "linear-retention-protection-policy", &nutanix.ProtectionPolicyV2Args{
ReplicationConfigurations: nutanix.ProtectionPolicyV2ReplicationConfigurationArray{
&nutanix.ProtectionPolicyV2ReplicationConfigurationArgs{
SourceLocationLabel: pulumi.String("source"),
RemoteLocationLabel: pulumi.String("target"),
Schedule: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleArgs{
RecoveryPointObjectiveTimeSeconds: pulumi.Int(7200),
RecoveryPointType: pulumi.String("CRASH_CONSISTENT"),
Retention: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs{
LinearRetention: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionLinearRetentionArgs{
Local: pulumi.Int(1),
Remote: pulumi.Int(1),
},
},
},
},
&nutanix.ProtectionPolicyV2ReplicationConfigurationArgs{
SourceLocationLabel: pulumi.String("target"),
RemoteLocationLabel: pulumi.String("source"),
Schedule: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleArgs{
RecoveryPointObjectiveTimeSeconds: pulumi.Int(7200),
RecoveryPointType: pulumi.String("CRASH_CONSISTENT"),
Retention: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs{
LinearRetention: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionLinearRetentionArgs{
Local: pulumi.Int(1),
Remote: pulumi.Int(1),
},
},
},
},
},
ReplicationLocations: nutanix.ProtectionPolicyV2ReplicationLocationArray{
&nutanix.ProtectionPolicyV2ReplicationLocationArgs{
DomainManagerExtId: pulumi.String("6a44b05e-cb9b-4e7e-8d75-b1b4715369c4"),
Label: pulumi.String("source"),
IsPrimary: pulumi.Bool(true),
ReplicationSubLocation: &nutanix.ProtectionPolicyV2ReplicationLocationReplicationSubLocationArgs{
ClusterExtIds: &nutanix.ProtectionPolicyV2ReplicationLocationReplicationSubLocationClusterExtIdsArgs{
ClusterExtIds: pulumi.StringArray{
local.ClusterExtId,
},
},
},
},
&nutanix.ProtectionPolicyV2ReplicationLocationArgs{
DomainManagerExtId: pulumi.String("75dde184-3a0e-4f59-a185-03ca1efead17"),
Label: pulumi.String("target"),
IsPrimary: pulumi.Bool(false),
},
},
CategoryIds: pulumi.StringArray{
pulumi.String("b08ed184-6b0c-42c1-8179-7b9026fe2676"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Nutanix = PiersKarsenbarg.Nutanix;
return await Deployment.RunAsync(() =>
{
var linear_retention_protection_policy = new Nutanix.ProtectionPolicyV2("linear-retention-protection-policy", new()
{
ReplicationConfigurations = new[]
{
new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationArgs
{
SourceLocationLabel = "source",
RemoteLocationLabel = "target",
Schedule = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleArgs
{
RecoveryPointObjectiveTimeSeconds = 7200,
RecoveryPointType = "CRASH_CONSISTENT",
Retention = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs
{
LinearRetention = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionLinearRetentionArgs
{
Local = 1,
Remote = 1,
},
},
},
},
new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationArgs
{
SourceLocationLabel = "target",
RemoteLocationLabel = "source",
Schedule = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleArgs
{
RecoveryPointObjectiveTimeSeconds = 7200,
RecoveryPointType = "CRASH_CONSISTENT",
Retention = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs
{
LinearRetention = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionLinearRetentionArgs
{
Local = 1,
Remote = 1,
},
},
},
},
},
ReplicationLocations = new[]
{
new Nutanix.Inputs.ProtectionPolicyV2ReplicationLocationArgs
{
DomainManagerExtId = "6a44b05e-cb9b-4e7e-8d75-b1b4715369c4",
Label = "source",
IsPrimary = true,
ReplicationSubLocation = new Nutanix.Inputs.ProtectionPolicyV2ReplicationLocationReplicationSubLocationArgs
{
ClusterExtIds = new Nutanix.Inputs.ProtectionPolicyV2ReplicationLocationReplicationSubLocationClusterExtIdsArgs
{
ClusterExtIds = new[]
{
local.ClusterExtId,
},
},
},
},
new Nutanix.Inputs.ProtectionPolicyV2ReplicationLocationArgs
{
DomainManagerExtId = "75dde184-3a0e-4f59-a185-03ca1efead17",
Label = "target",
IsPrimary = false,
},
},
CategoryIds = new[]
{
"b08ed184-6b0c-42c1-8179-7b9026fe2676",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.nutanix.ProtectionPolicyV2;
import com.pulumi.nutanix.ProtectionPolicyV2Args;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationConfigurationArgs;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationConfigurationScheduleArgs;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionLinearRetentionArgs;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationLocationArgs;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationLocationReplicationSubLocationArgs;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationLocationReplicationSubLocationClusterExtIdsArgs;
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 linear_retention_protection_policy = new ProtectionPolicyV2("linear-retention-protection-policy", ProtectionPolicyV2Args.builder()
.replicationConfigurations(
ProtectionPolicyV2ReplicationConfigurationArgs.builder()
.sourceLocationLabel("source")
.remoteLocationLabel("target")
.schedule(ProtectionPolicyV2ReplicationConfigurationScheduleArgs.builder()
.recoveryPointObjectiveTimeSeconds(7200)
.recoveryPointType("CRASH_CONSISTENT")
.retention(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs.builder()
.linearRetention(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionLinearRetentionArgs.builder()
.local(1)
.remote(1)
.build())
.build())
.build())
.build(),
ProtectionPolicyV2ReplicationConfigurationArgs.builder()
.sourceLocationLabel("target")
.remoteLocationLabel("source")
.schedule(ProtectionPolicyV2ReplicationConfigurationScheduleArgs.builder()
.recoveryPointObjectiveTimeSeconds(7200)
.recoveryPointType("CRASH_CONSISTENT")
.retention(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs.builder()
.linearRetention(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionLinearRetentionArgs.builder()
.local(1)
.remote(1)
.build())
.build())
.build())
.build())
.replicationLocations(
ProtectionPolicyV2ReplicationLocationArgs.builder()
.domainManagerExtId("6a44b05e-cb9b-4e7e-8d75-b1b4715369c4")
.label("source")
.isPrimary(true)
.replicationSubLocation(ProtectionPolicyV2ReplicationLocationReplicationSubLocationArgs.builder()
.clusterExtIds(ProtectionPolicyV2ReplicationLocationReplicationSubLocationClusterExtIdsArgs.builder()
.clusterExtIds(local.clusterExtId())
.build())
.build())
.build(),
ProtectionPolicyV2ReplicationLocationArgs.builder()
.domainManagerExtId("75dde184-3a0e-4f59-a185-03ca1efead17")
.label("target")
.isPrimary(false)
.build())
.categoryIds("b08ed184-6b0c-42c1-8179-7b9026fe2676")
.build());
}
}
resources:
linear-retention-protection-policy:
type: nutanix:ProtectionPolicyV2
properties:
replicationConfigurations:
- sourceLocationLabel: source
remoteLocationLabel: target
schedule:
recoveryPointObjectiveTimeSeconds: 7200
recoveryPointType: CRASH_CONSISTENT
retention:
linearRetention:
local: 1
remote: 1
- sourceLocationLabel: target
remoteLocationLabel: source
schedule:
recoveryPointObjectiveTimeSeconds: 7200
recoveryPointType: CRASH_CONSISTENT
retention:
linearRetention:
local: 1
remote: 1
replicationLocations:
- domainManagerExtId: 6a44b05e-cb9b-4e7e-8d75-b1b4715369c4
label: source
isPrimary: true
replicationSubLocation:
clusterExtIds:
clusterExtIds:
- ${local.clusterExtId}
- domainManagerExtId: 75dde184-3a0e-4f59-a185-03ca1efead17
label: target
isPrimary: false
categoryIds:
- b08ed184-6b0c-42c1-8179-7b9026fe2676
Example—Auto Rollup Retention Protection Policy
import * as pulumi from "@pulumi/pulumi";
import * as nutanix from "@pierskarsenbarg/nutanix";
// Create Auto Rollup Retention Protection Policy
const auto_rollup_retention_protection_policy = new nutanix.ProtectionPolicyV2("auto-rollup-retention-protection-policy", {
categoryIds: ["b08ed184-6b0c-42c1-8179-7b9026fe2676"],
replicationConfigurations: [
{
remoteLocationLabel: "target",
schedule: {
recoveryPointObjectiveTimeSeconds: 60,
recoveryPointType: "CRASH_CONSISTENT",
retention: {
autoRollupRetention: {
local: {
frequency: 2,
snapshotIntervalType: "WEEKLY",
},
remote: {
frequency: 1,
snapshotIntervalType: "DAILY",
},
},
},
startTime: "18h:10m",
syncReplicationAutoSuspendTimeoutSeconds: 20,
},
sourceLocationLabel: "source",
},
{
remoteLocationLabel: "source",
schedule: {
recoveryPointObjectiveTimeSeconds: 60,
recoveryPointType: "CRASH_CONSISTENT",
retention: {
autoRollupRetention: {
local: {
frequency: 1,
snapshotIntervalType: "DAILY",
},
remote: {
frequency: 2,
snapshotIntervalType: "WEEKLY",
},
},
},
startTime: "18h:10m",
syncReplicationAutoSuspendTimeoutSeconds: 30,
},
sourceLocationLabel: "target",
},
],
replicationLocations: [
{
domainManagerExtId: "6a44b05e-cb9b-4e7e-8d75-b1b4715369c4",
isPrimary: true,
label: "source",
},
{
domainManagerExtId: "75dde184-3a0e-4f59-a185-03ca1efead17",
isPrimary: false,
label: "target",
},
],
});
import pulumi
import pulumi_nutanix as nutanix
# Create Auto Rollup Retention Protection Policy
auto_rollup_retention_protection_policy = nutanix.ProtectionPolicyV2("auto-rollup-retention-protection-policy",
category_ids=["b08ed184-6b0c-42c1-8179-7b9026fe2676"],
replication_configurations=[
{
"remote_location_label": "target",
"schedule": {
"recovery_point_objective_time_seconds": 60,
"recovery_point_type": "CRASH_CONSISTENT",
"retention": {
"auto_rollup_retention": {
"local": {
"frequency": 2,
"snapshot_interval_type": "WEEKLY",
},
"remote": {
"frequency": 1,
"snapshot_interval_type": "DAILY",
},
},
},
"start_time": "18h:10m",
"sync_replication_auto_suspend_timeout_seconds": 20,
},
"source_location_label": "source",
},
{
"remote_location_label": "source",
"schedule": {
"recovery_point_objective_time_seconds": 60,
"recovery_point_type": "CRASH_CONSISTENT",
"retention": {
"auto_rollup_retention": {
"local": {
"frequency": 1,
"snapshot_interval_type": "DAILY",
},
"remote": {
"frequency": 2,
"snapshot_interval_type": "WEEKLY",
},
},
},
"start_time": "18h:10m",
"sync_replication_auto_suspend_timeout_seconds": 30,
},
"source_location_label": "target",
},
],
replication_locations=[
{
"domain_manager_ext_id": "6a44b05e-cb9b-4e7e-8d75-b1b4715369c4",
"is_primary": True,
"label": "source",
},
{
"domain_manager_ext_id": "75dde184-3a0e-4f59-a185-03ca1efead17",
"is_primary": False,
"label": "target",
},
])
package main
import (
"github.com/pierskarsenbarg/pulumi-nutanix/sdk/go/nutanix"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Create Auto Rollup Retention Protection Policy
_, err := nutanix.NewProtectionPolicyV2(ctx, "auto-rollup-retention-protection-policy", &nutanix.ProtectionPolicyV2Args{
CategoryIds: pulumi.StringArray{
pulumi.String("b08ed184-6b0c-42c1-8179-7b9026fe2676"),
},
ReplicationConfigurations: nutanix.ProtectionPolicyV2ReplicationConfigurationArray{
&nutanix.ProtectionPolicyV2ReplicationConfigurationArgs{
RemoteLocationLabel: pulumi.String("target"),
Schedule: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleArgs{
RecoveryPointObjectiveTimeSeconds: pulumi.Int(60),
RecoveryPointType: pulumi.String("CRASH_CONSISTENT"),
Retention: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs{
AutoRollupRetention: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionArgs{
Local: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionLocalArgs{
Frequency: pulumi.Int(2),
SnapshotIntervalType: pulumi.String("WEEKLY"),
},
Remote: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionRemoteArgs{
Frequency: pulumi.Int(1),
SnapshotIntervalType: pulumi.String("DAILY"),
},
},
},
StartTime: pulumi.String("18h:10m"),
SyncReplicationAutoSuspendTimeoutSeconds: pulumi.Int(20),
},
SourceLocationLabel: pulumi.String("source"),
},
&nutanix.ProtectionPolicyV2ReplicationConfigurationArgs{
RemoteLocationLabel: pulumi.String("source"),
Schedule: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleArgs{
RecoveryPointObjectiveTimeSeconds: pulumi.Int(60),
RecoveryPointType: pulumi.String("CRASH_CONSISTENT"),
Retention: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs{
AutoRollupRetention: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionArgs{
Local: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionLocalArgs{
Frequency: pulumi.Int(1),
SnapshotIntervalType: pulumi.String("DAILY"),
},
Remote: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionRemoteArgs{
Frequency: pulumi.Int(2),
SnapshotIntervalType: pulumi.String("WEEKLY"),
},
},
},
StartTime: pulumi.String("18h:10m"),
SyncReplicationAutoSuspendTimeoutSeconds: pulumi.Int(30),
},
SourceLocationLabel: pulumi.String("target"),
},
},
ReplicationLocations: nutanix.ProtectionPolicyV2ReplicationLocationArray{
&nutanix.ProtectionPolicyV2ReplicationLocationArgs{
DomainManagerExtId: pulumi.String("6a44b05e-cb9b-4e7e-8d75-b1b4715369c4"),
IsPrimary: pulumi.Bool(true),
Label: pulumi.String("source"),
},
&nutanix.ProtectionPolicyV2ReplicationLocationArgs{
DomainManagerExtId: pulumi.String("75dde184-3a0e-4f59-a185-03ca1efead17"),
IsPrimary: pulumi.Bool(false),
Label: pulumi.String("target"),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Nutanix = PiersKarsenbarg.Nutanix;
return await Deployment.RunAsync(() =>
{
// Create Auto Rollup Retention Protection Policy
var auto_rollup_retention_protection_policy = new Nutanix.ProtectionPolicyV2("auto-rollup-retention-protection-policy", new()
{
CategoryIds = new[]
{
"b08ed184-6b0c-42c1-8179-7b9026fe2676",
},
ReplicationConfigurations = new[]
{
new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationArgs
{
RemoteLocationLabel = "target",
Schedule = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleArgs
{
RecoveryPointObjectiveTimeSeconds = 60,
RecoveryPointType = "CRASH_CONSISTENT",
Retention = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs
{
AutoRollupRetention = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionArgs
{
Local = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionLocalArgs
{
Frequency = 2,
SnapshotIntervalType = "WEEKLY",
},
Remote = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionRemoteArgs
{
Frequency = 1,
SnapshotIntervalType = "DAILY",
},
},
},
StartTime = "18h:10m",
SyncReplicationAutoSuspendTimeoutSeconds = 20,
},
SourceLocationLabel = "source",
},
new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationArgs
{
RemoteLocationLabel = "source",
Schedule = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleArgs
{
RecoveryPointObjectiveTimeSeconds = 60,
RecoveryPointType = "CRASH_CONSISTENT",
Retention = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs
{
AutoRollupRetention = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionArgs
{
Local = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionLocalArgs
{
Frequency = 1,
SnapshotIntervalType = "DAILY",
},
Remote = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionRemoteArgs
{
Frequency = 2,
SnapshotIntervalType = "WEEKLY",
},
},
},
StartTime = "18h:10m",
SyncReplicationAutoSuspendTimeoutSeconds = 30,
},
SourceLocationLabel = "target",
},
},
ReplicationLocations = new[]
{
new Nutanix.Inputs.ProtectionPolicyV2ReplicationLocationArgs
{
DomainManagerExtId = "6a44b05e-cb9b-4e7e-8d75-b1b4715369c4",
IsPrimary = true,
Label = "source",
},
new Nutanix.Inputs.ProtectionPolicyV2ReplicationLocationArgs
{
DomainManagerExtId = "75dde184-3a0e-4f59-a185-03ca1efead17",
IsPrimary = false,
Label = "target",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.nutanix.ProtectionPolicyV2;
import com.pulumi.nutanix.ProtectionPolicyV2Args;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationConfigurationArgs;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationConfigurationScheduleArgs;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionArgs;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionLocalArgs;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionRemoteArgs;
import com.pulumi.nutanix.inputs.ProtectionPolicyV2ReplicationLocationArgs;
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) {
// Create Auto Rollup Retention Protection Policy
var auto_rollup_retention_protection_policy = new ProtectionPolicyV2("auto-rollup-retention-protection-policy", ProtectionPolicyV2Args.builder()
.categoryIds("b08ed184-6b0c-42c1-8179-7b9026fe2676")
.replicationConfigurations(
ProtectionPolicyV2ReplicationConfigurationArgs.builder()
.remoteLocationLabel("target")
.schedule(ProtectionPolicyV2ReplicationConfigurationScheduleArgs.builder()
.recoveryPointObjectiveTimeSeconds(60)
.recoveryPointType("CRASH_CONSISTENT")
.retention(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs.builder()
.autoRollupRetention(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionArgs.builder()
.local(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionLocalArgs.builder()
.frequency(2)
.snapshotIntervalType("WEEKLY")
.build())
.remote(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionRemoteArgs.builder()
.frequency(1)
.snapshotIntervalType("DAILY")
.build())
.build())
.build())
.startTime("18h:10m")
.syncReplicationAutoSuspendTimeoutSeconds(20)
.build())
.sourceLocationLabel("source")
.build(),
ProtectionPolicyV2ReplicationConfigurationArgs.builder()
.remoteLocationLabel("source")
.schedule(ProtectionPolicyV2ReplicationConfigurationScheduleArgs.builder()
.recoveryPointObjectiveTimeSeconds(60)
.recoveryPointType("CRASH_CONSISTENT")
.retention(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs.builder()
.autoRollupRetention(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionArgs.builder()
.local(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionLocalArgs.builder()
.frequency(1)
.snapshotIntervalType("DAILY")
.build())
.remote(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionRemoteArgs.builder()
.frequency(2)
.snapshotIntervalType("WEEKLY")
.build())
.build())
.build())
.startTime("18h:10m")
.syncReplicationAutoSuspendTimeoutSeconds(30)
.build())
.sourceLocationLabel("target")
.build())
.replicationLocations(
ProtectionPolicyV2ReplicationLocationArgs.builder()
.domainManagerExtId("6a44b05e-cb9b-4e7e-8d75-b1b4715369c4")
.isPrimary(true)
.label("source")
.build(),
ProtectionPolicyV2ReplicationLocationArgs.builder()
.domainManagerExtId("75dde184-3a0e-4f59-a185-03ca1efead17")
.isPrimary(false)
.label("target")
.build())
.build());
}
}
resources:
# Create Auto Rollup Retention Protection Policy
auto-rollup-retention-protection-policy:
type: nutanix:ProtectionPolicyV2
properties:
categoryIds:
- b08ed184-6b0c-42c1-8179-7b9026fe2676
replicationConfigurations:
- remoteLocationLabel: target
schedule:
recoveryPointObjectiveTimeSeconds: 60
recoveryPointType: CRASH_CONSISTENT
retention:
autoRollupRetention:
local:
frequency: 2
snapshotIntervalType: WEEKLY
remote:
frequency: 1
snapshotIntervalType: DAILY
startTime: 18h:10m
syncReplicationAutoSuspendTimeoutSeconds: 20
sourceLocationLabel: source
- remoteLocationLabel: source
schedule:
recoveryPointObjectiveTimeSeconds: 60
recoveryPointType: CRASH_CONSISTENT
retention:
autoRollupRetention:
local:
frequency: 1
snapshotIntervalType: DAILY
remote:
frequency: 2
snapshotIntervalType: WEEKLY
startTime: 18h:10m
syncReplicationAutoSuspendTimeoutSeconds: 30
sourceLocationLabel: target
replicationLocations:
- domainManagerExtId: 6a44b05e-cb9b-4e7e-8d75-b1b4715369c4
isPrimary: true
label: source
- domainManagerExtId: 75dde184-3a0e-4f59-a185-03ca1efead17
isPrimary: false
label: target
Create ProtectionPolicyV2 Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ProtectionPolicyV2(name: string, args: ProtectionPolicyV2Args, opts?: CustomResourceOptions);
@overload
def ProtectionPolicyV2(resource_name: str,
args: ProtectionPolicyV2Args,
opts: Optional[ResourceOptions] = None)
@overload
def ProtectionPolicyV2(resource_name: str,
opts: Optional[ResourceOptions] = None,
category_ids: Optional[Sequence[str]] = None,
replication_configurations: Optional[Sequence[ProtectionPolicyV2ReplicationConfigurationArgs]] = None,
replication_locations: Optional[Sequence[ProtectionPolicyV2ReplicationLocationArgs]] = None,
description: Optional[str] = None,
name: Optional[str] = None)
func NewProtectionPolicyV2(ctx *Context, name string, args ProtectionPolicyV2Args, opts ...ResourceOption) (*ProtectionPolicyV2, error)
public ProtectionPolicyV2(string name, ProtectionPolicyV2Args args, CustomResourceOptions? opts = null)
public ProtectionPolicyV2(String name, ProtectionPolicyV2Args args)
public ProtectionPolicyV2(String name, ProtectionPolicyV2Args args, CustomResourceOptions options)
type: nutanix:ProtectionPolicyV2
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 ProtectionPolicyV2Args
- 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 ProtectionPolicyV2Args
- 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 ProtectionPolicyV2Args
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ProtectionPolicyV2Args
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ProtectionPolicyV2Args
- 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 protectionPolicyV2Resource = new Nutanix.ProtectionPolicyV2("protectionPolicyV2Resource", new()
{
CategoryIds = new[]
{
"string",
},
ReplicationConfigurations = new[]
{
new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationArgs
{
Schedule = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleArgs
{
RecoveryPointObjectiveTimeSeconds = 0,
RecoveryPointType = "string",
Retention = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs
{
AutoRollupRetention = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionArgs
{
Local = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionLocalArgs
{
Frequency = 0,
SnapshotIntervalType = "string",
},
Remote = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionRemoteArgs
{
Frequency = 0,
SnapshotIntervalType = "string",
},
},
LinearRetention = new Nutanix.Inputs.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionLinearRetentionArgs
{
Local = 0,
Remote = 0,
},
},
StartTime = "string",
SyncReplicationAutoSuspendTimeoutSeconds = 0,
},
SourceLocationLabel = "string",
RemoteLocationLabel = "string",
},
},
ReplicationLocations = new[]
{
new Nutanix.Inputs.ProtectionPolicyV2ReplicationLocationArgs
{
DomainManagerExtId = "string",
Label = "string",
IsPrimary = false,
ReplicationSubLocation = new Nutanix.Inputs.ProtectionPolicyV2ReplicationLocationReplicationSubLocationArgs
{
ClusterExtIds = new Nutanix.Inputs.ProtectionPolicyV2ReplicationLocationReplicationSubLocationClusterExtIdsArgs
{
ClusterExtIds = new[]
{
"string",
},
},
},
},
},
Description = "string",
Name = "string",
});
example, err := nutanix.NewProtectionPolicyV2(ctx, "protectionPolicyV2Resource", &nutanix.ProtectionPolicyV2Args{
CategoryIds: pulumi.StringArray{
pulumi.String("string"),
},
ReplicationConfigurations: nutanix.ProtectionPolicyV2ReplicationConfigurationArray{
&nutanix.ProtectionPolicyV2ReplicationConfigurationArgs{
Schedule: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleArgs{
RecoveryPointObjectiveTimeSeconds: pulumi.Int(0),
RecoveryPointType: pulumi.String("string"),
Retention: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs{
AutoRollupRetention: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionArgs{
Local: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionLocalArgs{
Frequency: pulumi.Int(0),
SnapshotIntervalType: pulumi.String("string"),
},
Remote: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionRemoteArgs{
Frequency: pulumi.Int(0),
SnapshotIntervalType: pulumi.String("string"),
},
},
LinearRetention: &nutanix.ProtectionPolicyV2ReplicationConfigurationScheduleRetentionLinearRetentionArgs{
Local: pulumi.Int(0),
Remote: pulumi.Int(0),
},
},
StartTime: pulumi.String("string"),
SyncReplicationAutoSuspendTimeoutSeconds: pulumi.Int(0),
},
SourceLocationLabel: pulumi.String("string"),
RemoteLocationLabel: pulumi.String("string"),
},
},
ReplicationLocations: nutanix.ProtectionPolicyV2ReplicationLocationArray{
&nutanix.ProtectionPolicyV2ReplicationLocationArgs{
DomainManagerExtId: pulumi.String("string"),
Label: pulumi.String("string"),
IsPrimary: pulumi.Bool(false),
ReplicationSubLocation: &nutanix.ProtectionPolicyV2ReplicationLocationReplicationSubLocationArgs{
ClusterExtIds: &nutanix.ProtectionPolicyV2ReplicationLocationReplicationSubLocationClusterExtIdsArgs{
ClusterExtIds: pulumi.StringArray{
pulumi.String("string"),
},
},
},
},
},
Description: pulumi.String("string"),
Name: pulumi.String("string"),
})
var protectionPolicyV2Resource = new ProtectionPolicyV2("protectionPolicyV2Resource", ProtectionPolicyV2Args.builder()
.categoryIds("string")
.replicationConfigurations(ProtectionPolicyV2ReplicationConfigurationArgs.builder()
.schedule(ProtectionPolicyV2ReplicationConfigurationScheduleArgs.builder()
.recoveryPointObjectiveTimeSeconds(0)
.recoveryPointType("string")
.retention(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs.builder()
.autoRollupRetention(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionArgs.builder()
.local(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionLocalArgs.builder()
.frequency(0)
.snapshotIntervalType("string")
.build())
.remote(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionRemoteArgs.builder()
.frequency(0)
.snapshotIntervalType("string")
.build())
.build())
.linearRetention(ProtectionPolicyV2ReplicationConfigurationScheduleRetentionLinearRetentionArgs.builder()
.local(0)
.remote(0)
.build())
.build())
.startTime("string")
.syncReplicationAutoSuspendTimeoutSeconds(0)
.build())
.sourceLocationLabel("string")
.remoteLocationLabel("string")
.build())
.replicationLocations(ProtectionPolicyV2ReplicationLocationArgs.builder()
.domainManagerExtId("string")
.label("string")
.isPrimary(false)
.replicationSubLocation(ProtectionPolicyV2ReplicationLocationReplicationSubLocationArgs.builder()
.clusterExtIds(ProtectionPolicyV2ReplicationLocationReplicationSubLocationClusterExtIdsArgs.builder()
.clusterExtIds("string")
.build())
.build())
.build())
.description("string")
.name("string")
.build());
protection_policy_v2_resource = nutanix.ProtectionPolicyV2("protectionPolicyV2Resource",
category_ids=["string"],
replication_configurations=[{
"schedule": {
"recovery_point_objective_time_seconds": 0,
"recovery_point_type": "string",
"retention": {
"auto_rollup_retention": {
"local": {
"frequency": 0,
"snapshot_interval_type": "string",
},
"remote": {
"frequency": 0,
"snapshot_interval_type": "string",
},
},
"linear_retention": {
"local": 0,
"remote": 0,
},
},
"start_time": "string",
"sync_replication_auto_suspend_timeout_seconds": 0,
},
"source_location_label": "string",
"remote_location_label": "string",
}],
replication_locations=[{
"domain_manager_ext_id": "string",
"label": "string",
"is_primary": False,
"replication_sub_location": {
"cluster_ext_ids": {
"cluster_ext_ids": ["string"],
},
},
}],
description="string",
name="string")
const protectionPolicyV2Resource = new nutanix.ProtectionPolicyV2("protectionPolicyV2Resource", {
categoryIds: ["string"],
replicationConfigurations: [{
schedule: {
recoveryPointObjectiveTimeSeconds: 0,
recoveryPointType: "string",
retention: {
autoRollupRetention: {
local: {
frequency: 0,
snapshotIntervalType: "string",
},
remote: {
frequency: 0,
snapshotIntervalType: "string",
},
},
linearRetention: {
local: 0,
remote: 0,
},
},
startTime: "string",
syncReplicationAutoSuspendTimeoutSeconds: 0,
},
sourceLocationLabel: "string",
remoteLocationLabel: "string",
}],
replicationLocations: [{
domainManagerExtId: "string",
label: "string",
isPrimary: false,
replicationSubLocation: {
clusterExtIds: {
clusterExtIds: ["string"],
},
},
}],
description: "string",
name: "string",
});
type: nutanix:ProtectionPolicyV2
properties:
categoryIds:
- string
description: string
name: string
replicationConfigurations:
- remoteLocationLabel: string
schedule:
recoveryPointObjectiveTimeSeconds: 0
recoveryPointType: string
retention:
autoRollupRetention:
local:
frequency: 0
snapshotIntervalType: string
remote:
frequency: 0
snapshotIntervalType: string
linearRetention:
local: 0
remote: 0
startTime: string
syncReplicationAutoSuspendTimeoutSeconds: 0
sourceLocationLabel: string
replicationLocations:
- domainManagerExtId: string
isPrimary: false
label: string
replicationSubLocation:
clusterExtIds:
clusterExtIds:
- string
ProtectionPolicyV2 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 ProtectionPolicyV2 resource accepts the following input properties:
- Category
Ids List<string> - -(Optional) Host entity with its attributes.
- Replication
Configurations List<PiersKarsenbarg. Nutanix. Inputs. Protection Policy V2Replication Configuration> - -(Required) Cluster reference for an entity.
- Replication
Locations List<PiersKarsenbarg. Nutanix. Inputs. Protection Policy V2Replication Location> - -(Required) Hypervisor details.
- Description string
- -(Optional) Description of the protection policy.
- Name string
- -(Required) Name of the protection policy.
- Category
Ids []string - -(Optional) Host entity with its attributes.
- Replication
Configurations []ProtectionPolicy V2Replication Configuration Args - -(Required) Cluster reference for an entity.
- Replication
Locations []ProtectionPolicy V2Replication Location Args - -(Required) Hypervisor details.
- Description string
- -(Optional) Description of the protection policy.
- Name string
- -(Required) Name of the protection policy.
- category
Ids List<String> - -(Optional) Host entity with its attributes.
- replication
Configurations List<ProtectionPolicy V2Replication Configuration> - -(Required) Cluster reference for an entity.
- replication
Locations List<ProtectionPolicy V2Replication Location> - -(Required) Hypervisor details.
- description String
- -(Optional) Description of the protection policy.
- name String
- -(Required) Name of the protection policy.
- category
Ids string[] - -(Optional) Host entity with its attributes.
- replication
Configurations ProtectionPolicy V2Replication Configuration[] - -(Required) Cluster reference for an entity.
- replication
Locations ProtectionPolicy V2Replication Location[] - -(Required) Hypervisor details.
- description string
- -(Optional) Description of the protection policy.
- name string
- -(Required) Name of the protection policy.
- category_
ids Sequence[str] - -(Optional) Host entity with its attributes.
- replication_
configurations Sequence[ProtectionPolicy V2Replication Configuration Args] - -(Required) Cluster reference for an entity.
- replication_
locations Sequence[ProtectionPolicy V2Replication Location Args] - -(Required) Hypervisor details.
- description str
- -(Optional) Description of the protection policy.
- name str
- -(Required) Name of the protection policy.
- category
Ids List<String> - -(Optional) Host entity with its attributes.
- replication
Configurations List<Property Map> - -(Required) Cluster reference for an entity.
- replication
Locations List<Property Map> - -(Required) Hypervisor details.
- description String
- -(Optional) Description of the protection policy.
- name String
- -(Required) Name of the protection policy.
Outputs
All input properties are implicitly available as output properties. Additionally, the ProtectionPolicyV2 resource produces the following output properties:
- Ext
Id string - Id string
- The provider-assigned unique ID for this managed resource.
- Is
Approval boolPolicy Needed - Links
List<Piers
Karsenbarg. Nutanix. Outputs. Protection Policy V2Link> - Owner
Ext stringId - Tenant
Id string
- Ext
Id string - Id string
- The provider-assigned unique ID for this managed resource.
- Is
Approval boolPolicy Needed - Links
[]Protection
Policy V2Link - Owner
Ext stringId - Tenant
Id string
- ext
Id String - id String
- The provider-assigned unique ID for this managed resource.
- is
Approval BooleanPolicy Needed - links
List<Protection
Policy V2Link> - owner
Ext StringId - tenant
Id String
- ext
Id string - id string
- The provider-assigned unique ID for this managed resource.
- is
Approval booleanPolicy Needed - links
Protection
Policy V2Link[] - owner
Ext stringId - tenant
Id string
- ext_
id str - id str
- The provider-assigned unique ID for this managed resource.
- is_
approval_ boolpolicy_ needed - links
Sequence[Protection
Policy V2Link] - owner_
ext_ strid - tenant_
id str
- ext
Id String - id String
- The provider-assigned unique ID for this managed resource.
- is
Approval BooleanPolicy Needed - links List<Property Map>
- owner
Ext StringId - tenant
Id String
Look up Existing ProtectionPolicyV2 Resource
Get an existing ProtectionPolicyV2 resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ProtectionPolicyV2State, opts?: CustomResourceOptions): ProtectionPolicyV2
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
category_ids: Optional[Sequence[str]] = None,
description: Optional[str] = None,
ext_id: Optional[str] = None,
is_approval_policy_needed: Optional[bool] = None,
links: Optional[Sequence[ProtectionPolicyV2LinkArgs]] = None,
name: Optional[str] = None,
owner_ext_id: Optional[str] = None,
replication_configurations: Optional[Sequence[ProtectionPolicyV2ReplicationConfigurationArgs]] = None,
replication_locations: Optional[Sequence[ProtectionPolicyV2ReplicationLocationArgs]] = None,
tenant_id: Optional[str] = None) -> ProtectionPolicyV2
func GetProtectionPolicyV2(ctx *Context, name string, id IDInput, state *ProtectionPolicyV2State, opts ...ResourceOption) (*ProtectionPolicyV2, error)
public static ProtectionPolicyV2 Get(string name, Input<string> id, ProtectionPolicyV2State? state, CustomResourceOptions? opts = null)
public static ProtectionPolicyV2 get(String name, Output<String> id, ProtectionPolicyV2State state, CustomResourceOptions options)
resources: _: type: nutanix:ProtectionPolicyV2 get: id: ${id}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Category
Ids List<string> - -(Optional) Host entity with its attributes.
- Description string
- -(Optional) Description of the protection policy.
- Ext
Id string - Is
Approval boolPolicy Needed - Links
List<Piers
Karsenbarg. Nutanix. Inputs. Protection Policy V2Link> - Name string
- -(Required) Name of the protection policy.
- Owner
Ext stringId - Replication
Configurations List<PiersKarsenbarg. Nutanix. Inputs. Protection Policy V2Replication Configuration> - -(Required) Cluster reference for an entity.
- Replication
Locations List<PiersKarsenbarg. Nutanix. Inputs. Protection Policy V2Replication Location> - -(Required) Hypervisor details.
- Tenant
Id string
- Category
Ids []string - -(Optional) Host entity with its attributes.
- Description string
- -(Optional) Description of the protection policy.
- Ext
Id string - Is
Approval boolPolicy Needed - Links
[]Protection
Policy V2Link Args - Name string
- -(Required) Name of the protection policy.
- Owner
Ext stringId - Replication
Configurations []ProtectionPolicy V2Replication Configuration Args - -(Required) Cluster reference for an entity.
- Replication
Locations []ProtectionPolicy V2Replication Location Args - -(Required) Hypervisor details.
- Tenant
Id string
- category
Ids List<String> - -(Optional) Host entity with its attributes.
- description String
- -(Optional) Description of the protection policy.
- ext
Id String - is
Approval BooleanPolicy Needed - links
List<Protection
Policy V2Link> - name String
- -(Required) Name of the protection policy.
- owner
Ext StringId - replication
Configurations List<ProtectionPolicy V2Replication Configuration> - -(Required) Cluster reference for an entity.
- replication
Locations List<ProtectionPolicy V2Replication Location> - -(Required) Hypervisor details.
- tenant
Id String
- category
Ids string[] - -(Optional) Host entity with its attributes.
- description string
- -(Optional) Description of the protection policy.
- ext
Id string - is
Approval booleanPolicy Needed - links
Protection
Policy V2Link[] - name string
- -(Required) Name of the protection policy.
- owner
Ext stringId - replication
Configurations ProtectionPolicy V2Replication Configuration[] - -(Required) Cluster reference for an entity.
- replication
Locations ProtectionPolicy V2Replication Location[] - -(Required) Hypervisor details.
- tenant
Id string
- category_
ids Sequence[str] - -(Optional) Host entity with its attributes.
- description str
- -(Optional) Description of the protection policy.
- ext_
id str - is_
approval_ boolpolicy_ needed - links
Sequence[Protection
Policy V2Link Args] - name str
- -(Required) Name of the protection policy.
- owner_
ext_ strid - replication_
configurations Sequence[ProtectionPolicy V2Replication Configuration Args] - -(Required) Cluster reference for an entity.
- replication_
locations Sequence[ProtectionPolicy V2Replication Location Args] - -(Required) Hypervisor details.
- tenant_
id str
- category
Ids List<String> - -(Optional) Host entity with its attributes.
- description String
- -(Optional) Description of the protection policy.
- ext
Id String - is
Approval BooleanPolicy Needed - links List<Property Map>
- name String
- -(Required) Name of the protection policy.
- owner
Ext StringId - replication
Configurations List<Property Map> - -(Required) Cluster reference for an entity.
- replication
Locations List<Property Map> - -(Required) Hypervisor details.
- tenant
Id String
Supporting Types
ProtectionPolicyV2Link, ProtectionPolicyV2LinkArgs
ProtectionPolicyV2ReplicationConfiguration, ProtectionPolicyV2ReplicationConfigurationArgs
- Schedule
Piers
Karsenbarg. Nutanix. Inputs. Protection Policy V2Replication Configuration Schedule - -(Required) Schedule for protection. The schedule specifies the recovery point objective and the retention policy for the participating locations.
- Source
Location stringLabel - -(Required) Label of the source location from the replication locations list, where the entity is running. The location of type MST can not be specified as the replication source.
- Remote
Location stringLabel - -(Optional) Label of the source location from the replication locations list, where the entity will be replicated.
- Schedule
Protection
Policy V2Replication Configuration Schedule - -(Required) Schedule for protection. The schedule specifies the recovery point objective and the retention policy for the participating locations.
- Source
Location stringLabel - -(Required) Label of the source location from the replication locations list, where the entity is running. The location of type MST can not be specified as the replication source.
- Remote
Location stringLabel - -(Optional) Label of the source location from the replication locations list, where the entity will be replicated.
- schedule
Protection
Policy V2Replication Configuration Schedule - -(Required) Schedule for protection. The schedule specifies the recovery point objective and the retention policy for the participating locations.
- source
Location StringLabel - -(Required) Label of the source location from the replication locations list, where the entity is running. The location of type MST can not be specified as the replication source.
- remote
Location StringLabel - -(Optional) Label of the source location from the replication locations list, where the entity will be replicated.
- schedule
Protection
Policy V2Replication Configuration Schedule - -(Required) Schedule for protection. The schedule specifies the recovery point objective and the retention policy for the participating locations.
- source
Location stringLabel - -(Required) Label of the source location from the replication locations list, where the entity is running. The location of type MST can not be specified as the replication source.
- remote
Location stringLabel - -(Optional) Label of the source location from the replication locations list, where the entity will be replicated.
- schedule
Protection
Policy V2Replication Configuration Schedule - -(Required) Schedule for protection. The schedule specifies the recovery point objective and the retention policy for the participating locations.
- source_
location_ strlabel - -(Required) Label of the source location from the replication locations list, where the entity is running. The location of type MST can not be specified as the replication source.
- remote_
location_ strlabel - -(Optional) Label of the source location from the replication locations list, where the entity will be replicated.
- schedule Property Map
- -(Required) Schedule for protection. The schedule specifies the recovery point objective and the retention policy for the participating locations.
- source
Location StringLabel - -(Required) Label of the source location from the replication locations list, where the entity is running. The location of type MST can not be specified as the replication source.
- remote
Location StringLabel - -(Optional) Label of the source location from the replication locations list, where the entity will be replicated.
ProtectionPolicyV2ReplicationConfigurationSchedule, ProtectionPolicyV2ReplicationConfigurationScheduleArgs
- Recovery
Point intObjective Time Seconds - -(Required) The Recovery point objective of the schedule in seconds and specified in multiple of 60 seconds. Only following RPO values can be provided for rollup retention type:
- Minute(s): 1, 2, 3, 4, 5, 6, 10, 12, 15
- Hour(s): 1, 2, 3, 4, 6, 8, 12
- Day(s): 1
- Week(s): 1, 2
- Recovery
Point stringType - -(Optional) Type of recovery point.
CRASH_CONSISTENT
: Crash-consistent Recovery points capture all the VM and application level details.APP_CONSISTENT
: Application-consistent Recovery points can capture all the data stored in the memory and also the in-progress transaction details.
- Retention
Piers
Karsenbarg. Nutanix. Inputs. Protection Policy V2Replication Configuration Schedule Retention - -(Optional) Specifies the retention policy for the recovery point schedule.
- Start
Time string - -(Optional) Represents the protection start time for the new entities added to the policy after the policy is created in h:m format. The values must be between 00h:00m and 23h:59m and in UTC timezone. It specifies the time when the first snapshot is taken and replicated for any entity added to the policy. If this is not specified, the snapshot is taken immediately and replicated for any new entity added to the policy.
- Sync
Replication intAuto Suspend Timeout Seconds - -(Optional) Auto suspend timeout if there is a connection failure between locations for synchronous replication. If this value is not set, then the policy will not be suspended.
- Recovery
Point intObjective Time Seconds - -(Required) The Recovery point objective of the schedule in seconds and specified in multiple of 60 seconds. Only following RPO values can be provided for rollup retention type:
- Minute(s): 1, 2, 3, 4, 5, 6, 10, 12, 15
- Hour(s): 1, 2, 3, 4, 6, 8, 12
- Day(s): 1
- Week(s): 1, 2
- Recovery
Point stringType - -(Optional) Type of recovery point.
CRASH_CONSISTENT
: Crash-consistent Recovery points capture all the VM and application level details.APP_CONSISTENT
: Application-consistent Recovery points can capture all the data stored in the memory and also the in-progress transaction details.
- Retention
Protection
Policy V2Replication Configuration Schedule Retention - -(Optional) Specifies the retention policy for the recovery point schedule.
- Start
Time string - -(Optional) Represents the protection start time for the new entities added to the policy after the policy is created in h:m format. The values must be between 00h:00m and 23h:59m and in UTC timezone. It specifies the time when the first snapshot is taken and replicated for any entity added to the policy. If this is not specified, the snapshot is taken immediately and replicated for any new entity added to the policy.
- Sync
Replication intAuto Suspend Timeout Seconds - -(Optional) Auto suspend timeout if there is a connection failure between locations for synchronous replication. If this value is not set, then the policy will not be suspended.
- recovery
Point IntegerObjective Time Seconds - -(Required) The Recovery point objective of the schedule in seconds and specified in multiple of 60 seconds. Only following RPO values can be provided for rollup retention type:
- Minute(s): 1, 2, 3, 4, 5, 6, 10, 12, 15
- Hour(s): 1, 2, 3, 4, 6, 8, 12
- Day(s): 1
- Week(s): 1, 2
- recovery
Point StringType - -(Optional) Type of recovery point.
CRASH_CONSISTENT
: Crash-consistent Recovery points capture all the VM and application level details.APP_CONSISTENT
: Application-consistent Recovery points can capture all the data stored in the memory and also the in-progress transaction details.
- retention
Protection
Policy V2Replication Configuration Schedule Retention - -(Optional) Specifies the retention policy for the recovery point schedule.
- start
Time String - -(Optional) Represents the protection start time for the new entities added to the policy after the policy is created in h:m format. The values must be between 00h:00m and 23h:59m and in UTC timezone. It specifies the time when the first snapshot is taken and replicated for any entity added to the policy. If this is not specified, the snapshot is taken immediately and replicated for any new entity added to the policy.
- sync
Replication IntegerAuto Suspend Timeout Seconds - -(Optional) Auto suspend timeout if there is a connection failure between locations for synchronous replication. If this value is not set, then the policy will not be suspended.
- recovery
Point numberObjective Time Seconds - -(Required) The Recovery point objective of the schedule in seconds and specified in multiple of 60 seconds. Only following RPO values can be provided for rollup retention type:
- Minute(s): 1, 2, 3, 4, 5, 6, 10, 12, 15
- Hour(s): 1, 2, 3, 4, 6, 8, 12
- Day(s): 1
- Week(s): 1, 2
- recovery
Point stringType - -(Optional) Type of recovery point.
CRASH_CONSISTENT
: Crash-consistent Recovery points capture all the VM and application level details.APP_CONSISTENT
: Application-consistent Recovery points can capture all the data stored in the memory and also the in-progress transaction details.
- retention
Protection
Policy V2Replication Configuration Schedule Retention - -(Optional) Specifies the retention policy for the recovery point schedule.
- start
Time string - -(Optional) Represents the protection start time for the new entities added to the policy after the policy is created in h:m format. The values must be between 00h:00m and 23h:59m and in UTC timezone. It specifies the time when the first snapshot is taken and replicated for any entity added to the policy. If this is not specified, the snapshot is taken immediately and replicated for any new entity added to the policy.
- sync
Replication numberAuto Suspend Timeout Seconds - -(Optional) Auto suspend timeout if there is a connection failure between locations for synchronous replication. If this value is not set, then the policy will not be suspended.
- recovery_
point_ intobjective_ time_ seconds - -(Required) The Recovery point objective of the schedule in seconds and specified in multiple of 60 seconds. Only following RPO values can be provided for rollup retention type:
- Minute(s): 1, 2, 3, 4, 5, 6, 10, 12, 15
- Hour(s): 1, 2, 3, 4, 6, 8, 12
- Day(s): 1
- Week(s): 1, 2
- recovery_
point_ strtype - -(Optional) Type of recovery point.
CRASH_CONSISTENT
: Crash-consistent Recovery points capture all the VM and application level details.APP_CONSISTENT
: Application-consistent Recovery points can capture all the data stored in the memory and also the in-progress transaction details.
- retention
Protection
Policy V2Replication Configuration Schedule Retention - -(Optional) Specifies the retention policy for the recovery point schedule.
- start_
time str - -(Optional) Represents the protection start time for the new entities added to the policy after the policy is created in h:m format. The values must be between 00h:00m and 23h:59m and in UTC timezone. It specifies the time when the first snapshot is taken and replicated for any entity added to the policy. If this is not specified, the snapshot is taken immediately and replicated for any new entity added to the policy.
- sync_
replication_ intauto_ suspend_ timeout_ seconds - -(Optional) Auto suspend timeout if there is a connection failure between locations for synchronous replication. If this value is not set, then the policy will not be suspended.
- recovery
Point NumberObjective Time Seconds - -(Required) The Recovery point objective of the schedule in seconds and specified in multiple of 60 seconds. Only following RPO values can be provided for rollup retention type:
- Minute(s): 1, 2, 3, 4, 5, 6, 10, 12, 15
- Hour(s): 1, 2, 3, 4, 6, 8, 12
- Day(s): 1
- Week(s): 1, 2
- recovery
Point StringType - -(Optional) Type of recovery point.
CRASH_CONSISTENT
: Crash-consistent Recovery points capture all the VM and application level details.APP_CONSISTENT
: Application-consistent Recovery points can capture all the data stored in the memory and also the in-progress transaction details.
- retention Property Map
- -(Optional) Specifies the retention policy for the recovery point schedule.
- start
Time String - -(Optional) Represents the protection start time for the new entities added to the policy after the policy is created in h:m format. The values must be between 00h:00m and 23h:59m and in UTC timezone. It specifies the time when the first snapshot is taken and replicated for any entity added to the policy. If this is not specified, the snapshot is taken immediately and replicated for any new entity added to the policy.
- sync
Replication NumberAuto Suspend Timeout Seconds - -(Optional) Auto suspend timeout if there is a connection failure between locations for synchronous replication. If this value is not set, then the policy will not be suspended.
ProtectionPolicyV2ReplicationConfigurationScheduleRetention, ProtectionPolicyV2ReplicationConfigurationScheduleRetentionArgs
- Auto
Rollup PiersRetention Karsenbarg. Nutanix. Inputs. Protection Policy V2Replication Configuration Schedule Retention Auto Rollup Retention - -(Optional) Auto rollup retention policy.
- Linear
Retention PiersKarsenbarg. Nutanix. Inputs. Protection Policy V2Replication Configuration Schedule Retention Linear Retention - -(Optional) Linear retention policy.
- Auto
Rollup ProtectionRetention Policy V2Replication Configuration Schedule Retention Auto Rollup Retention - -(Optional) Auto rollup retention policy.
- Linear
Retention ProtectionPolicy V2Replication Configuration Schedule Retention Linear Retention - -(Optional) Linear retention policy.
- auto
Rollup ProtectionRetention Policy V2Replication Configuration Schedule Retention Auto Rollup Retention - -(Optional) Auto rollup retention policy.
- linear
Retention ProtectionPolicy V2Replication Configuration Schedule Retention Linear Retention - -(Optional) Linear retention policy.
- auto
Rollup ProtectionRetention Policy V2Replication Configuration Schedule Retention Auto Rollup Retention - -(Optional) Auto rollup retention policy.
- linear
Retention ProtectionPolicy V2Replication Configuration Schedule Retention Linear Retention - -(Optional) Linear retention policy.
- auto_
rollup_ Protectionretention Policy V2Replication Configuration Schedule Retention Auto Rollup Retention - -(Optional) Auto rollup retention policy.
- linear_
retention ProtectionPolicy V2Replication Configuration Schedule Retention Linear Retention - -(Optional) Linear retention policy.
- auto
Rollup Property MapRetention - -(Optional) Auto rollup retention policy.
- linear
Retention Property Map - -(Optional) Linear retention policy.
ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetention, ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionArgs
- Local
Piers
Karsenbarg. Nutanix. Inputs. Protection Policy V2Replication Configuration Schedule Retention Auto Rollup Retention Local - -(Required) Specifies the auto rollup retention details.
- Remote
Piers
Karsenbarg. Nutanix. Inputs. Protection Policy V2Replication Configuration Schedule Retention Auto Rollup Retention Remote - -(Optional) Specifies the auto rollup retention details.
- Local
Protection
Policy V2Replication Configuration Schedule Retention Auto Rollup Retention Local - -(Required) Specifies the auto rollup retention details.
- Remote
Protection
Policy V2Replication Configuration Schedule Retention Auto Rollup Retention Remote - -(Optional) Specifies the auto rollup retention details.
- local
Protection
Policy V2Replication Configuration Schedule Retention Auto Rollup Retention Local - -(Required) Specifies the auto rollup retention details.
- remote
Protection
Policy V2Replication Configuration Schedule Retention Auto Rollup Retention Remote - -(Optional) Specifies the auto rollup retention details.
- local
Protection
Policy V2Replication Configuration Schedule Retention Auto Rollup Retention Local - -(Required) Specifies the auto rollup retention details.
- remote
Protection
Policy V2Replication Configuration Schedule Retention Auto Rollup Retention Remote - -(Optional) Specifies the auto rollup retention details.
- local
Protection
Policy V2Replication Configuration Schedule Retention Auto Rollup Retention Local - -(Required) Specifies the auto rollup retention details.
- remote
Protection
Policy V2Replication Configuration Schedule Retention Auto Rollup Retention Remote - -(Optional) Specifies the auto rollup retention details.
- local Property Map
- -(Required) Specifies the auto rollup retention details.
- remote Property Map
- -(Optional) Specifies the auto rollup retention details.
ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionLocal, ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionLocalArgs
- Frequency int
-(Required) Multiplier to 'snapshotIntervalType'. For example, if 'snapshotIntervalType' is 'YEARLY' and 'multiple' is 5, then 5 years worth of rollup snapshots will be retained.
See detailed information in Nutanix Protection Policy v4.
- Snapshot
Interval stringType - -(Required) Snapshot interval period.
YEARLY
: Specifies the number of latest yearly recovery points to retain.WEEKLY
: Specifies the number of latest weekly recovery points to retain.DAILY
: Specifies the number of latest daily recovery points to retain.MONTHLY
: Specifies the number of latest monthly recovery points to retain.HOURLY
: Specifies the number of latest hourly recovery points to retain.
- Frequency int
-(Required) Multiplier to 'snapshotIntervalType'. For example, if 'snapshotIntervalType' is 'YEARLY' and 'multiple' is 5, then 5 years worth of rollup snapshots will be retained.
See detailed information in Nutanix Protection Policy v4.
- Snapshot
Interval stringType - -(Required) Snapshot interval period.
YEARLY
: Specifies the number of latest yearly recovery points to retain.WEEKLY
: Specifies the number of latest weekly recovery points to retain.DAILY
: Specifies the number of latest daily recovery points to retain.MONTHLY
: Specifies the number of latest monthly recovery points to retain.HOURLY
: Specifies the number of latest hourly recovery points to retain.
- frequency Integer
-(Required) Multiplier to 'snapshotIntervalType'. For example, if 'snapshotIntervalType' is 'YEARLY' and 'multiple' is 5, then 5 years worth of rollup snapshots will be retained.
See detailed information in Nutanix Protection Policy v4.
- snapshot
Interval StringType - -(Required) Snapshot interval period.
YEARLY
: Specifies the number of latest yearly recovery points to retain.WEEKLY
: Specifies the number of latest weekly recovery points to retain.DAILY
: Specifies the number of latest daily recovery points to retain.MONTHLY
: Specifies the number of latest monthly recovery points to retain.HOURLY
: Specifies the number of latest hourly recovery points to retain.
- frequency number
-(Required) Multiplier to 'snapshotIntervalType'. For example, if 'snapshotIntervalType' is 'YEARLY' and 'multiple' is 5, then 5 years worth of rollup snapshots will be retained.
See detailed information in Nutanix Protection Policy v4.
- snapshot
Interval stringType - -(Required) Snapshot interval period.
YEARLY
: Specifies the number of latest yearly recovery points to retain.WEEKLY
: Specifies the number of latest weekly recovery points to retain.DAILY
: Specifies the number of latest daily recovery points to retain.MONTHLY
: Specifies the number of latest monthly recovery points to retain.HOURLY
: Specifies the number of latest hourly recovery points to retain.
- frequency int
-(Required) Multiplier to 'snapshotIntervalType'. For example, if 'snapshotIntervalType' is 'YEARLY' and 'multiple' is 5, then 5 years worth of rollup snapshots will be retained.
See detailed information in Nutanix Protection Policy v4.
- snapshot_
interval_ strtype - -(Required) Snapshot interval period.
YEARLY
: Specifies the number of latest yearly recovery points to retain.WEEKLY
: Specifies the number of latest weekly recovery points to retain.DAILY
: Specifies the number of latest daily recovery points to retain.MONTHLY
: Specifies the number of latest monthly recovery points to retain.HOURLY
: Specifies the number of latest hourly recovery points to retain.
- frequency Number
-(Required) Multiplier to 'snapshotIntervalType'. For example, if 'snapshotIntervalType' is 'YEARLY' and 'multiple' is 5, then 5 years worth of rollup snapshots will be retained.
See detailed information in Nutanix Protection Policy v4.
- snapshot
Interval StringType - -(Required) Snapshot interval period.
YEARLY
: Specifies the number of latest yearly recovery points to retain.WEEKLY
: Specifies the number of latest weekly recovery points to retain.DAILY
: Specifies the number of latest daily recovery points to retain.MONTHLY
: Specifies the number of latest monthly recovery points to retain.HOURLY
: Specifies the number of latest hourly recovery points to retain.
ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionRemote, ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionRemoteArgs
- Frequency int
-(Required) Multiplier to 'snapshotIntervalType'. For example, if 'snapshotIntervalType' is 'YEARLY' and 'multiple' is 5, then 5 years worth of rollup snapshots will be retained.
See detailed information in Nutanix Protection Policy v4.
- Snapshot
Interval stringType - -(Required) Snapshot interval period.
YEARLY
: Specifies the number of latest yearly recovery points to retain.WEEKLY
: Specifies the number of latest weekly recovery points to retain.DAILY
: Specifies the number of latest daily recovery points to retain.MONTHLY
: Specifies the number of latest monthly recovery points to retain.HOURLY
: Specifies the number of latest hourly recovery points to retain.
- Frequency int
-(Required) Multiplier to 'snapshotIntervalType'. For example, if 'snapshotIntervalType' is 'YEARLY' and 'multiple' is 5, then 5 years worth of rollup snapshots will be retained.
See detailed information in Nutanix Protection Policy v4.
- Snapshot
Interval stringType - -(Required) Snapshot interval period.
YEARLY
: Specifies the number of latest yearly recovery points to retain.WEEKLY
: Specifies the number of latest weekly recovery points to retain.DAILY
: Specifies the number of latest daily recovery points to retain.MONTHLY
: Specifies the number of latest monthly recovery points to retain.HOURLY
: Specifies the number of latest hourly recovery points to retain.
- frequency Integer
-(Required) Multiplier to 'snapshotIntervalType'. For example, if 'snapshotIntervalType' is 'YEARLY' and 'multiple' is 5, then 5 years worth of rollup snapshots will be retained.
See detailed information in Nutanix Protection Policy v4.
- snapshot
Interval StringType - -(Required) Snapshot interval period.
YEARLY
: Specifies the number of latest yearly recovery points to retain.WEEKLY
: Specifies the number of latest weekly recovery points to retain.DAILY
: Specifies the number of latest daily recovery points to retain.MONTHLY
: Specifies the number of latest monthly recovery points to retain.HOURLY
: Specifies the number of latest hourly recovery points to retain.
- frequency number
-(Required) Multiplier to 'snapshotIntervalType'. For example, if 'snapshotIntervalType' is 'YEARLY' and 'multiple' is 5, then 5 years worth of rollup snapshots will be retained.
See detailed information in Nutanix Protection Policy v4.
- snapshot
Interval stringType - -(Required) Snapshot interval period.
YEARLY
: Specifies the number of latest yearly recovery points to retain.WEEKLY
: Specifies the number of latest weekly recovery points to retain.DAILY
: Specifies the number of latest daily recovery points to retain.MONTHLY
: Specifies the number of latest monthly recovery points to retain.HOURLY
: Specifies the number of latest hourly recovery points to retain.
- frequency int
-(Required) Multiplier to 'snapshotIntervalType'. For example, if 'snapshotIntervalType' is 'YEARLY' and 'multiple' is 5, then 5 years worth of rollup snapshots will be retained.
See detailed information in Nutanix Protection Policy v4.
- snapshot_
interval_ strtype - -(Required) Snapshot interval period.
YEARLY
: Specifies the number of latest yearly recovery points to retain.WEEKLY
: Specifies the number of latest weekly recovery points to retain.DAILY
: Specifies the number of latest daily recovery points to retain.MONTHLY
: Specifies the number of latest monthly recovery points to retain.HOURLY
: Specifies the number of latest hourly recovery points to retain.
- frequency Number
-(Required) Multiplier to 'snapshotIntervalType'. For example, if 'snapshotIntervalType' is 'YEARLY' and 'multiple' is 5, then 5 years worth of rollup snapshots will be retained.
See detailed information in Nutanix Protection Policy v4.
- snapshot
Interval StringType - -(Required) Snapshot interval period.
YEARLY
: Specifies the number of latest yearly recovery points to retain.WEEKLY
: Specifies the number of latest weekly recovery points to retain.DAILY
: Specifies the number of latest daily recovery points to retain.MONTHLY
: Specifies the number of latest monthly recovery points to retain.HOURLY
: Specifies the number of latest hourly recovery points to retain.
ProtectionPolicyV2ReplicationConfigurationScheduleRetentionLinearRetention, ProtectionPolicyV2ReplicationConfigurationScheduleRetentionLinearRetentionArgs
ProtectionPolicyV2ReplicationLocation, ProtectionPolicyV2ReplicationLocationArgs
- Domain
Manager stringExt Id - -(Required) External identifier of the domain manager.
- Label string
- -(Required) This is a unique user defined label of the replication location. It is used to identify the location in the replication configurations.
- Is
Primary bool - -(Optional) One of the locations must be specified as the primary location. All the other locations must be connected to the primary location.
- Replication
Sub PiersLocation Karsenbarg. Nutanix. Inputs. Protection Policy V2Replication Location Replication Sub Location - -(Optional) Specifies the replication sub-locations where recovery points can be created or replicated.
- Domain
Manager stringExt Id - -(Required) External identifier of the domain manager.
- Label string
- -(Required) This is a unique user defined label of the replication location. It is used to identify the location in the replication configurations.
- Is
Primary bool - -(Optional) One of the locations must be specified as the primary location. All the other locations must be connected to the primary location.
- Replication
Sub ProtectionLocation Policy V2Replication Location Replication Sub Location - -(Optional) Specifies the replication sub-locations where recovery points can be created or replicated.
- domain
Manager StringExt Id - -(Required) External identifier of the domain manager.
- label String
- -(Required) This is a unique user defined label of the replication location. It is used to identify the location in the replication configurations.
- is
Primary Boolean - -(Optional) One of the locations must be specified as the primary location. All the other locations must be connected to the primary location.
- replication
Sub ProtectionLocation Policy V2Replication Location Replication Sub Location - -(Optional) Specifies the replication sub-locations where recovery points can be created or replicated.
- domain
Manager stringExt Id - -(Required) External identifier of the domain manager.
- label string
- -(Required) This is a unique user defined label of the replication location. It is used to identify the location in the replication configurations.
- is
Primary boolean - -(Optional) One of the locations must be specified as the primary location. All the other locations must be connected to the primary location.
- replication
Sub ProtectionLocation Policy V2Replication Location Replication Sub Location - -(Optional) Specifies the replication sub-locations where recovery points can be created or replicated.
- domain_
manager_ strext_ id - -(Required) External identifier of the domain manager.
- label str
- -(Required) This is a unique user defined label of the replication location. It is used to identify the location in the replication configurations.
- is_
primary bool - -(Optional) One of the locations must be specified as the primary location. All the other locations must be connected to the primary location.
- replication_
sub_ Protectionlocation Policy V2Replication Location Replication Sub Location - -(Optional) Specifies the replication sub-locations where recovery points can be created or replicated.
- domain
Manager StringExt Id - -(Required) External identifier of the domain manager.
- label String
- -(Required) This is a unique user defined label of the replication location. It is used to identify the location in the replication configurations.
- is
Primary Boolean - -(Optional) One of the locations must be specified as the primary location. All the other locations must be connected to the primary location.
- replication
Sub Property MapLocation - -(Optional) Specifies the replication sub-locations where recovery points can be created or replicated.
ProtectionPolicyV2ReplicationLocationReplicationSubLocation, ProtectionPolicyV2ReplicationLocationReplicationSubLocationArgs
- Cluster
Ext PiersIds Karsenbarg. Nutanix. Inputs. Protection Policy V2Replication Location Replication Sub Location Cluster Ext Ids - -(Optional) External identifier of the clusters.
- Cluster
Ext ProtectionIds Policy V2Replication Location Replication Sub Location Cluster Ext Ids - -(Optional) External identifier of the clusters.
- cluster
Ext ProtectionIds Policy V2Replication Location Replication Sub Location Cluster Ext Ids - -(Optional) External identifier of the clusters.
- cluster
Ext ProtectionIds Policy V2Replication Location Replication Sub Location Cluster Ext Ids - -(Optional) External identifier of the clusters.
- cluster_
ext_ Protectionids Policy V2Replication Location Replication Sub Location Cluster Ext Ids - -(Optional) External identifier of the clusters.
- cluster
Ext Property MapIds - -(Optional) External identifier of the clusters.
ProtectionPolicyV2ReplicationLocationReplicationSubLocationClusterExtIds, ProtectionPolicyV2ReplicationLocationReplicationSubLocationClusterExtIdsArgs
- Cluster
Ext List<string>Ids - -(Optional) External identifier of the clusters.
- Cluster
Ext []stringIds - -(Optional) External identifier of the clusters.
- cluster
Ext List<String>Ids - -(Optional) External identifier of the clusters.
- cluster
Ext string[]Ids - -(Optional) External identifier of the clusters.
- cluster_
ext_ Sequence[str]ids - -(Optional) External identifier of the clusters.
- cluster
Ext List<String>Ids - -(Optional) External identifier of the clusters.
Package Details
- Repository
- nutanix pierskarsenbarg/pulumi-nutanix
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
nutanix
Terraform Provider.