com.pulumi.aws.opsworks.JavaAppLayer Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.opsworks;
import com.pulumi.aws.Utilities;
import com.pulumi.aws.opsworks.JavaAppLayerArgs;
import com.pulumi.aws.opsworks.inputs.JavaAppLayerState;
import com.pulumi.aws.opsworks.outputs.JavaAppLayerCloudwatchConfiguration;
import com.pulumi.aws.opsworks.outputs.JavaAppLayerEbsVolume;
import com.pulumi.aws.opsworks.outputs.JavaAppLayerLoadBasedAutoScaling;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* Provides an OpsWorks Java application layer resource.
*
* ## Example Usage
*
* <!--Start PulumiCodeChooser -->
*
* {@code
* package generated_program;
*
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.aws.opsworks.JavaAppLayer;
* import com.pulumi.aws.opsworks.JavaAppLayerArgs;
* 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 app = new JavaAppLayer("app", JavaAppLayerArgs.builder()
* .stackId(main.id())
* .build());
*
* }
* }
* }
*
* <!--End PulumiCodeChooser -->
*
*/
@ResourceType(type="aws:opsworks/javaAppLayer:JavaAppLayer")
public class JavaAppLayer extends com.pulumi.resources.CustomResource {
/**
* Keyword for the application container to use. Defaults to "tomcat".
*
*/
@Export(name="appServer", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> appServer;
/**
* @return Keyword for the application container to use. Defaults to "tomcat".
*
*/
public Output> appServer() {
return Codegen.optional(this.appServer);
}
/**
* Version of the selected application container to use. Defaults to "7".
*
*/
@Export(name="appServerVersion", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> appServerVersion;
/**
* @return Version of the selected application container to use. Defaults to "7".
*
*/
public Output> appServerVersion() {
return Codegen.optional(this.appServerVersion);
}
/**
* The Amazon Resource Name(ARN) of the layer.
*
*/
@Export(name="arn", refs={String.class}, tree="[0]")
private Output arn;
/**
* @return The Amazon Resource Name(ARN) of the layer.
*
*/
public Output arn() {
return this.arn;
}
/**
* Whether to automatically assign an elastic IP address to the layer's instances.
*
*/
@Export(name="autoAssignElasticIps", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> autoAssignElasticIps;
/**
* @return Whether to automatically assign an elastic IP address to the layer's instances.
*
*/
public Output> autoAssignElasticIps() {
return Codegen.optional(this.autoAssignElasticIps);
}
/**
* For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
*
*/
@Export(name="autoAssignPublicIps", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> autoAssignPublicIps;
/**
* @return For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
*
*/
public Output> autoAssignPublicIps() {
return Codegen.optional(this.autoAssignPublicIps);
}
/**
* Whether to enable auto-healing for the layer.
*
*/
@Export(name="autoHealing", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> autoHealing;
/**
* @return Whether to enable auto-healing for the layer.
*
*/
public Output> autoHealing() {
return Codegen.optional(this.autoHealing);
}
@Export(name="cloudwatchConfiguration", refs={JavaAppLayerCloudwatchConfiguration.class}, tree="[0]")
private Output* @Nullable */ JavaAppLayerCloudwatchConfiguration> cloudwatchConfiguration;
public Output> cloudwatchConfiguration() {
return Codegen.optional(this.cloudwatchConfiguration);
}
@Export(name="customConfigureRecipes", refs={List.class,String.class}, tree="[0,1]")
private Output* @Nullable */ List> customConfigureRecipes;
public Output>> customConfigureRecipes() {
return Codegen.optional(this.customConfigureRecipes);
}
@Export(name="customDeployRecipes", refs={List.class,String.class}, tree="[0,1]")
private Output* @Nullable */ List> customDeployRecipes;
public Output>> customDeployRecipes() {
return Codegen.optional(this.customDeployRecipes);
}
/**
* The ARN of an IAM profile that will be used for the layer's instances.
*
*/
@Export(name="customInstanceProfileArn", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> customInstanceProfileArn;
/**
* @return The ARN of an IAM profile that will be used for the layer's instances.
*
*/
public Output> customInstanceProfileArn() {
return Codegen.optional(this.customInstanceProfileArn);
}
/**
* Custom JSON attributes to apply to the layer.
*
*/
@Export(name="customJson", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> customJson;
/**
* @return Custom JSON attributes to apply to the layer.
*
*/
public Output> customJson() {
return Codegen.optional(this.customJson);
}
/**
* Ids for a set of security groups to apply to the layer's instances.
*
*/
@Export(name="customSecurityGroupIds", refs={List.class,String.class}, tree="[0,1]")
private Output* @Nullable */ List> customSecurityGroupIds;
/**
* @return Ids for a set of security groups to apply to the layer's instances.
*
*/
public Output>> customSecurityGroupIds() {
return Codegen.optional(this.customSecurityGroupIds);
}
@Export(name="customSetupRecipes", refs={List.class,String.class}, tree="[0,1]")
private Output* @Nullable */ List> customSetupRecipes;
public Output>> customSetupRecipes() {
return Codegen.optional(this.customSetupRecipes);
}
@Export(name="customShutdownRecipes", refs={List.class,String.class}, tree="[0,1]")
private Output* @Nullable */ List> customShutdownRecipes;
public Output>> customShutdownRecipes() {
return Codegen.optional(this.customShutdownRecipes);
}
@Export(name="customUndeployRecipes", refs={List.class,String.class}, tree="[0,1]")
private Output* @Nullable */ List> customUndeployRecipes;
public Output>> customUndeployRecipes() {
return Codegen.optional(this.customUndeployRecipes);
}
/**
* Whether to enable Elastic Load Balancing connection draining.
*
*/
@Export(name="drainElbOnShutdown", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> drainElbOnShutdown;
/**
* @return Whether to enable Elastic Load Balancing connection draining.
*
*/
public Output> drainElbOnShutdown() {
return Codegen.optional(this.drainElbOnShutdown);
}
/**
* `ebs_volume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
*
*/
@Export(name="ebsVolumes", refs={List.class,JavaAppLayerEbsVolume.class}, tree="[0,1]")
private Output> ebsVolumes;
/**
* @return `ebs_volume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
*
*/
public Output> ebsVolumes() {
return this.ebsVolumes;
}
/**
* Name of an Elastic Load Balancer to attach to this layer
*
*/
@Export(name="elasticLoadBalancer", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> elasticLoadBalancer;
/**
* @return Name of an Elastic Load Balancer to attach to this layer
*
*/
public Output> elasticLoadBalancer() {
return Codegen.optional(this.elasticLoadBalancer);
}
/**
* Whether to install OS and package updates on each instance when it boots.
*
*/
@Export(name="installUpdatesOnBoot", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> installUpdatesOnBoot;
/**
* @return Whether to install OS and package updates on each instance when it boots.
*
*/
public Output> installUpdatesOnBoot() {
return Codegen.optional(this.installUpdatesOnBoot);
}
/**
* The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
*
*/
@Export(name="instanceShutdownTimeout", refs={Integer.class}, tree="[0]")
private Output* @Nullable */ Integer> instanceShutdownTimeout;
/**
* @return The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
*
*/
public Output> instanceShutdownTimeout() {
return Codegen.optional(this.instanceShutdownTimeout);
}
/**
* Options to set for the JVM.
*
*/
@Export(name="jvmOptions", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> jvmOptions;
/**
* @return Options to set for the JVM.
*
*/
public Output> jvmOptions() {
return Codegen.optional(this.jvmOptions);
}
/**
* Keyword for the type of JVM to use. Defaults to `openjdk`.
*
*/
@Export(name="jvmType", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> jvmType;
/**
* @return Keyword for the type of JVM to use. Defaults to `openjdk`.
*
*/
public Output> jvmType() {
return Codegen.optional(this.jvmType);
}
/**
* Version of JVM to use. Defaults to "7".
*
*/
@Export(name="jvmVersion", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> jvmVersion;
/**
* @return Version of JVM to use. Defaults to "7".
*
*/
public Output> jvmVersion() {
return Codegen.optional(this.jvmVersion);
}
@Export(name="loadBasedAutoScaling", refs={JavaAppLayerLoadBasedAutoScaling.class}, tree="[0]")
private Output loadBasedAutoScaling;
public Output loadBasedAutoScaling() {
return this.loadBasedAutoScaling;
}
/**
* A human-readable name for the layer.
*
*/
@Export(name="name", refs={String.class}, tree="[0]")
private Output name;
/**
* @return A human-readable name for the layer.
*
*/
public Output name() {
return this.name;
}
/**
* ID of the stack the layer will belong to.
*
*/
@Export(name="stackId", refs={String.class}, tree="[0]")
private Output stackId;
/**
* @return ID of the stack the layer will belong to.
*
*/
public Output stackId() {
return this.stackId;
}
/**
* Names of a set of system packages to install on the layer's instances.
*
*/
@Export(name="systemPackages", refs={List.class,String.class}, tree="[0,1]")
private Output* @Nullable */ List> systemPackages;
/**
* @return Names of a set of system packages to install on the layer's instances.
*
*/
public Output>> systemPackages() {
return Codegen.optional(this.systemPackages);
}
/**
* A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* The following extra optional arguments, all lists of Chef recipe names, allow
* custom Chef recipes to be applied to layer instances at the five different
* lifecycle events, if custom cookbooks are enabled on the layer's stack:
*
*/
@Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]")
private Output* @Nullable */ Map> tags;
/**
* @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* The following extra optional arguments, all lists of Chef recipe names, allow
* custom Chef recipes to be applied to layer instances at the five different
* lifecycle events, if custom cookbooks are enabled on the layer's stack:
*
*/
public Output>> tags() {
return Codegen.optional(this.tags);
}
/**
* A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
@Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]")
private Output
© 2015 - 2025 Weber Informatics LLC | Privacy Policy