Package com.pulumi.aws.arczonalshift
Class ZonalAutoshiftConfiguration
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.arczonalshift.ZonalAutoshiftConfiguration
-
public class ZonalAutoshiftConfiguration extends com.pulumi.resources.CustomResourceManages an AWS Application Recovery Controller Zonal Shift Zonal Autoshift Configuration for a managed resource (such as a load balancer). Zonal autoshift is a capability in AWS Application Recovery Controller (ARC) that automatically shifts traffic away from an Availability Zone when AWS identifies a potential issue, helping maintain application availability. ## Example Usage ### Basic Usage
### With Blocking Alarmspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lb.LoadBalancer; import com.pulumi.aws.lb.LoadBalancerArgs; import com.pulumi.aws.cloudwatch.MetricAlarm; import com.pulumi.aws.cloudwatch.MetricAlarmArgs; import com.pulumi.aws.arczonalshift.ZonalAutoshiftConfiguration; import com.pulumi.aws.arczonalshift.ZonalAutoshiftConfigurationArgs; import com.pulumi.aws.arczonalshift.inputs.ZonalAutoshiftConfigurationOutcomeAlarmArgs; import java.util.ArrayList; import java.util.Arrays; 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 exampleLoadBalancer = new LoadBalancer("exampleLoadBalancer", LoadBalancerArgs.builder() .name("example") .internal(true) .loadBalancerType("application") .subnets(exampleAwsSubnet.stream().map(element -> element.id()).collect(toList())) .enableZonalShift(true) .build()); var exampleMetricAlarm = new MetricAlarm("exampleMetricAlarm", MetricAlarmArgs.builder() .name("example-outcome-alarm") .comparisonOperator("GreaterThanOrEqualToThreshold") .evaluationPeriods(1) .metricName("TargetResponseTime") .namespace("AWS/ApplicationELB") .period(60) .statistic("Average") .threshold(1.0) .alarmDescription("Outcome alarm for zonal autoshift practice run") .dimensions(Map.of("LoadBalancer", exampleLoadBalancer.arnSuffix())) .build()); var example = new ZonalAutoshiftConfiguration("example", ZonalAutoshiftConfigurationArgs.builder() .outcomeAlarms(ZonalAutoshiftConfigurationOutcomeAlarmArgs.builder() .alarmIdentifier(exampleMetricAlarm.arn()) .type("CLOUDWATCH") .build()) .resourceArn(exampleLoadBalancer.arn()) .zonalAutoshiftStatus("ENABLED") .build()); } }
### With Blocked Windowspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.arczonalshift.ZonalAutoshiftConfiguration; import com.pulumi.aws.arczonalshift.ZonalAutoshiftConfigurationArgs; import com.pulumi.aws.arczonalshift.inputs.ZonalAutoshiftConfigurationBlockingAlarmArgs; import com.pulumi.aws.arczonalshift.inputs.ZonalAutoshiftConfigurationOutcomeAlarmArgs; import java.util.ArrayList; import java.util.Arrays; 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 example = new ZonalAutoshiftConfiguration("example", ZonalAutoshiftConfigurationArgs.builder() .blockingAlarms(ZonalAutoshiftConfigurationBlockingAlarmArgs.builder() .alarmIdentifier(blocking.arn()) .type("CLOUDWATCH") .build()) .outcomeAlarms(ZonalAutoshiftConfigurationOutcomeAlarmArgs.builder() .alarmIdentifier(outcome.arn()) .type("CLOUDWATCH") .build()) .resourceArn(exampleAwsLb.arn()) .zonalAutoshiftStatus("ENABLED") .build()); } }
## Import ### Identity Schema #### Required * `resourceArn` (String) ARN of the managed resource to configure zonal autoshift for. Using `pulumi import`, import ARC Zonal Shift Zonal Autoshift Configuration using the `resourceArn`. For example: ```sh $ pulumi import aws:arczonalshift/zonalAutoshiftConfiguration:ZonalAutoshiftConfiguration example arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/example/50dc6c495c0c9188 ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.arczonalshift.ZonalAutoshiftConfiguration; import com.pulumi.aws.arczonalshift.ZonalAutoshiftConfigurationArgs; import com.pulumi.aws.arczonalshift.inputs.ZonalAutoshiftConfigurationOutcomeAlarmArgs; import java.util.ArrayList; import java.util.Arrays; 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 example = new ZonalAutoshiftConfiguration("example", ZonalAutoshiftConfigurationArgs.builder() .outcomeAlarms(ZonalAutoshiftConfigurationOutcomeAlarmArgs.builder() .alarmIdentifier(exampleAwsCloudwatchMetricAlarm.arn()) .type("CLOUDWATCH") .build()) .resourceArn(exampleAwsLb.arn()) .zonalAutoshiftStatus("ENABLED") .blockedWindows("Mon:00:00-Mon:08:00") .build()); } }
-
-
Constructor Summary
Constructors Constructor Description ZonalAutoshiftConfiguration(java.lang.String name)ZonalAutoshiftConfiguration(java.lang.String name, ZonalAutoshiftConfigurationArgs args)ZonalAutoshiftConfiguration(java.lang.String name, ZonalAutoshiftConfigurationArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>>allowedWindows()com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>>blockedDates()com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>>blockedWindows()com.pulumi.core.Output<java.util.Optional<java.util.List<ZonalAutoshiftConfigurationBlockingAlarm>>>blockingAlarms()static ZonalAutoshiftConfigurationget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, ZonalAutoshiftConfigurationState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.util.Optional<java.util.List<ZonalAutoshiftConfigurationOutcomeAlarm>>>outcomeAlarms()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.lang.String>resourceArn()com.pulumi.core.Output<java.lang.String>zonalAutoshiftStatus()
-
-
-
Constructor Detail
-
ZonalAutoshiftConfiguration
public ZonalAutoshiftConfiguration(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
ZonalAutoshiftConfiguration
public ZonalAutoshiftConfiguration(java.lang.String name, ZonalAutoshiftConfigurationArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
ZonalAutoshiftConfiguration
public ZonalAutoshiftConfiguration(java.lang.String name, ZonalAutoshiftConfigurationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
allowedWindows
public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> allowedWindows()
- Returns:
- List of time windows during which practice runs are allowed, in the format `Day:HH:MM-Day:HH:MM` (e.g., `Mon:09:00-Mon:17:00`). Cannot be used together with `blockedWindows`.
-
blockedDates
public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> blockedDates()
- Returns:
- List of dates when practice runs should not be started, in the format `YYYY-MM-DD`.
-
blockedWindows
public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> blockedWindows()
- Returns:
- List of time windows during which practice runs should not be started, in the format `Day:HH:MM-Day:HH:MM` (e.g., `Mon:00:00-Mon:08:00`). Cannot be used together with `allowedWindows`.
-
blockingAlarms
public com.pulumi.core.Output<java.util.Optional<java.util.List<ZonalAutoshiftConfigurationBlockingAlarm>>> blockingAlarms()
- Returns:
- List of CloudWatch alarms that can block practice runs when in alarm state. See `blockingAlarms` below.
-
outcomeAlarms
public com.pulumi.core.Output<java.util.Optional<java.util.List<ZonalAutoshiftConfigurationOutcomeAlarm>>> outcomeAlarms()
- Returns:
- List of CloudWatch alarms monitored during practice runs. See `outcomeAlarms` below.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- AWS region where the resource is deployed.
-
resourceArn
public com.pulumi.core.Output<java.lang.String> resourceArn()
- Returns:
- The ARN of the managed resource to configure zonal autoshift for (e.g., an Application Load Balancer). Changing this creates a new resource.
-
zonalAutoshiftStatus
public com.pulumi.core.Output<java.lang.String> zonalAutoshiftStatus()
- Returns:
- The status of zonal autoshift. Valid values: `ENABLED`, `DISABLED`. The following arguments are optional:
-
get
public static ZonalAutoshiftConfiguration get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable ZonalAutoshiftConfigurationState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-