opsworks

package
v2.13.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 22, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Application

type Application struct {
	pulumi.CustomResourceState

	// SCM configuration of the app as described below.
	AppSources ApplicationAppSourceArrayOutput `pulumi:"appSources"`
	// Run bundle install when deploying for application of type `rails`.
	AutoBundleOnDeploy pulumi.StringPtrOutput `pulumi:"autoBundleOnDeploy"`
	// Specify activity and workflow workers for your app using the aws-flow gem.
	AwsFlowRubySettings pulumi.StringPtrOutput `pulumi:"awsFlowRubySettings"`
	// The data source's ARN.
	DataSourceArn pulumi.StringPtrOutput `pulumi:"dataSourceArn"`
	// The database name.
	DataSourceDatabaseName pulumi.StringPtrOutput `pulumi:"dataSourceDatabaseName"`
	// The data source's type one of `AutoSelectOpsworksMysqlInstance`, `OpsworksMysqlInstance`, or `RdsDbInstance`.
	DataSourceType pulumi.StringPtrOutput `pulumi:"dataSourceType"`
	// A description of the app.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Subfolder for the document root for application of type `rails`.
	DocumentRoot pulumi.StringPtrOutput `pulumi:"documentRoot"`
	// A list of virtual host alias.
	Domains pulumi.StringArrayOutput `pulumi:"domains"`
	// Whether to enable SSL for the app. This must be set in order to let `ssl_configuration.private_key`, `ssl_configuration.certificate` and `ssl_configuration.chain` take effect.
	EnableSsl pulumi.BoolPtrOutput `pulumi:"enableSsl"`
	// Object to define environment variables.  Object is described below.
	Environments ApplicationEnvironmentArrayOutput `pulumi:"environments"`
	// A human-readable name for the application.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the Rails environment for application of type `rails`.
	RailsEnv pulumi.StringPtrOutput `pulumi:"railsEnv"`
	// A short, machine-readable name for the application. This can only be defined on resource creation and ignored on resource update.
	ShortName pulumi.StringOutput `pulumi:"shortName"`
	// The SSL configuration of the app. Object is described below.
	SslConfigurations ApplicationSslConfigurationArrayOutput `pulumi:"sslConfigurations"`
	// The id of the stack the application will belong to.
	StackId pulumi.StringOutput `pulumi:"stackId"`
	// Opsworks application type. One of `aws-flow-ruby`, `java`, `rails`, `php`, `nodejs`, `static` or `other`.
	Type pulumi.StringOutput `pulumi:"type"`
}

Provides an OpsWorks application resource.

func GetApplication

func GetApplication(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ApplicationState, opts ...pulumi.ResourceOption) (*Application, error)

GetApplication gets an existing Application resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewApplication

func NewApplication(ctx *pulumi.Context,
	name string, args *ApplicationArgs, opts ...pulumi.ResourceOption) (*Application, error)

NewApplication registers a new resource with the given unique name, arguments, and options.

type ApplicationAppSource

type ApplicationAppSource struct {
	// Password to use when authenticating to the source. This provider cannot perform drift detection of this configuration.
	Password *string `pulumi:"password"`
	// For sources that are version-aware, the revision to use.
	Revision *string `pulumi:"revision"`
	// SSH key to use when authenticating to the source. This provider cannot perform drift detection of this configuration.
	SshKey *string `pulumi:"sshKey"`
	// The type of source to use. For example, "archive".
	Type string `pulumi:"type"`
	// The URL where the app resource can be found.
	Url *string `pulumi:"url"`
	// Username to use when authenticating to the source.
	Username *string `pulumi:"username"`
}

type ApplicationAppSourceArgs

type ApplicationAppSourceArgs struct {
	// Password to use when authenticating to the source. This provider cannot perform drift detection of this configuration.
	Password pulumi.StringPtrInput `pulumi:"password"`
	// For sources that are version-aware, the revision to use.
	Revision pulumi.StringPtrInput `pulumi:"revision"`
	// SSH key to use when authenticating to the source. This provider cannot perform drift detection of this configuration.
	SshKey pulumi.StringPtrInput `pulumi:"sshKey"`
	// The type of source to use. For example, "archive".
	Type pulumi.StringInput `pulumi:"type"`
	// The URL where the app resource can be found.
	Url pulumi.StringPtrInput `pulumi:"url"`
	// Username to use when authenticating to the source.
	Username pulumi.StringPtrInput `pulumi:"username"`
}

func (ApplicationAppSourceArgs) ElementType

func (ApplicationAppSourceArgs) ElementType() reflect.Type

func (ApplicationAppSourceArgs) ToApplicationAppSourceOutput

func (i ApplicationAppSourceArgs) ToApplicationAppSourceOutput() ApplicationAppSourceOutput

func (ApplicationAppSourceArgs) ToApplicationAppSourceOutputWithContext

func (i ApplicationAppSourceArgs) ToApplicationAppSourceOutputWithContext(ctx context.Context) ApplicationAppSourceOutput

type ApplicationAppSourceArray

type ApplicationAppSourceArray []ApplicationAppSourceInput

func (ApplicationAppSourceArray) ElementType

func (ApplicationAppSourceArray) ElementType() reflect.Type

func (ApplicationAppSourceArray) ToApplicationAppSourceArrayOutput

func (i ApplicationAppSourceArray) ToApplicationAppSourceArrayOutput() ApplicationAppSourceArrayOutput

func (ApplicationAppSourceArray) ToApplicationAppSourceArrayOutputWithContext

func (i ApplicationAppSourceArray) ToApplicationAppSourceArrayOutputWithContext(ctx context.Context) ApplicationAppSourceArrayOutput

type ApplicationAppSourceArrayInput

type ApplicationAppSourceArrayInput interface {
	pulumi.Input

	ToApplicationAppSourceArrayOutput() ApplicationAppSourceArrayOutput
	ToApplicationAppSourceArrayOutputWithContext(context.Context) ApplicationAppSourceArrayOutput
}

ApplicationAppSourceArrayInput is an input type that accepts ApplicationAppSourceArray and ApplicationAppSourceArrayOutput values. You can construct a concrete instance of `ApplicationAppSourceArrayInput` via:

ApplicationAppSourceArray{ ApplicationAppSourceArgs{...} }

type ApplicationAppSourceArrayOutput

type ApplicationAppSourceArrayOutput struct{ *pulumi.OutputState }

func (ApplicationAppSourceArrayOutput) ElementType

func (ApplicationAppSourceArrayOutput) Index

func (ApplicationAppSourceArrayOutput) ToApplicationAppSourceArrayOutput

func (o ApplicationAppSourceArrayOutput) ToApplicationAppSourceArrayOutput() ApplicationAppSourceArrayOutput

func (ApplicationAppSourceArrayOutput) ToApplicationAppSourceArrayOutputWithContext

func (o ApplicationAppSourceArrayOutput) ToApplicationAppSourceArrayOutputWithContext(ctx context.Context) ApplicationAppSourceArrayOutput

type ApplicationAppSourceInput

type ApplicationAppSourceInput interface {
	pulumi.Input

	ToApplicationAppSourceOutput() ApplicationAppSourceOutput
	ToApplicationAppSourceOutputWithContext(context.Context) ApplicationAppSourceOutput
}

ApplicationAppSourceInput is an input type that accepts ApplicationAppSourceArgs and ApplicationAppSourceOutput values. You can construct a concrete instance of `ApplicationAppSourceInput` via:

ApplicationAppSourceArgs{...}

type ApplicationAppSourceOutput

type ApplicationAppSourceOutput struct{ *pulumi.OutputState }

func (ApplicationAppSourceOutput) ElementType

func (ApplicationAppSourceOutput) ElementType() reflect.Type

func (ApplicationAppSourceOutput) Password

Password to use when authenticating to the source. This provider cannot perform drift detection of this configuration.

func (ApplicationAppSourceOutput) Revision

For sources that are version-aware, the revision to use.

func (ApplicationAppSourceOutput) SshKey

SSH key to use when authenticating to the source. This provider cannot perform drift detection of this configuration.

func (ApplicationAppSourceOutput) ToApplicationAppSourceOutput

func (o ApplicationAppSourceOutput) ToApplicationAppSourceOutput() ApplicationAppSourceOutput

func (ApplicationAppSourceOutput) ToApplicationAppSourceOutputWithContext

func (o ApplicationAppSourceOutput) ToApplicationAppSourceOutputWithContext(ctx context.Context) ApplicationAppSourceOutput

func (ApplicationAppSourceOutput) Type

The type of source to use. For example, "archive".

func (ApplicationAppSourceOutput) Url

The URL where the app resource can be found.

func (ApplicationAppSourceOutput) Username

Username to use when authenticating to the source.

type ApplicationArgs

type ApplicationArgs struct {
	// SCM configuration of the app as described below.
	AppSources ApplicationAppSourceArrayInput
	// Run bundle install when deploying for application of type `rails`.
	AutoBundleOnDeploy pulumi.StringPtrInput
	// Specify activity and workflow workers for your app using the aws-flow gem.
	AwsFlowRubySettings pulumi.StringPtrInput
	// The data source's ARN.
	DataSourceArn pulumi.StringPtrInput
	// The database name.
	DataSourceDatabaseName pulumi.StringPtrInput
	// The data source's type one of `AutoSelectOpsworksMysqlInstance`, `OpsworksMysqlInstance`, or `RdsDbInstance`.
	DataSourceType pulumi.StringPtrInput
	// A description of the app.
	Description pulumi.StringPtrInput
	// Subfolder for the document root for application of type `rails`.
	DocumentRoot pulumi.StringPtrInput
	// A list of virtual host alias.
	Domains pulumi.StringArrayInput
	// Whether to enable SSL for the app. This must be set in order to let `ssl_configuration.private_key`, `ssl_configuration.certificate` and `ssl_configuration.chain` take effect.
	EnableSsl pulumi.BoolPtrInput
	// Object to define environment variables.  Object is described below.
	Environments ApplicationEnvironmentArrayInput
	// A human-readable name for the application.
	Name pulumi.StringPtrInput
	// The name of the Rails environment for application of type `rails`.
	RailsEnv pulumi.StringPtrInput
	// A short, machine-readable name for the application. This can only be defined on resource creation and ignored on resource update.
	ShortName pulumi.StringPtrInput
	// The SSL configuration of the app. Object is described below.
	SslConfigurations ApplicationSslConfigurationArrayInput
	// The id of the stack the application will belong to.
	StackId pulumi.StringInput
	// Opsworks application type. One of `aws-flow-ruby`, `java`, `rails`, `php`, `nodejs`, `static` or `other`.
	Type pulumi.StringInput
}

The set of arguments for constructing a Application resource.

func (ApplicationArgs) ElementType

func (ApplicationArgs) ElementType() reflect.Type

type ApplicationEnvironment

type ApplicationEnvironment struct {
	// Variable name.
	Key string `pulumi:"key"`
	// Set visibility of the variable value to `true` or `false`.
	Secure *bool `pulumi:"secure"`
	// Variable value.
	Value string `pulumi:"value"`
}

type ApplicationEnvironmentArgs

type ApplicationEnvironmentArgs struct {
	// Variable name.
	Key pulumi.StringInput `pulumi:"key"`
	// Set visibility of the variable value to `true` or `false`.
	Secure pulumi.BoolPtrInput `pulumi:"secure"`
	// Variable value.
	Value pulumi.StringInput `pulumi:"value"`
}

func (ApplicationEnvironmentArgs) ElementType

func (ApplicationEnvironmentArgs) ElementType() reflect.Type

func (ApplicationEnvironmentArgs) ToApplicationEnvironmentOutput

func (i ApplicationEnvironmentArgs) ToApplicationEnvironmentOutput() ApplicationEnvironmentOutput

func (ApplicationEnvironmentArgs) ToApplicationEnvironmentOutputWithContext

func (i ApplicationEnvironmentArgs) ToApplicationEnvironmentOutputWithContext(ctx context.Context) ApplicationEnvironmentOutput

type ApplicationEnvironmentArray

type ApplicationEnvironmentArray []ApplicationEnvironmentInput

func (ApplicationEnvironmentArray) ElementType

func (ApplicationEnvironmentArray) ToApplicationEnvironmentArrayOutput

func (i ApplicationEnvironmentArray) ToApplicationEnvironmentArrayOutput() ApplicationEnvironmentArrayOutput

func (ApplicationEnvironmentArray) ToApplicationEnvironmentArrayOutputWithContext

func (i ApplicationEnvironmentArray) ToApplicationEnvironmentArrayOutputWithContext(ctx context.Context) ApplicationEnvironmentArrayOutput

type ApplicationEnvironmentArrayInput

type ApplicationEnvironmentArrayInput interface {
	pulumi.Input

	ToApplicationEnvironmentArrayOutput() ApplicationEnvironmentArrayOutput
	ToApplicationEnvironmentArrayOutputWithContext(context.Context) ApplicationEnvironmentArrayOutput
}

ApplicationEnvironmentArrayInput is an input type that accepts ApplicationEnvironmentArray and ApplicationEnvironmentArrayOutput values. You can construct a concrete instance of `ApplicationEnvironmentArrayInput` via:

ApplicationEnvironmentArray{ ApplicationEnvironmentArgs{...} }

type ApplicationEnvironmentArrayOutput

type ApplicationEnvironmentArrayOutput struct{ *pulumi.OutputState }

func (ApplicationEnvironmentArrayOutput) ElementType

func (ApplicationEnvironmentArrayOutput) Index

func (ApplicationEnvironmentArrayOutput) ToApplicationEnvironmentArrayOutput

func (o ApplicationEnvironmentArrayOutput) ToApplicationEnvironmentArrayOutput() ApplicationEnvironmentArrayOutput

func (ApplicationEnvironmentArrayOutput) ToApplicationEnvironmentArrayOutputWithContext

func (o ApplicationEnvironmentArrayOutput) ToApplicationEnvironmentArrayOutputWithContext(ctx context.Context) ApplicationEnvironmentArrayOutput

type ApplicationEnvironmentInput

type ApplicationEnvironmentInput interface {
	pulumi.Input

	ToApplicationEnvironmentOutput() ApplicationEnvironmentOutput
	ToApplicationEnvironmentOutputWithContext(context.Context) ApplicationEnvironmentOutput
}

ApplicationEnvironmentInput is an input type that accepts ApplicationEnvironmentArgs and ApplicationEnvironmentOutput values. You can construct a concrete instance of `ApplicationEnvironmentInput` via:

ApplicationEnvironmentArgs{...}

type ApplicationEnvironmentOutput

type ApplicationEnvironmentOutput struct{ *pulumi.OutputState }

func (ApplicationEnvironmentOutput) ElementType

func (ApplicationEnvironmentOutput) Key

Variable name.

func (ApplicationEnvironmentOutput) Secure

Set visibility of the variable value to `true` or `false`.

func (ApplicationEnvironmentOutput) ToApplicationEnvironmentOutput

func (o ApplicationEnvironmentOutput) ToApplicationEnvironmentOutput() ApplicationEnvironmentOutput

func (ApplicationEnvironmentOutput) ToApplicationEnvironmentOutputWithContext

func (o ApplicationEnvironmentOutput) ToApplicationEnvironmentOutputWithContext(ctx context.Context) ApplicationEnvironmentOutput

func (ApplicationEnvironmentOutput) Value

Variable value.

type ApplicationSslConfiguration

type ApplicationSslConfiguration struct {
	// The contents of the certificate's domain.crt file.
	Certificate string `pulumi:"certificate"`
	// Can be used to specify an intermediate certificate authority key or client authentication.
	Chain *string `pulumi:"chain"`
	// The private key; the contents of the certificate's domain.key file.
	PrivateKey string `pulumi:"privateKey"`
}

type ApplicationSslConfigurationArgs

type ApplicationSslConfigurationArgs struct {
	// The contents of the certificate's domain.crt file.
	Certificate pulumi.StringInput `pulumi:"certificate"`
	// Can be used to specify an intermediate certificate authority key or client authentication.
	Chain pulumi.StringPtrInput `pulumi:"chain"`
	// The private key; the contents of the certificate's domain.key file.
	PrivateKey pulumi.StringInput `pulumi:"privateKey"`
}

func (ApplicationSslConfigurationArgs) ElementType

func (ApplicationSslConfigurationArgs) ToApplicationSslConfigurationOutput

func (i ApplicationSslConfigurationArgs) ToApplicationSslConfigurationOutput() ApplicationSslConfigurationOutput

func (ApplicationSslConfigurationArgs) ToApplicationSslConfigurationOutputWithContext

func (i ApplicationSslConfigurationArgs) ToApplicationSslConfigurationOutputWithContext(ctx context.Context) ApplicationSslConfigurationOutput

type ApplicationSslConfigurationArray

type ApplicationSslConfigurationArray []ApplicationSslConfigurationInput

func (ApplicationSslConfigurationArray) ElementType

func (ApplicationSslConfigurationArray) ToApplicationSslConfigurationArrayOutput

func (i ApplicationSslConfigurationArray) ToApplicationSslConfigurationArrayOutput() ApplicationSslConfigurationArrayOutput

func (ApplicationSslConfigurationArray) ToApplicationSslConfigurationArrayOutputWithContext

func (i ApplicationSslConfigurationArray) ToApplicationSslConfigurationArrayOutputWithContext(ctx context.Context) ApplicationSslConfigurationArrayOutput

type ApplicationSslConfigurationArrayInput

type ApplicationSslConfigurationArrayInput interface {
	pulumi.Input

	ToApplicationSslConfigurationArrayOutput() ApplicationSslConfigurationArrayOutput
	ToApplicationSslConfigurationArrayOutputWithContext(context.Context) ApplicationSslConfigurationArrayOutput
}

ApplicationSslConfigurationArrayInput is an input type that accepts ApplicationSslConfigurationArray and ApplicationSslConfigurationArrayOutput values. You can construct a concrete instance of `ApplicationSslConfigurationArrayInput` via:

ApplicationSslConfigurationArray{ ApplicationSslConfigurationArgs{...} }

type ApplicationSslConfigurationArrayOutput

type ApplicationSslConfigurationArrayOutput struct{ *pulumi.OutputState }

func (ApplicationSslConfigurationArrayOutput) ElementType

func (ApplicationSslConfigurationArrayOutput) Index

func (ApplicationSslConfigurationArrayOutput) ToApplicationSslConfigurationArrayOutput

func (o ApplicationSslConfigurationArrayOutput) ToApplicationSslConfigurationArrayOutput() ApplicationSslConfigurationArrayOutput

func (ApplicationSslConfigurationArrayOutput) ToApplicationSslConfigurationArrayOutputWithContext

func (o ApplicationSslConfigurationArrayOutput) ToApplicationSslConfigurationArrayOutputWithContext(ctx context.Context) ApplicationSslConfigurationArrayOutput

type ApplicationSslConfigurationInput

type ApplicationSslConfigurationInput interface {
	pulumi.Input

	ToApplicationSslConfigurationOutput() ApplicationSslConfigurationOutput
	ToApplicationSslConfigurationOutputWithContext(context.Context) ApplicationSslConfigurationOutput
}

ApplicationSslConfigurationInput is an input type that accepts ApplicationSslConfigurationArgs and ApplicationSslConfigurationOutput values. You can construct a concrete instance of `ApplicationSslConfigurationInput` via:

ApplicationSslConfigurationArgs{...}

type ApplicationSslConfigurationOutput

type ApplicationSslConfigurationOutput struct{ *pulumi.OutputState }

func (ApplicationSslConfigurationOutput) Certificate

The contents of the certificate's domain.crt file.

func (ApplicationSslConfigurationOutput) Chain

Can be used to specify an intermediate certificate authority key or client authentication.

func (ApplicationSslConfigurationOutput) ElementType

func (ApplicationSslConfigurationOutput) PrivateKey

The private key; the contents of the certificate's domain.key file.

func (ApplicationSslConfigurationOutput) ToApplicationSslConfigurationOutput

func (o ApplicationSslConfigurationOutput) ToApplicationSslConfigurationOutput() ApplicationSslConfigurationOutput

func (ApplicationSslConfigurationOutput) ToApplicationSslConfigurationOutputWithContext

func (o ApplicationSslConfigurationOutput) ToApplicationSslConfigurationOutputWithContext(ctx context.Context) ApplicationSslConfigurationOutput

type ApplicationState

type ApplicationState struct {
	// SCM configuration of the app as described below.
	AppSources ApplicationAppSourceArrayInput
	// Run bundle install when deploying for application of type `rails`.
	AutoBundleOnDeploy pulumi.StringPtrInput
	// Specify activity and workflow workers for your app using the aws-flow gem.
	AwsFlowRubySettings pulumi.StringPtrInput
	// The data source's ARN.
	DataSourceArn pulumi.StringPtrInput
	// The database name.
	DataSourceDatabaseName pulumi.StringPtrInput
	// The data source's type one of `AutoSelectOpsworksMysqlInstance`, `OpsworksMysqlInstance`, or `RdsDbInstance`.
	DataSourceType pulumi.StringPtrInput
	// A description of the app.
	Description pulumi.StringPtrInput
	// Subfolder for the document root for application of type `rails`.
	DocumentRoot pulumi.StringPtrInput
	// A list of virtual host alias.
	Domains pulumi.StringArrayInput
	// Whether to enable SSL for the app. This must be set in order to let `ssl_configuration.private_key`, `ssl_configuration.certificate` and `ssl_configuration.chain` take effect.
	EnableSsl pulumi.BoolPtrInput
	// Object to define environment variables.  Object is described below.
	Environments ApplicationEnvironmentArrayInput
	// A human-readable name for the application.
	Name pulumi.StringPtrInput
	// The name of the Rails environment for application of type `rails`.
	RailsEnv pulumi.StringPtrInput
	// A short, machine-readable name for the application. This can only be defined on resource creation and ignored on resource update.
	ShortName pulumi.StringPtrInput
	// The SSL configuration of the app. Object is described below.
	SslConfigurations ApplicationSslConfigurationArrayInput
	// The id of the stack the application will belong to.
	StackId pulumi.StringPtrInput
	// Opsworks application type. One of `aws-flow-ruby`, `java`, `rails`, `php`, `nodejs`, `static` or `other`.
	Type pulumi.StringPtrInput
}

func (ApplicationState) ElementType

func (ApplicationState) ElementType() reflect.Type

type CustomLayer

type CustomLayer struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrOutput `pulumi:"autoAssignElasticIps"`
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrOutput `pulumi:"autoAssignPublicIps"`
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrOutput     `pulumi:"autoHealing"`
	CustomConfigureRecipes pulumi.StringArrayOutput `pulumi:"customConfigureRecipes"`
	CustomDeployRecipes    pulumi.StringArrayOutput `pulumi:"customDeployRecipes"`
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrOutput `pulumi:"customInstanceProfileArn"`
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrOutput `pulumi:"customJson"`
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayOutput `pulumi:"customSecurityGroupIds"`
	CustomSetupRecipes     pulumi.StringArrayOutput `pulumi:"customSetupRecipes"`
	CustomShutdownRecipes  pulumi.StringArrayOutput `pulumi:"customShutdownRecipes"`
	CustomUndeployRecipes  pulumi.StringArrayOutput `pulumi:"customUndeployRecipes"`
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrOutput `pulumi:"drainElbOnShutdown"`
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes CustomLayerEbsVolumeArrayOutput `pulumi:"ebsVolumes"`
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrOutput `pulumi:"elasticLoadBalancer"`
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"`
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"`
	// A human-readable name for the layer.
	Name pulumi.StringOutput `pulumi:"name"`
	// A short, machine-readable name for the layer, which will be used to identify it in the Chef node JSON.
	ShortName pulumi.StringOutput `pulumi:"shortName"`
	// The id of the stack the layer will belong to.
	StackId pulumi.StringOutput `pulumi:"stackId"`
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayOutput `pulumi:"systemPackages"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrOutput `pulumi:"useEbsOptimizedInstances"`
}

Provides an OpsWorks custom layer resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/opsworks"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := opsworks.NewCustomLayer(ctx, "custlayer", &opsworks.CustomLayerArgs{
			ShortName: pulumi.String("awesome"),
			StackId:   pulumi.String(aws_opsworks_stack.Main.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetCustomLayer

func GetCustomLayer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CustomLayerState, opts ...pulumi.ResourceOption) (*CustomLayer, error)

GetCustomLayer gets an existing CustomLayer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCustomLayer

func NewCustomLayer(ctx *pulumi.Context,
	name string, args *CustomLayerArgs, opts ...pulumi.ResourceOption) (*CustomLayer, error)

NewCustomLayer registers a new resource with the given unique name, arguments, and options.

type CustomLayerArgs

type CustomLayerArgs struct {
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes CustomLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// A short, machine-readable name for the layer, which will be used to identify it in the Chef node JSON.
	ShortName pulumi.StringInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

The set of arguments for constructing a CustomLayer resource.

func (CustomLayerArgs) ElementType

func (CustomLayerArgs) ElementType() reflect.Type

type CustomLayerEbsVolume

type CustomLayerEbsVolume struct {
	// Encrypt the volume.
	Encrypted *bool `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops *int `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint string `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks int `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel *string `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size int `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type *string `pulumi:"type"`
}

type CustomLayerEbsVolumeArgs

type CustomLayerEbsVolumeArgs struct {
	// Encrypt the volume.
	Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint pulumi.StringInput `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size pulumi.IntInput `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (CustomLayerEbsVolumeArgs) ElementType

func (CustomLayerEbsVolumeArgs) ElementType() reflect.Type

func (CustomLayerEbsVolumeArgs) ToCustomLayerEbsVolumeOutput

func (i CustomLayerEbsVolumeArgs) ToCustomLayerEbsVolumeOutput() CustomLayerEbsVolumeOutput

func (CustomLayerEbsVolumeArgs) ToCustomLayerEbsVolumeOutputWithContext

func (i CustomLayerEbsVolumeArgs) ToCustomLayerEbsVolumeOutputWithContext(ctx context.Context) CustomLayerEbsVolumeOutput

type CustomLayerEbsVolumeArray

type CustomLayerEbsVolumeArray []CustomLayerEbsVolumeInput

func (CustomLayerEbsVolumeArray) ElementType

func (CustomLayerEbsVolumeArray) ElementType() reflect.Type

func (CustomLayerEbsVolumeArray) ToCustomLayerEbsVolumeArrayOutput

func (i CustomLayerEbsVolumeArray) ToCustomLayerEbsVolumeArrayOutput() CustomLayerEbsVolumeArrayOutput

func (CustomLayerEbsVolumeArray) ToCustomLayerEbsVolumeArrayOutputWithContext

func (i CustomLayerEbsVolumeArray) ToCustomLayerEbsVolumeArrayOutputWithContext(ctx context.Context) CustomLayerEbsVolumeArrayOutput

type CustomLayerEbsVolumeArrayInput

type CustomLayerEbsVolumeArrayInput interface {
	pulumi.Input

	ToCustomLayerEbsVolumeArrayOutput() CustomLayerEbsVolumeArrayOutput
	ToCustomLayerEbsVolumeArrayOutputWithContext(context.Context) CustomLayerEbsVolumeArrayOutput
}

CustomLayerEbsVolumeArrayInput is an input type that accepts CustomLayerEbsVolumeArray and CustomLayerEbsVolumeArrayOutput values. You can construct a concrete instance of `CustomLayerEbsVolumeArrayInput` via:

CustomLayerEbsVolumeArray{ CustomLayerEbsVolumeArgs{...} }

type CustomLayerEbsVolumeArrayOutput

type CustomLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState }

func (CustomLayerEbsVolumeArrayOutput) ElementType

func (CustomLayerEbsVolumeArrayOutput) Index

func (CustomLayerEbsVolumeArrayOutput) ToCustomLayerEbsVolumeArrayOutput

func (o CustomLayerEbsVolumeArrayOutput) ToCustomLayerEbsVolumeArrayOutput() CustomLayerEbsVolumeArrayOutput

func (CustomLayerEbsVolumeArrayOutput) ToCustomLayerEbsVolumeArrayOutputWithContext

func (o CustomLayerEbsVolumeArrayOutput) ToCustomLayerEbsVolumeArrayOutputWithContext(ctx context.Context) CustomLayerEbsVolumeArrayOutput

type CustomLayerEbsVolumeInput

type CustomLayerEbsVolumeInput interface {
	pulumi.Input

	ToCustomLayerEbsVolumeOutput() CustomLayerEbsVolumeOutput
	ToCustomLayerEbsVolumeOutputWithContext(context.Context) CustomLayerEbsVolumeOutput
}

CustomLayerEbsVolumeInput is an input type that accepts CustomLayerEbsVolumeArgs and CustomLayerEbsVolumeOutput values. You can construct a concrete instance of `CustomLayerEbsVolumeInput` via:

CustomLayerEbsVolumeArgs{...}

type CustomLayerEbsVolumeOutput

type CustomLayerEbsVolumeOutput struct{ *pulumi.OutputState }

func (CustomLayerEbsVolumeOutput) ElementType

func (CustomLayerEbsVolumeOutput) ElementType() reflect.Type

func (CustomLayerEbsVolumeOutput) Encrypted

Encrypt the volume.

func (CustomLayerEbsVolumeOutput) Iops

For PIOPS volumes, the IOPS per disk.

func (CustomLayerEbsVolumeOutput) MountPoint

The path to mount the EBS volume on the layer's instances.

func (CustomLayerEbsVolumeOutput) NumberOfDisks

func (o CustomLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput

The number of disks to use for the EBS volume.

func (CustomLayerEbsVolumeOutput) RaidLevel

The RAID level to use for the volume.

func (CustomLayerEbsVolumeOutput) Size

The size of the volume in gigabytes.

func (CustomLayerEbsVolumeOutput) ToCustomLayerEbsVolumeOutput

func (o CustomLayerEbsVolumeOutput) ToCustomLayerEbsVolumeOutput() CustomLayerEbsVolumeOutput

func (CustomLayerEbsVolumeOutput) ToCustomLayerEbsVolumeOutputWithContext

func (o CustomLayerEbsVolumeOutput) ToCustomLayerEbsVolumeOutputWithContext(ctx context.Context) CustomLayerEbsVolumeOutput

func (CustomLayerEbsVolumeOutput) Type

The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.

type CustomLayerState

type CustomLayerState struct {
	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringPtrInput
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes CustomLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// A short, machine-readable name for the layer, which will be used to identify it in the Chef node JSON.
	ShortName pulumi.StringPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringPtrInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

func (CustomLayerState) ElementType

func (CustomLayerState) ElementType() reflect.Type

type GangliaLayer

type GangliaLayer struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrOutput `pulumi:"autoAssignElasticIps"`
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrOutput `pulumi:"autoAssignPublicIps"`
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrOutput     `pulumi:"autoHealing"`
	CustomConfigureRecipes pulumi.StringArrayOutput `pulumi:"customConfigureRecipes"`
	CustomDeployRecipes    pulumi.StringArrayOutput `pulumi:"customDeployRecipes"`
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrOutput `pulumi:"customInstanceProfileArn"`
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrOutput `pulumi:"customJson"`
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayOutput `pulumi:"customSecurityGroupIds"`
	CustomSetupRecipes     pulumi.StringArrayOutput `pulumi:"customSetupRecipes"`
	CustomShutdownRecipes  pulumi.StringArrayOutput `pulumi:"customShutdownRecipes"`
	CustomUndeployRecipes  pulumi.StringArrayOutput `pulumi:"customUndeployRecipes"`
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrOutput `pulumi:"drainElbOnShutdown"`
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes GangliaLayerEbsVolumeArrayOutput `pulumi:"ebsVolumes"`
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrOutput `pulumi:"elasticLoadBalancer"`
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"`
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"`
	// A human-readable name for the layer.
	Name pulumi.StringOutput `pulumi:"name"`
	// The password to use for Ganglia.
	Password pulumi.StringOutput `pulumi:"password"`
	// The id of the stack the layer will belong to.
	StackId pulumi.StringOutput `pulumi:"stackId"`
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayOutput `pulumi:"systemPackages"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The URL path to use for Ganglia. Defaults to "/ganglia".
	Url pulumi.StringPtrOutput `pulumi:"url"`
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrOutput `pulumi:"useEbsOptimizedInstances"`
	// The username to use for Ganglia. Defaults to "opsworks".
	Username pulumi.StringPtrOutput `pulumi:"username"`
}

Provides an OpsWorks Ganglia layer resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/opsworks"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := opsworks.NewGangliaLayer(ctx, "monitor", &opsworks.GangliaLayerArgs{
			Password: pulumi.String("foobarbaz"),
			StackId:  pulumi.String(aws_opsworks_stack.Main.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetGangliaLayer

func GetGangliaLayer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GangliaLayerState, opts ...pulumi.ResourceOption) (*GangliaLayer, error)

GetGangliaLayer gets an existing GangliaLayer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGangliaLayer

func NewGangliaLayer(ctx *pulumi.Context,
	name string, args *GangliaLayerArgs, opts ...pulumi.ResourceOption) (*GangliaLayer, error)

NewGangliaLayer registers a new resource with the given unique name, arguments, and options.

type GangliaLayerArgs

type GangliaLayerArgs struct {
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes GangliaLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// The password to use for Ganglia.
	Password pulumi.StringInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The URL path to use for Ganglia. Defaults to "/ganglia".
	Url pulumi.StringPtrInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
	// The username to use for Ganglia. Defaults to "opsworks".
	Username pulumi.StringPtrInput
}

The set of arguments for constructing a GangliaLayer resource.

func (GangliaLayerArgs) ElementType

func (GangliaLayerArgs) ElementType() reflect.Type

type GangliaLayerEbsVolume

type GangliaLayerEbsVolume struct {
	Encrypted *bool `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops *int `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint string `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks int `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel *string `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size int `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type *string `pulumi:"type"`
}

type GangliaLayerEbsVolumeArgs

type GangliaLayerEbsVolumeArgs struct {
	Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint pulumi.StringInput `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size pulumi.IntInput `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (GangliaLayerEbsVolumeArgs) ElementType

func (GangliaLayerEbsVolumeArgs) ElementType() reflect.Type

func (GangliaLayerEbsVolumeArgs) ToGangliaLayerEbsVolumeOutput

func (i GangliaLayerEbsVolumeArgs) ToGangliaLayerEbsVolumeOutput() GangliaLayerEbsVolumeOutput

func (GangliaLayerEbsVolumeArgs) ToGangliaLayerEbsVolumeOutputWithContext

func (i GangliaLayerEbsVolumeArgs) ToGangliaLayerEbsVolumeOutputWithContext(ctx context.Context) GangliaLayerEbsVolumeOutput

type GangliaLayerEbsVolumeArray

type GangliaLayerEbsVolumeArray []GangliaLayerEbsVolumeInput

func (GangliaLayerEbsVolumeArray) ElementType

func (GangliaLayerEbsVolumeArray) ElementType() reflect.Type

func (GangliaLayerEbsVolumeArray) ToGangliaLayerEbsVolumeArrayOutput

func (i GangliaLayerEbsVolumeArray) ToGangliaLayerEbsVolumeArrayOutput() GangliaLayerEbsVolumeArrayOutput

func (GangliaLayerEbsVolumeArray) ToGangliaLayerEbsVolumeArrayOutputWithContext

func (i GangliaLayerEbsVolumeArray) ToGangliaLayerEbsVolumeArrayOutputWithContext(ctx context.Context) GangliaLayerEbsVolumeArrayOutput

type GangliaLayerEbsVolumeArrayInput

type GangliaLayerEbsVolumeArrayInput interface {
	pulumi.Input

	ToGangliaLayerEbsVolumeArrayOutput() GangliaLayerEbsVolumeArrayOutput
	ToGangliaLayerEbsVolumeArrayOutputWithContext(context.Context) GangliaLayerEbsVolumeArrayOutput
}

GangliaLayerEbsVolumeArrayInput is an input type that accepts GangliaLayerEbsVolumeArray and GangliaLayerEbsVolumeArrayOutput values. You can construct a concrete instance of `GangliaLayerEbsVolumeArrayInput` via:

GangliaLayerEbsVolumeArray{ GangliaLayerEbsVolumeArgs{...} }

type GangliaLayerEbsVolumeArrayOutput

type GangliaLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState }

func (GangliaLayerEbsVolumeArrayOutput) ElementType

func (GangliaLayerEbsVolumeArrayOutput) Index

func (GangliaLayerEbsVolumeArrayOutput) ToGangliaLayerEbsVolumeArrayOutput

func (o GangliaLayerEbsVolumeArrayOutput) ToGangliaLayerEbsVolumeArrayOutput() GangliaLayerEbsVolumeArrayOutput

func (GangliaLayerEbsVolumeArrayOutput) ToGangliaLayerEbsVolumeArrayOutputWithContext

func (o GangliaLayerEbsVolumeArrayOutput) ToGangliaLayerEbsVolumeArrayOutputWithContext(ctx context.Context) GangliaLayerEbsVolumeArrayOutput

type GangliaLayerEbsVolumeInput

type GangliaLayerEbsVolumeInput interface {
	pulumi.Input

	ToGangliaLayerEbsVolumeOutput() GangliaLayerEbsVolumeOutput
	ToGangliaLayerEbsVolumeOutputWithContext(context.Context) GangliaLayerEbsVolumeOutput
}

GangliaLayerEbsVolumeInput is an input type that accepts GangliaLayerEbsVolumeArgs and GangliaLayerEbsVolumeOutput values. You can construct a concrete instance of `GangliaLayerEbsVolumeInput` via:

GangliaLayerEbsVolumeArgs{...}

type GangliaLayerEbsVolumeOutput

type GangliaLayerEbsVolumeOutput struct{ *pulumi.OutputState }

func (GangliaLayerEbsVolumeOutput) ElementType

func (GangliaLayerEbsVolumeOutput) Encrypted

func (GangliaLayerEbsVolumeOutput) Iops

For PIOPS volumes, the IOPS per disk.

func (GangliaLayerEbsVolumeOutput) MountPoint

The path to mount the EBS volume on the layer's instances.

func (GangliaLayerEbsVolumeOutput) NumberOfDisks

func (o GangliaLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput

The number of disks to use for the EBS volume.

func (GangliaLayerEbsVolumeOutput) RaidLevel

The RAID level to use for the volume.

func (GangliaLayerEbsVolumeOutput) Size

The size of the volume in gigabytes.

func (GangliaLayerEbsVolumeOutput) ToGangliaLayerEbsVolumeOutput

func (o GangliaLayerEbsVolumeOutput) ToGangliaLayerEbsVolumeOutput() GangliaLayerEbsVolumeOutput

func (GangliaLayerEbsVolumeOutput) ToGangliaLayerEbsVolumeOutputWithContext

func (o GangliaLayerEbsVolumeOutput) ToGangliaLayerEbsVolumeOutputWithContext(ctx context.Context) GangliaLayerEbsVolumeOutput

func (GangliaLayerEbsVolumeOutput) Type

The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.

type GangliaLayerState

type GangliaLayerState struct {
	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringPtrInput
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes GangliaLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// The password to use for Ganglia.
	Password pulumi.StringPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringPtrInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The URL path to use for Ganglia. Defaults to "/ganglia".
	Url pulumi.StringPtrInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
	// The username to use for Ganglia. Defaults to "opsworks".
	Username pulumi.StringPtrInput
}

func (GangliaLayerState) ElementType

func (GangliaLayerState) ElementType() reflect.Type

type HaproxyLayer

type HaproxyLayer struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrOutput `pulumi:"autoAssignElasticIps"`
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrOutput `pulumi:"autoAssignPublicIps"`
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrOutput     `pulumi:"autoHealing"`
	CustomConfigureRecipes pulumi.StringArrayOutput `pulumi:"customConfigureRecipes"`
	CustomDeployRecipes    pulumi.StringArrayOutput `pulumi:"customDeployRecipes"`
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrOutput `pulumi:"customInstanceProfileArn"`
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrOutput `pulumi:"customJson"`
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayOutput `pulumi:"customSecurityGroupIds"`
	CustomSetupRecipes     pulumi.StringArrayOutput `pulumi:"customSetupRecipes"`
	CustomShutdownRecipes  pulumi.StringArrayOutput `pulumi:"customShutdownRecipes"`
	CustomUndeployRecipes  pulumi.StringArrayOutput `pulumi:"customUndeployRecipes"`
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrOutput `pulumi:"drainElbOnShutdown"`
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes HaproxyLayerEbsVolumeArrayOutput `pulumi:"ebsVolumes"`
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrOutput `pulumi:"elasticLoadBalancer"`
	// HTTP method to use for instance healthchecks. Defaults to "OPTIONS".
	HealthcheckMethod pulumi.StringPtrOutput `pulumi:"healthcheckMethod"`
	// URL path to use for instance healthchecks. Defaults to "/".
	HealthcheckUrl pulumi.StringPtrOutput `pulumi:"healthcheckUrl"`
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"`
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"`
	// A human-readable name for the layer.
	Name pulumi.StringOutput `pulumi:"name"`
	// The id of the stack the layer will belong to.
	StackId pulumi.StringOutput `pulumi:"stackId"`
	// Whether to enable HAProxy stats.
	StatsEnabled pulumi.BoolPtrOutput `pulumi:"statsEnabled"`
	// The password to use for HAProxy stats.
	StatsPassword pulumi.StringOutput `pulumi:"statsPassword"`
	// The HAProxy stats URL. Defaults to "/haproxy?stats".
	StatsUrl pulumi.StringPtrOutput `pulumi:"statsUrl"`
	// The username for HAProxy stats. Defaults to "opsworks".
	StatsUser pulumi.StringPtrOutput `pulumi:"statsUser"`
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayOutput `pulumi:"systemPackages"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrOutput `pulumi:"useEbsOptimizedInstances"`
}

Provides an OpsWorks haproxy layer resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/opsworks"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := opsworks.NewHaproxyLayer(ctx, "lb", &opsworks.HaproxyLayerArgs{
			StackId:       pulumi.String(aws_opsworks_stack.Main.Id),
			StatsPassword: pulumi.String("foobarbaz"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetHaproxyLayer

func GetHaproxyLayer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HaproxyLayerState, opts ...pulumi.ResourceOption) (*HaproxyLayer, error)

GetHaproxyLayer gets an existing HaproxyLayer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHaproxyLayer

func NewHaproxyLayer(ctx *pulumi.Context,
	name string, args *HaproxyLayerArgs, opts ...pulumi.ResourceOption) (*HaproxyLayer, error)

NewHaproxyLayer registers a new resource with the given unique name, arguments, and options.

type HaproxyLayerArgs

type HaproxyLayerArgs struct {
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes HaproxyLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// HTTP method to use for instance healthchecks. Defaults to "OPTIONS".
	HealthcheckMethod pulumi.StringPtrInput
	// URL path to use for instance healthchecks. Defaults to "/".
	HealthcheckUrl pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringInput
	// Whether to enable HAProxy stats.
	StatsEnabled pulumi.BoolPtrInput
	// The password to use for HAProxy stats.
	StatsPassword pulumi.StringInput
	// The HAProxy stats URL. Defaults to "/haproxy?stats".
	StatsUrl pulumi.StringPtrInput
	// The username for HAProxy stats. Defaults to "opsworks".
	StatsUser pulumi.StringPtrInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

The set of arguments for constructing a HaproxyLayer resource.

func (HaproxyLayerArgs) ElementType

func (HaproxyLayerArgs) ElementType() reflect.Type

type HaproxyLayerEbsVolume

type HaproxyLayerEbsVolume struct {
	Encrypted *bool `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops *int `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint string `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks int `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel *string `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size int `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type *string `pulumi:"type"`
}

type HaproxyLayerEbsVolumeArgs

type HaproxyLayerEbsVolumeArgs struct {
	Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint pulumi.StringInput `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size pulumi.IntInput `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (HaproxyLayerEbsVolumeArgs) ElementType

func (HaproxyLayerEbsVolumeArgs) ElementType() reflect.Type

func (HaproxyLayerEbsVolumeArgs) ToHaproxyLayerEbsVolumeOutput

func (i HaproxyLayerEbsVolumeArgs) ToHaproxyLayerEbsVolumeOutput() HaproxyLayerEbsVolumeOutput

func (HaproxyLayerEbsVolumeArgs) ToHaproxyLayerEbsVolumeOutputWithContext

func (i HaproxyLayerEbsVolumeArgs) ToHaproxyLayerEbsVolumeOutputWithContext(ctx context.Context) HaproxyLayerEbsVolumeOutput

type HaproxyLayerEbsVolumeArray

type HaproxyLayerEbsVolumeArray []HaproxyLayerEbsVolumeInput

func (HaproxyLayerEbsVolumeArray) ElementType

func (HaproxyLayerEbsVolumeArray) ElementType() reflect.Type

func (HaproxyLayerEbsVolumeArray) ToHaproxyLayerEbsVolumeArrayOutput

func (i HaproxyLayerEbsVolumeArray) ToHaproxyLayerEbsVolumeArrayOutput() HaproxyLayerEbsVolumeArrayOutput

func (HaproxyLayerEbsVolumeArray) ToHaproxyLayerEbsVolumeArrayOutputWithContext

func (i HaproxyLayerEbsVolumeArray) ToHaproxyLayerEbsVolumeArrayOutputWithContext(ctx context.Context) HaproxyLayerEbsVolumeArrayOutput

type HaproxyLayerEbsVolumeArrayInput

type HaproxyLayerEbsVolumeArrayInput interface {
	pulumi.Input

	ToHaproxyLayerEbsVolumeArrayOutput() HaproxyLayerEbsVolumeArrayOutput
	ToHaproxyLayerEbsVolumeArrayOutputWithContext(context.Context) HaproxyLayerEbsVolumeArrayOutput
}

HaproxyLayerEbsVolumeArrayInput is an input type that accepts HaproxyLayerEbsVolumeArray and HaproxyLayerEbsVolumeArrayOutput values. You can construct a concrete instance of `HaproxyLayerEbsVolumeArrayInput` via:

HaproxyLayerEbsVolumeArray{ HaproxyLayerEbsVolumeArgs{...} }

type HaproxyLayerEbsVolumeArrayOutput

type HaproxyLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState }

func (HaproxyLayerEbsVolumeArrayOutput) ElementType

func (HaproxyLayerEbsVolumeArrayOutput) Index

func (HaproxyLayerEbsVolumeArrayOutput) ToHaproxyLayerEbsVolumeArrayOutput

func (o HaproxyLayerEbsVolumeArrayOutput) ToHaproxyLayerEbsVolumeArrayOutput() HaproxyLayerEbsVolumeArrayOutput

func (HaproxyLayerEbsVolumeArrayOutput) ToHaproxyLayerEbsVolumeArrayOutputWithContext

func (o HaproxyLayerEbsVolumeArrayOutput) ToHaproxyLayerEbsVolumeArrayOutputWithContext(ctx context.Context) HaproxyLayerEbsVolumeArrayOutput

type HaproxyLayerEbsVolumeInput

type HaproxyLayerEbsVolumeInput interface {
	pulumi.Input

	ToHaproxyLayerEbsVolumeOutput() HaproxyLayerEbsVolumeOutput
	ToHaproxyLayerEbsVolumeOutputWithContext(context.Context) HaproxyLayerEbsVolumeOutput
}

HaproxyLayerEbsVolumeInput is an input type that accepts HaproxyLayerEbsVolumeArgs and HaproxyLayerEbsVolumeOutput values. You can construct a concrete instance of `HaproxyLayerEbsVolumeInput` via:

HaproxyLayerEbsVolumeArgs{...}

type HaproxyLayerEbsVolumeOutput

type HaproxyLayerEbsVolumeOutput struct{ *pulumi.OutputState }

func (HaproxyLayerEbsVolumeOutput) ElementType

func (HaproxyLayerEbsVolumeOutput) Encrypted

func (HaproxyLayerEbsVolumeOutput) Iops

For PIOPS volumes, the IOPS per disk.

func (HaproxyLayerEbsVolumeOutput) MountPoint

The path to mount the EBS volume on the layer's instances.

func (HaproxyLayerEbsVolumeOutput) NumberOfDisks

func (o HaproxyLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput

The number of disks to use for the EBS volume.

func (HaproxyLayerEbsVolumeOutput) RaidLevel

The RAID level to use for the volume.

func (HaproxyLayerEbsVolumeOutput) Size

The size of the volume in gigabytes.

func (HaproxyLayerEbsVolumeOutput) ToHaproxyLayerEbsVolumeOutput

func (o HaproxyLayerEbsVolumeOutput) ToHaproxyLayerEbsVolumeOutput() HaproxyLayerEbsVolumeOutput

func (HaproxyLayerEbsVolumeOutput) ToHaproxyLayerEbsVolumeOutputWithContext

func (o HaproxyLayerEbsVolumeOutput) ToHaproxyLayerEbsVolumeOutputWithContext(ctx context.Context) HaproxyLayerEbsVolumeOutput

func (HaproxyLayerEbsVolumeOutput) Type

The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.

type HaproxyLayerState

type HaproxyLayerState struct {
	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringPtrInput
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes HaproxyLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// HTTP method to use for instance healthchecks. Defaults to "OPTIONS".
	HealthcheckMethod pulumi.StringPtrInput
	// URL path to use for instance healthchecks. Defaults to "/".
	HealthcheckUrl pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringPtrInput
	// Whether to enable HAProxy stats.
	StatsEnabled pulumi.BoolPtrInput
	// The password to use for HAProxy stats.
	StatsPassword pulumi.StringPtrInput
	// The HAProxy stats URL. Defaults to "/haproxy?stats".
	StatsUrl pulumi.StringPtrInput
	// The username for HAProxy stats. Defaults to "opsworks".
	StatsUser pulumi.StringPtrInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

func (HaproxyLayerState) ElementType

func (HaproxyLayerState) ElementType() reflect.Type

type Instance

type Instance struct {
	pulumi.CustomResourceState

	// The AWS OpsWorks agent to install.  Defaults to `"INHERIT"`.
	AgentVersion pulumi.StringPtrOutput `pulumi:"agentVersion"`
	// The AMI to use for the instance.  If an AMI is specified, `os` must be `"Custom"`.
	AmiId pulumi.StringOutput `pulumi:"amiId"`
	// Machine architecture for created instances.  Can be either `"x8664"` (the default) or `"i386"`
	Architecture pulumi.StringPtrOutput `pulumi:"architecture"`
	// Creates load-based or time-based instances.  If set, can be either: `"load"` or `"timer"`.
	AutoScalingType pulumi.StringPtrOutput `pulumi:"autoScalingType"`
	// Name of the availability zone where instances will be created
	// by default.
	AvailabilityZone pulumi.StringOutput  `pulumi:"availabilityZone"`
	CreatedAt        pulumi.StringOutput  `pulumi:"createdAt"`
	DeleteEbs        pulumi.BoolPtrOutput `pulumi:"deleteEbs"`
	DeleteEip        pulumi.BoolPtrOutput `pulumi:"deleteEip"`
	// Additional EBS block devices to attach to the
	// instance.  See Block Devices below for details.
	EbsBlockDevices InstanceEbsBlockDeviceArrayOutput `pulumi:"ebsBlockDevices"`
	// If true, the launched EC2 instance will be EBS-optimized.
	EbsOptimized pulumi.BoolPtrOutput `pulumi:"ebsOptimized"`
	// EC2 instance ID
	Ec2InstanceId pulumi.StringOutput `pulumi:"ec2InstanceId"`
	EcsClusterArn pulumi.StringOutput `pulumi:"ecsClusterArn"`
	ElasticIp     pulumi.StringOutput `pulumi:"elasticIp"`
	// Customize Ephemeral (also known as
	// "Instance Store") volumes on the instance. See Block Devices below for details.
	EphemeralBlockDevices InstanceEphemeralBlockDeviceArrayOutput `pulumi:"ephemeralBlockDevices"`
	// The instance's host name.
	Hostname            pulumi.StringOutput `pulumi:"hostname"`
	InfrastructureClass pulumi.StringOutput `pulumi:"infrastructureClass"`
	// Controls where to install OS and package updates when the instance boots.  Defaults to `true`.
	InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"`
	InstanceProfileArn   pulumi.StringOutput  `pulumi:"instanceProfileArn"`
	// The type of instance to start
	InstanceType       pulumi.StringPtrOutput `pulumi:"instanceType"`
	LastServiceErrorId pulumi.StringOutput    `pulumi:"lastServiceErrorId"`
	// The ids of the layers the instance will belong to.
	LayerIds pulumi.StringArrayOutput `pulumi:"layerIds"`
	// Name of operating system that will be installed.
	Os       pulumi.StringOutput `pulumi:"os"`
	Platform pulumi.StringOutput `pulumi:"platform"`
	// The private DNS name assigned to the instance. Can only be
	// used inside the Amazon EC2, and only available if you've enabled DNS hostnames
	// for your VPC
	PrivateDns pulumi.StringOutput `pulumi:"privateDns"`
	// The private IP address assigned to the instance
	PrivateIp pulumi.StringOutput `pulumi:"privateIp"`
	// The public DNS name assigned to the instance. For EC2-VPC, this
	// is only available if you've enabled DNS hostnames for your VPC
	PublicDns pulumi.StringOutput `pulumi:"publicDns"`
	// The public IP address assigned to the instance, if applicable.
	PublicIp             pulumi.StringOutput `pulumi:"publicIp"`
	RegisteredBy         pulumi.StringOutput `pulumi:"registeredBy"`
	ReportedAgentVersion pulumi.StringOutput `pulumi:"reportedAgentVersion"`
	ReportedOsFamily     pulumi.StringOutput `pulumi:"reportedOsFamily"`
	ReportedOsName       pulumi.StringOutput `pulumi:"reportedOsName"`
	ReportedOsVersion    pulumi.StringOutput `pulumi:"reportedOsVersion"`
	// Customize details about the root block
	// device of the instance. See Block Devices below for details.
	RootBlockDevices InstanceRootBlockDeviceArrayOutput `pulumi:"rootBlockDevices"`
	// Name of the type of root device instances will have by default.  Can be either `"ebs"` or `"instance-store"`
	RootDeviceType     pulumi.StringOutput `pulumi:"rootDeviceType"`
	RootDeviceVolumeId pulumi.StringOutput `pulumi:"rootDeviceVolumeId"`
	// The associated security groups.
	SecurityGroupIds         pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	SshHostDsaKeyFingerprint pulumi.StringOutput      `pulumi:"sshHostDsaKeyFingerprint"`
	SshHostRsaKeyFingerprint pulumi.StringOutput      `pulumi:"sshHostRsaKeyFingerprint"`
	// Name of the SSH keypair that instances will have by default.
	SshKeyName pulumi.StringOutput `pulumi:"sshKeyName"`
	// The id of the stack the instance will belong to.
	StackId pulumi.StringOutput `pulumi:"stackId"`
	// The desired state of the instance.  Can be either `"running"` or `"stopped"`.
	State  pulumi.StringPtrOutput `pulumi:"state"`
	Status pulumi.StringOutput    `pulumi:"status"`
	// Subnet ID to attach to
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
	// Instance tenancy to use. Can be one of `"default"`, `"dedicated"` or `"host"`
	Tenancy pulumi.StringOutput `pulumi:"tenancy"`
	// Keyword to choose what virtualization mode created instances
	// will use. Can be either `"paravirtual"` or `"hvm"`.
	VirtualizationType pulumi.StringOutput `pulumi:"virtualizationType"`
}

Provides an OpsWorks instance resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/opsworks"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := opsworks.NewInstance(ctx, "my_instance", &opsworks.InstanceArgs{
			InstanceType: pulumi.String("t2.micro"),
			LayerIds: pulumi.StringArray{
				pulumi.String(aws_opsworks_custom_layer.My - layer.Id),
			},
			Os:      pulumi.String("Amazon Linux 2015.09"),
			StackId: pulumi.String(aws_opsworks_stack.Main.Id),
			State:   pulumi.String("stopped"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Block devices

Each of the `*_block_device` attributes controls a portion of the AWS Instance's "Block Device Mapping". It's a good idea to familiarize yourself with [AWS's Block Device Mapping docs](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) to understand the implications of using these attributes.

The `rootBlockDevice` mapping supports the following:

  • `volumeType` - (Optional) The type of volume. Can be `"standard"`, `"gp2"`, or `"io1"`. (Default: `"standard"`).
  • `volumeSize` - (Optional) The size of the volume in gigabytes.
  • `iops` - (Optional) The amount of provisioned [IOPS](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). This must be set with a `volumeType` of `"io1"`.
  • `deleteOnTermination` - (Optional) Whether the volume should be destroyed on instance termination (Default: `true`).

Modifying any of the `rootBlockDevice` settings requires resource replacement.

Each `ebsBlockDevice` supports the following:

  • `deviceName` - The name of the device to mount.
  • `snapshotId` - (Optional) The Snapshot ID to mount.
  • `volumeType` - (Optional) The type of volume. Can be `"standard"`, `"gp2"`, or `"io1"`. (Default: `"standard"`).
  • `volumeSize` - (Optional) The size of the volume in gigabytes.
  • `iops` - (Optional) The amount of provisioned [IOPS](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). This must be set with a `volumeType` of `"io1"`.
  • `deleteOnTermination` - (Optional) Whether the volume should be destroyed on instance termination (Default: `true`).

Modifying any `ebsBlockDevice` currently requires resource replacement.

Each `ephemeralBlockDevice` supports the following:

Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS [publishes a list](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#StorageOnInstanceTypes) of which ephemeral devices are available on each type. The devices are always identified by the `virtualName` in the format `"ephemeral{0..N}"`.

> **NOTE:** Currently, changes to `*_block_device` configuration of _existing_ resources cannot be automatically detected by this provider. After making updates to block device configuration, resource recreation can be manually triggered by using the [`up` command with the --replace argument](https://www.pulumi.com/docs/reference/cli/pulumi_up/).

func GetInstance

func GetInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceState, opts ...pulumi.ResourceOption) (*Instance, error)

GetInstance gets an existing Instance resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstance

func NewInstance(ctx *pulumi.Context,
	name string, args *InstanceArgs, opts ...pulumi.ResourceOption) (*Instance, error)

NewInstance registers a new resource with the given unique name, arguments, and options.

type InstanceArgs

type InstanceArgs struct {
	// The AWS OpsWorks agent to install.  Defaults to `"INHERIT"`.
	AgentVersion pulumi.StringPtrInput
	// The AMI to use for the instance.  If an AMI is specified, `os` must be `"Custom"`.
	AmiId pulumi.StringPtrInput
	// Machine architecture for created instances.  Can be either `"x8664"` (the default) or `"i386"`
	Architecture pulumi.StringPtrInput
	// Creates load-based or time-based instances.  If set, can be either: `"load"` or `"timer"`.
	AutoScalingType pulumi.StringPtrInput
	// Name of the availability zone where instances will be created
	// by default.
	AvailabilityZone pulumi.StringPtrInput
	CreatedAt        pulumi.StringPtrInput
	DeleteEbs        pulumi.BoolPtrInput
	DeleteEip        pulumi.BoolPtrInput
	// Additional EBS block devices to attach to the
	// instance.  See Block Devices below for details.
	EbsBlockDevices InstanceEbsBlockDeviceArrayInput
	// If true, the launched EC2 instance will be EBS-optimized.
	EbsOptimized  pulumi.BoolPtrInput
	EcsClusterArn pulumi.StringPtrInput
	ElasticIp     pulumi.StringPtrInput
	// Customize Ephemeral (also known as
	// "Instance Store") volumes on the instance. See Block Devices below for details.
	EphemeralBlockDevices InstanceEphemeralBlockDeviceArrayInput
	// The instance's host name.
	Hostname            pulumi.StringPtrInput
	InfrastructureClass pulumi.StringPtrInput
	// Controls where to install OS and package updates when the instance boots.  Defaults to `true`.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	InstanceProfileArn   pulumi.StringPtrInput
	// The type of instance to start
	InstanceType       pulumi.StringPtrInput
	LastServiceErrorId pulumi.StringPtrInput
	// The ids of the layers the instance will belong to.
	LayerIds pulumi.StringArrayInput
	// Name of operating system that will be installed.
	Os       pulumi.StringPtrInput
	Platform pulumi.StringPtrInput
	// The private DNS name assigned to the instance. Can only be
	// used inside the Amazon EC2, and only available if you've enabled DNS hostnames
	// for your VPC
	PrivateDns pulumi.StringPtrInput
	// The private IP address assigned to the instance
	PrivateIp pulumi.StringPtrInput
	// The public DNS name assigned to the instance. For EC2-VPC, this
	// is only available if you've enabled DNS hostnames for your VPC
	PublicDns pulumi.StringPtrInput
	// The public IP address assigned to the instance, if applicable.
	PublicIp             pulumi.StringPtrInput
	RegisteredBy         pulumi.StringPtrInput
	ReportedAgentVersion pulumi.StringPtrInput
	ReportedOsFamily     pulumi.StringPtrInput
	ReportedOsName       pulumi.StringPtrInput
	ReportedOsVersion    pulumi.StringPtrInput
	// Customize details about the root block
	// device of the instance. See Block Devices below for details.
	RootBlockDevices InstanceRootBlockDeviceArrayInput
	// Name of the type of root device instances will have by default.  Can be either `"ebs"` or `"instance-store"`
	RootDeviceType     pulumi.StringPtrInput
	RootDeviceVolumeId pulumi.StringPtrInput
	// The associated security groups.
	SecurityGroupIds         pulumi.StringArrayInput
	SshHostDsaKeyFingerprint pulumi.StringPtrInput
	SshHostRsaKeyFingerprint pulumi.StringPtrInput
	// Name of the SSH keypair that instances will have by default.
	SshKeyName pulumi.StringPtrInput
	// The id of the stack the instance will belong to.
	StackId pulumi.StringInput
	// The desired state of the instance.  Can be either `"running"` or `"stopped"`.
	State  pulumi.StringPtrInput
	Status pulumi.StringPtrInput
	// Subnet ID to attach to
	SubnetId pulumi.StringPtrInput
	// Instance tenancy to use. Can be one of `"default"`, `"dedicated"` or `"host"`
	Tenancy pulumi.StringPtrInput
	// Keyword to choose what virtualization mode created instances
	// will use. Can be either `"paravirtual"` or `"hvm"`.
	VirtualizationType pulumi.StringPtrInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceEbsBlockDevice

type InstanceEbsBlockDevice struct {
	DeleteOnTermination *bool   `pulumi:"deleteOnTermination"`
	DeviceName          string  `pulumi:"deviceName"`
	Iops                *int    `pulumi:"iops"`
	SnapshotId          *string `pulumi:"snapshotId"`
	VolumeSize          *int    `pulumi:"volumeSize"`
	VolumeType          *string `pulumi:"volumeType"`
}

type InstanceEbsBlockDeviceArgs

type InstanceEbsBlockDeviceArgs struct {
	DeleteOnTermination pulumi.BoolPtrInput   `pulumi:"deleteOnTermination"`
	DeviceName          pulumi.StringInput    `pulumi:"deviceName"`
	Iops                pulumi.IntPtrInput    `pulumi:"iops"`
	SnapshotId          pulumi.StringPtrInput `pulumi:"snapshotId"`
	VolumeSize          pulumi.IntPtrInput    `pulumi:"volumeSize"`
	VolumeType          pulumi.StringPtrInput `pulumi:"volumeType"`
}

func (InstanceEbsBlockDeviceArgs) ElementType

func (InstanceEbsBlockDeviceArgs) ElementType() reflect.Type

func (InstanceEbsBlockDeviceArgs) ToInstanceEbsBlockDeviceOutput

func (i InstanceEbsBlockDeviceArgs) ToInstanceEbsBlockDeviceOutput() InstanceEbsBlockDeviceOutput

func (InstanceEbsBlockDeviceArgs) ToInstanceEbsBlockDeviceOutputWithContext

func (i InstanceEbsBlockDeviceArgs) ToInstanceEbsBlockDeviceOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceOutput

type InstanceEbsBlockDeviceArray

type InstanceEbsBlockDeviceArray []InstanceEbsBlockDeviceInput

func (InstanceEbsBlockDeviceArray) ElementType

func (InstanceEbsBlockDeviceArray) ToInstanceEbsBlockDeviceArrayOutput

func (i InstanceEbsBlockDeviceArray) ToInstanceEbsBlockDeviceArrayOutput() InstanceEbsBlockDeviceArrayOutput

func (InstanceEbsBlockDeviceArray) ToInstanceEbsBlockDeviceArrayOutputWithContext

func (i InstanceEbsBlockDeviceArray) ToInstanceEbsBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceArrayOutput

type InstanceEbsBlockDeviceArrayInput

type InstanceEbsBlockDeviceArrayInput interface {
	pulumi.Input

	ToInstanceEbsBlockDeviceArrayOutput() InstanceEbsBlockDeviceArrayOutput
	ToInstanceEbsBlockDeviceArrayOutputWithContext(context.Context) InstanceEbsBlockDeviceArrayOutput
}

InstanceEbsBlockDeviceArrayInput is an input type that accepts InstanceEbsBlockDeviceArray and InstanceEbsBlockDeviceArrayOutput values. You can construct a concrete instance of `InstanceEbsBlockDeviceArrayInput` via:

InstanceEbsBlockDeviceArray{ InstanceEbsBlockDeviceArgs{...} }

type InstanceEbsBlockDeviceArrayOutput

type InstanceEbsBlockDeviceArrayOutput struct{ *pulumi.OutputState }

func (InstanceEbsBlockDeviceArrayOutput) ElementType

func (InstanceEbsBlockDeviceArrayOutput) Index

func (InstanceEbsBlockDeviceArrayOutput) ToInstanceEbsBlockDeviceArrayOutput

func (o InstanceEbsBlockDeviceArrayOutput) ToInstanceEbsBlockDeviceArrayOutput() InstanceEbsBlockDeviceArrayOutput

func (InstanceEbsBlockDeviceArrayOutput) ToInstanceEbsBlockDeviceArrayOutputWithContext

func (o InstanceEbsBlockDeviceArrayOutput) ToInstanceEbsBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceArrayOutput

type InstanceEbsBlockDeviceInput

type InstanceEbsBlockDeviceInput interface {
	pulumi.Input

	ToInstanceEbsBlockDeviceOutput() InstanceEbsBlockDeviceOutput
	ToInstanceEbsBlockDeviceOutputWithContext(context.Context) InstanceEbsBlockDeviceOutput
}

InstanceEbsBlockDeviceInput is an input type that accepts InstanceEbsBlockDeviceArgs and InstanceEbsBlockDeviceOutput values. You can construct a concrete instance of `InstanceEbsBlockDeviceInput` via:

InstanceEbsBlockDeviceArgs{...}

type InstanceEbsBlockDeviceOutput

type InstanceEbsBlockDeviceOutput struct{ *pulumi.OutputState }

func (InstanceEbsBlockDeviceOutput) DeleteOnTermination

func (o InstanceEbsBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput

func (InstanceEbsBlockDeviceOutput) DeviceName

func (InstanceEbsBlockDeviceOutput) ElementType

func (InstanceEbsBlockDeviceOutput) Iops

func (InstanceEbsBlockDeviceOutput) SnapshotId

func (InstanceEbsBlockDeviceOutput) ToInstanceEbsBlockDeviceOutput

func (o InstanceEbsBlockDeviceOutput) ToInstanceEbsBlockDeviceOutput() InstanceEbsBlockDeviceOutput

func (InstanceEbsBlockDeviceOutput) ToInstanceEbsBlockDeviceOutputWithContext

func (o InstanceEbsBlockDeviceOutput) ToInstanceEbsBlockDeviceOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceOutput

func (InstanceEbsBlockDeviceOutput) VolumeSize

func (InstanceEbsBlockDeviceOutput) VolumeType

type InstanceEphemeralBlockDevice

type InstanceEphemeralBlockDevice struct {
	DeviceName  string `pulumi:"deviceName"`
	VirtualName string `pulumi:"virtualName"`
}

type InstanceEphemeralBlockDeviceArgs

type InstanceEphemeralBlockDeviceArgs struct {
	DeviceName  pulumi.StringInput `pulumi:"deviceName"`
	VirtualName pulumi.StringInput `pulumi:"virtualName"`
}

func (InstanceEphemeralBlockDeviceArgs) ElementType

func (InstanceEphemeralBlockDeviceArgs) ToInstanceEphemeralBlockDeviceOutput

func (i InstanceEphemeralBlockDeviceArgs) ToInstanceEphemeralBlockDeviceOutput() InstanceEphemeralBlockDeviceOutput

func (InstanceEphemeralBlockDeviceArgs) ToInstanceEphemeralBlockDeviceOutputWithContext

func (i InstanceEphemeralBlockDeviceArgs) ToInstanceEphemeralBlockDeviceOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceOutput

type InstanceEphemeralBlockDeviceArray

type InstanceEphemeralBlockDeviceArray []InstanceEphemeralBlockDeviceInput

func (InstanceEphemeralBlockDeviceArray) ElementType

func (InstanceEphemeralBlockDeviceArray) ToInstanceEphemeralBlockDeviceArrayOutput

func (i InstanceEphemeralBlockDeviceArray) ToInstanceEphemeralBlockDeviceArrayOutput() InstanceEphemeralBlockDeviceArrayOutput

func (InstanceEphemeralBlockDeviceArray) ToInstanceEphemeralBlockDeviceArrayOutputWithContext

func (i InstanceEphemeralBlockDeviceArray) ToInstanceEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceArrayOutput

type InstanceEphemeralBlockDeviceArrayInput

type InstanceEphemeralBlockDeviceArrayInput interface {
	pulumi.Input

	ToInstanceEphemeralBlockDeviceArrayOutput() InstanceEphemeralBlockDeviceArrayOutput
	ToInstanceEphemeralBlockDeviceArrayOutputWithContext(context.Context) InstanceEphemeralBlockDeviceArrayOutput
}

InstanceEphemeralBlockDeviceArrayInput is an input type that accepts InstanceEphemeralBlockDeviceArray and InstanceEphemeralBlockDeviceArrayOutput values. You can construct a concrete instance of `InstanceEphemeralBlockDeviceArrayInput` via:

InstanceEphemeralBlockDeviceArray{ InstanceEphemeralBlockDeviceArgs{...} }

type InstanceEphemeralBlockDeviceArrayOutput

type InstanceEphemeralBlockDeviceArrayOutput struct{ *pulumi.OutputState }

func (InstanceEphemeralBlockDeviceArrayOutput) ElementType

func (InstanceEphemeralBlockDeviceArrayOutput) Index

func (InstanceEphemeralBlockDeviceArrayOutput) ToInstanceEphemeralBlockDeviceArrayOutput

func (o InstanceEphemeralBlockDeviceArrayOutput) ToInstanceEphemeralBlockDeviceArrayOutput() InstanceEphemeralBlockDeviceArrayOutput

func (InstanceEphemeralBlockDeviceArrayOutput) ToInstanceEphemeralBlockDeviceArrayOutputWithContext

func (o InstanceEphemeralBlockDeviceArrayOutput) ToInstanceEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceArrayOutput

type InstanceEphemeralBlockDeviceInput

type InstanceEphemeralBlockDeviceInput interface {
	pulumi.Input

	ToInstanceEphemeralBlockDeviceOutput() InstanceEphemeralBlockDeviceOutput
	ToInstanceEphemeralBlockDeviceOutputWithContext(context.Context) InstanceEphemeralBlockDeviceOutput
}

InstanceEphemeralBlockDeviceInput is an input type that accepts InstanceEphemeralBlockDeviceArgs and InstanceEphemeralBlockDeviceOutput values. You can construct a concrete instance of `InstanceEphemeralBlockDeviceInput` via:

InstanceEphemeralBlockDeviceArgs{...}

type InstanceEphemeralBlockDeviceOutput

type InstanceEphemeralBlockDeviceOutput struct{ *pulumi.OutputState }

func (InstanceEphemeralBlockDeviceOutput) DeviceName

func (InstanceEphemeralBlockDeviceOutput) ElementType

func (InstanceEphemeralBlockDeviceOutput) ToInstanceEphemeralBlockDeviceOutput

func (o InstanceEphemeralBlockDeviceOutput) ToInstanceEphemeralBlockDeviceOutput() InstanceEphemeralBlockDeviceOutput

func (InstanceEphemeralBlockDeviceOutput) ToInstanceEphemeralBlockDeviceOutputWithContext

func (o InstanceEphemeralBlockDeviceOutput) ToInstanceEphemeralBlockDeviceOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceOutput

func (InstanceEphemeralBlockDeviceOutput) VirtualName

type InstanceRootBlockDevice

type InstanceRootBlockDevice struct {
	DeleteOnTermination *bool   `pulumi:"deleteOnTermination"`
	Iops                *int    `pulumi:"iops"`
	VolumeSize          *int    `pulumi:"volumeSize"`
	VolumeType          *string `pulumi:"volumeType"`
}

type InstanceRootBlockDeviceArgs

type InstanceRootBlockDeviceArgs struct {
	DeleteOnTermination pulumi.BoolPtrInput   `pulumi:"deleteOnTermination"`
	Iops                pulumi.IntPtrInput    `pulumi:"iops"`
	VolumeSize          pulumi.IntPtrInput    `pulumi:"volumeSize"`
	VolumeType          pulumi.StringPtrInput `pulumi:"volumeType"`
}

func (InstanceRootBlockDeviceArgs) ElementType

func (InstanceRootBlockDeviceArgs) ToInstanceRootBlockDeviceOutput

func (i InstanceRootBlockDeviceArgs) ToInstanceRootBlockDeviceOutput() InstanceRootBlockDeviceOutput

func (InstanceRootBlockDeviceArgs) ToInstanceRootBlockDeviceOutputWithContext

func (i InstanceRootBlockDeviceArgs) ToInstanceRootBlockDeviceOutputWithContext(ctx context.Context) InstanceRootBlockDeviceOutput

type InstanceRootBlockDeviceArray

type InstanceRootBlockDeviceArray []InstanceRootBlockDeviceInput

func (InstanceRootBlockDeviceArray) ElementType

func (InstanceRootBlockDeviceArray) ToInstanceRootBlockDeviceArrayOutput

func (i InstanceRootBlockDeviceArray) ToInstanceRootBlockDeviceArrayOutput() InstanceRootBlockDeviceArrayOutput

func (InstanceRootBlockDeviceArray) ToInstanceRootBlockDeviceArrayOutputWithContext

func (i InstanceRootBlockDeviceArray) ToInstanceRootBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceRootBlockDeviceArrayOutput

type InstanceRootBlockDeviceArrayInput

type InstanceRootBlockDeviceArrayInput interface {
	pulumi.Input

	ToInstanceRootBlockDeviceArrayOutput() InstanceRootBlockDeviceArrayOutput
	ToInstanceRootBlockDeviceArrayOutputWithContext(context.Context) InstanceRootBlockDeviceArrayOutput
}

InstanceRootBlockDeviceArrayInput is an input type that accepts InstanceRootBlockDeviceArray and InstanceRootBlockDeviceArrayOutput values. You can construct a concrete instance of `InstanceRootBlockDeviceArrayInput` via:

InstanceRootBlockDeviceArray{ InstanceRootBlockDeviceArgs{...} }

type InstanceRootBlockDeviceArrayOutput

type InstanceRootBlockDeviceArrayOutput struct{ *pulumi.OutputState }

func (InstanceRootBlockDeviceArrayOutput) ElementType

func (InstanceRootBlockDeviceArrayOutput) Index

func (InstanceRootBlockDeviceArrayOutput) ToInstanceRootBlockDeviceArrayOutput

func (o InstanceRootBlockDeviceArrayOutput) ToInstanceRootBlockDeviceArrayOutput() InstanceRootBlockDeviceArrayOutput

func (InstanceRootBlockDeviceArrayOutput) ToInstanceRootBlockDeviceArrayOutputWithContext

func (o InstanceRootBlockDeviceArrayOutput) ToInstanceRootBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceRootBlockDeviceArrayOutput

type InstanceRootBlockDeviceInput

type InstanceRootBlockDeviceInput interface {
	pulumi.Input

	ToInstanceRootBlockDeviceOutput() InstanceRootBlockDeviceOutput
	ToInstanceRootBlockDeviceOutputWithContext(context.Context) InstanceRootBlockDeviceOutput
}

InstanceRootBlockDeviceInput is an input type that accepts InstanceRootBlockDeviceArgs and InstanceRootBlockDeviceOutput values. You can construct a concrete instance of `InstanceRootBlockDeviceInput` via:

InstanceRootBlockDeviceArgs{...}

type InstanceRootBlockDeviceOutput

type InstanceRootBlockDeviceOutput struct{ *pulumi.OutputState }

func (InstanceRootBlockDeviceOutput) DeleteOnTermination

func (o InstanceRootBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput

func (InstanceRootBlockDeviceOutput) ElementType

func (InstanceRootBlockDeviceOutput) Iops

func (InstanceRootBlockDeviceOutput) ToInstanceRootBlockDeviceOutput

func (o InstanceRootBlockDeviceOutput) ToInstanceRootBlockDeviceOutput() InstanceRootBlockDeviceOutput

func (InstanceRootBlockDeviceOutput) ToInstanceRootBlockDeviceOutputWithContext

func (o InstanceRootBlockDeviceOutput) ToInstanceRootBlockDeviceOutputWithContext(ctx context.Context) InstanceRootBlockDeviceOutput

func (InstanceRootBlockDeviceOutput) VolumeSize

func (InstanceRootBlockDeviceOutput) VolumeType

type InstanceState

type InstanceState struct {
	// The AWS OpsWorks agent to install.  Defaults to `"INHERIT"`.
	AgentVersion pulumi.StringPtrInput
	// The AMI to use for the instance.  If an AMI is specified, `os` must be `"Custom"`.
	AmiId pulumi.StringPtrInput
	// Machine architecture for created instances.  Can be either `"x8664"` (the default) or `"i386"`
	Architecture pulumi.StringPtrInput
	// Creates load-based or time-based instances.  If set, can be either: `"load"` or `"timer"`.
	AutoScalingType pulumi.StringPtrInput
	// Name of the availability zone where instances will be created
	// by default.
	AvailabilityZone pulumi.StringPtrInput
	CreatedAt        pulumi.StringPtrInput
	DeleteEbs        pulumi.BoolPtrInput
	DeleteEip        pulumi.BoolPtrInput
	// Additional EBS block devices to attach to the
	// instance.  See Block Devices below for details.
	EbsBlockDevices InstanceEbsBlockDeviceArrayInput
	// If true, the launched EC2 instance will be EBS-optimized.
	EbsOptimized pulumi.BoolPtrInput
	// EC2 instance ID
	Ec2InstanceId pulumi.StringPtrInput
	EcsClusterArn pulumi.StringPtrInput
	ElasticIp     pulumi.StringPtrInput
	// Customize Ephemeral (also known as
	// "Instance Store") volumes on the instance. See Block Devices below for details.
	EphemeralBlockDevices InstanceEphemeralBlockDeviceArrayInput
	// The instance's host name.
	Hostname            pulumi.StringPtrInput
	InfrastructureClass pulumi.StringPtrInput
	// Controls where to install OS and package updates when the instance boots.  Defaults to `true`.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	InstanceProfileArn   pulumi.StringPtrInput
	// The type of instance to start
	InstanceType       pulumi.StringPtrInput
	LastServiceErrorId pulumi.StringPtrInput
	// The ids of the layers the instance will belong to.
	LayerIds pulumi.StringArrayInput
	// Name of operating system that will be installed.
	Os       pulumi.StringPtrInput
	Platform pulumi.StringPtrInput
	// The private DNS name assigned to the instance. Can only be
	// used inside the Amazon EC2, and only available if you've enabled DNS hostnames
	// for your VPC
	PrivateDns pulumi.StringPtrInput
	// The private IP address assigned to the instance
	PrivateIp pulumi.StringPtrInput
	// The public DNS name assigned to the instance. For EC2-VPC, this
	// is only available if you've enabled DNS hostnames for your VPC
	PublicDns pulumi.StringPtrInput
	// The public IP address assigned to the instance, if applicable.
	PublicIp             pulumi.StringPtrInput
	RegisteredBy         pulumi.StringPtrInput
	ReportedAgentVersion pulumi.StringPtrInput
	ReportedOsFamily     pulumi.StringPtrInput
	ReportedOsName       pulumi.StringPtrInput
	ReportedOsVersion    pulumi.StringPtrInput
	// Customize details about the root block
	// device of the instance. See Block Devices below for details.
	RootBlockDevices InstanceRootBlockDeviceArrayInput
	// Name of the type of root device instances will have by default.  Can be either `"ebs"` or `"instance-store"`
	RootDeviceType     pulumi.StringPtrInput
	RootDeviceVolumeId pulumi.StringPtrInput
	// The associated security groups.
	SecurityGroupIds         pulumi.StringArrayInput
	SshHostDsaKeyFingerprint pulumi.StringPtrInput
	SshHostRsaKeyFingerprint pulumi.StringPtrInput
	// Name of the SSH keypair that instances will have by default.
	SshKeyName pulumi.StringPtrInput
	// The id of the stack the instance will belong to.
	StackId pulumi.StringPtrInput
	// The desired state of the instance.  Can be either `"running"` or `"stopped"`.
	State  pulumi.StringPtrInput
	Status pulumi.StringPtrInput
	// Subnet ID to attach to
	SubnetId pulumi.StringPtrInput
	// Instance tenancy to use. Can be one of `"default"`, `"dedicated"` or `"host"`
	Tenancy pulumi.StringPtrInput
	// Keyword to choose what virtualization mode created instances
	// will use. Can be either `"paravirtual"` or `"hvm"`.
	VirtualizationType pulumi.StringPtrInput
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

type JavaAppLayer

type JavaAppLayer struct {
	pulumi.CustomResourceState

	// Keyword for the application container to use. Defaults to "tomcat".
	AppServer pulumi.StringPtrOutput `pulumi:"appServer"`
	// Version of the selected application container to use. Defaults to "7".
	AppServerVersion pulumi.StringPtrOutput `pulumi:"appServerVersion"`
	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrOutput `pulumi:"autoAssignElasticIps"`
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrOutput `pulumi:"autoAssignPublicIps"`
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrOutput     `pulumi:"autoHealing"`
	CustomConfigureRecipes pulumi.StringArrayOutput `pulumi:"customConfigureRecipes"`
	CustomDeployRecipes    pulumi.StringArrayOutput `pulumi:"customDeployRecipes"`
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrOutput `pulumi:"customInstanceProfileArn"`
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrOutput `pulumi:"customJson"`
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayOutput `pulumi:"customSecurityGroupIds"`
	CustomSetupRecipes     pulumi.StringArrayOutput `pulumi:"customSetupRecipes"`
	CustomShutdownRecipes  pulumi.StringArrayOutput `pulumi:"customShutdownRecipes"`
	CustomUndeployRecipes  pulumi.StringArrayOutput `pulumi:"customUndeployRecipes"`
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrOutput `pulumi:"drainElbOnShutdown"`
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes JavaAppLayerEbsVolumeArrayOutput `pulumi:"ebsVolumes"`
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrOutput `pulumi:"elasticLoadBalancer"`
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"`
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"`
	// Options to set for the JVM.
	JvmOptions pulumi.StringPtrOutput `pulumi:"jvmOptions"`
	// Keyword for the type of JVM to use. Defaults to `openjdk`.
	JvmType pulumi.StringPtrOutput `pulumi:"jvmType"`
	// Version of JVM to use. Defaults to "7".
	JvmVersion pulumi.StringPtrOutput `pulumi:"jvmVersion"`
	// A human-readable name for the layer.
	Name pulumi.StringOutput `pulumi:"name"`
	// The id of the stack the layer will belong to.
	StackId pulumi.StringOutput `pulumi:"stackId"`
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayOutput `pulumi:"systemPackages"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrOutput `pulumi:"useEbsOptimizedInstances"`
}

Provides an OpsWorks Java application layer resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/opsworks"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := opsworks.NewJavaAppLayer(ctx, "app", &opsworks.JavaAppLayerArgs{
			StackId: pulumi.String(aws_opsworks_stack.Main.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetJavaAppLayer

func GetJavaAppLayer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *JavaAppLayerState, opts ...pulumi.ResourceOption) (*JavaAppLayer, error)

GetJavaAppLayer gets an existing JavaAppLayer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewJavaAppLayer

func NewJavaAppLayer(ctx *pulumi.Context,
	name string, args *JavaAppLayerArgs, opts ...pulumi.ResourceOption) (*JavaAppLayer, error)

NewJavaAppLayer registers a new resource with the given unique name, arguments, and options.

type JavaAppLayerArgs

type JavaAppLayerArgs struct {
	// Keyword for the application container to use. Defaults to "tomcat".
	AppServer pulumi.StringPtrInput
	// Version of the selected application container to use. Defaults to "7".
	AppServerVersion pulumi.StringPtrInput
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes JavaAppLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// Options to set for the JVM.
	JvmOptions pulumi.StringPtrInput
	// Keyword for the type of JVM to use. Defaults to `openjdk`.
	JvmType pulumi.StringPtrInput
	// Version of JVM to use. Defaults to "7".
	JvmVersion pulumi.StringPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

The set of arguments for constructing a JavaAppLayer resource.

func (JavaAppLayerArgs) ElementType

func (JavaAppLayerArgs) ElementType() reflect.Type

type JavaAppLayerEbsVolume

type JavaAppLayerEbsVolume struct {
	Encrypted *bool `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops *int `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint string `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks int `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel *string `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size int `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type *string `pulumi:"type"`
}

type JavaAppLayerEbsVolumeArgs

type JavaAppLayerEbsVolumeArgs struct {
	Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint pulumi.StringInput `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size pulumi.IntInput `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (JavaAppLayerEbsVolumeArgs) ElementType

func (JavaAppLayerEbsVolumeArgs) ElementType() reflect.Type

func (JavaAppLayerEbsVolumeArgs) ToJavaAppLayerEbsVolumeOutput

func (i JavaAppLayerEbsVolumeArgs) ToJavaAppLayerEbsVolumeOutput() JavaAppLayerEbsVolumeOutput

func (JavaAppLayerEbsVolumeArgs) ToJavaAppLayerEbsVolumeOutputWithContext

func (i JavaAppLayerEbsVolumeArgs) ToJavaAppLayerEbsVolumeOutputWithContext(ctx context.Context) JavaAppLayerEbsVolumeOutput

type JavaAppLayerEbsVolumeArray

type JavaAppLayerEbsVolumeArray []JavaAppLayerEbsVolumeInput

func (JavaAppLayerEbsVolumeArray) ElementType

func (JavaAppLayerEbsVolumeArray) ElementType() reflect.Type

func (JavaAppLayerEbsVolumeArray) ToJavaAppLayerEbsVolumeArrayOutput

func (i JavaAppLayerEbsVolumeArray) ToJavaAppLayerEbsVolumeArrayOutput() JavaAppLayerEbsVolumeArrayOutput

func (JavaAppLayerEbsVolumeArray) ToJavaAppLayerEbsVolumeArrayOutputWithContext

func (i JavaAppLayerEbsVolumeArray) ToJavaAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) JavaAppLayerEbsVolumeArrayOutput

type JavaAppLayerEbsVolumeArrayInput

type JavaAppLayerEbsVolumeArrayInput interface {
	pulumi.Input

	ToJavaAppLayerEbsVolumeArrayOutput() JavaAppLayerEbsVolumeArrayOutput
	ToJavaAppLayerEbsVolumeArrayOutputWithContext(context.Context) JavaAppLayerEbsVolumeArrayOutput
}

JavaAppLayerEbsVolumeArrayInput is an input type that accepts JavaAppLayerEbsVolumeArray and JavaAppLayerEbsVolumeArrayOutput values. You can construct a concrete instance of `JavaAppLayerEbsVolumeArrayInput` via:

JavaAppLayerEbsVolumeArray{ JavaAppLayerEbsVolumeArgs{...} }

type JavaAppLayerEbsVolumeArrayOutput

type JavaAppLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState }

func (JavaAppLayerEbsVolumeArrayOutput) ElementType

func (JavaAppLayerEbsVolumeArrayOutput) Index

func (JavaAppLayerEbsVolumeArrayOutput) ToJavaAppLayerEbsVolumeArrayOutput

func (o JavaAppLayerEbsVolumeArrayOutput) ToJavaAppLayerEbsVolumeArrayOutput() JavaAppLayerEbsVolumeArrayOutput

func (JavaAppLayerEbsVolumeArrayOutput) ToJavaAppLayerEbsVolumeArrayOutputWithContext

func (o JavaAppLayerEbsVolumeArrayOutput) ToJavaAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) JavaAppLayerEbsVolumeArrayOutput

type JavaAppLayerEbsVolumeInput

type JavaAppLayerEbsVolumeInput interface {
	pulumi.Input

	ToJavaAppLayerEbsVolumeOutput() JavaAppLayerEbsVolumeOutput
	ToJavaAppLayerEbsVolumeOutputWithContext(context.Context) JavaAppLayerEbsVolumeOutput
}

JavaAppLayerEbsVolumeInput is an input type that accepts JavaAppLayerEbsVolumeArgs and JavaAppLayerEbsVolumeOutput values. You can construct a concrete instance of `JavaAppLayerEbsVolumeInput` via:

JavaAppLayerEbsVolumeArgs{...}

type JavaAppLayerEbsVolumeOutput

type JavaAppLayerEbsVolumeOutput struct{ *pulumi.OutputState }

func (JavaAppLayerEbsVolumeOutput) ElementType

func (JavaAppLayerEbsVolumeOutput) Encrypted

func (JavaAppLayerEbsVolumeOutput) Iops

For PIOPS volumes, the IOPS per disk.

func (JavaAppLayerEbsVolumeOutput) MountPoint

The path to mount the EBS volume on the layer's instances.

func (JavaAppLayerEbsVolumeOutput) NumberOfDisks

func (o JavaAppLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput

The number of disks to use for the EBS volume.

func (JavaAppLayerEbsVolumeOutput) RaidLevel

The RAID level to use for the volume.

func (JavaAppLayerEbsVolumeOutput) Size

The size of the volume in gigabytes.

func (JavaAppLayerEbsVolumeOutput) ToJavaAppLayerEbsVolumeOutput

func (o JavaAppLayerEbsVolumeOutput) ToJavaAppLayerEbsVolumeOutput() JavaAppLayerEbsVolumeOutput

func (JavaAppLayerEbsVolumeOutput) ToJavaAppLayerEbsVolumeOutputWithContext

func (o JavaAppLayerEbsVolumeOutput) ToJavaAppLayerEbsVolumeOutputWithContext(ctx context.Context) JavaAppLayerEbsVolumeOutput

func (JavaAppLayerEbsVolumeOutput) Type

The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.

type JavaAppLayerState

type JavaAppLayerState struct {
	// Keyword for the application container to use. Defaults to "tomcat".
	AppServer pulumi.StringPtrInput
	// Version of the selected application container to use. Defaults to "7".
	AppServerVersion pulumi.StringPtrInput
	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringPtrInput
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes JavaAppLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// Options to set for the JVM.
	JvmOptions pulumi.StringPtrInput
	// Keyword for the type of JVM to use. Defaults to `openjdk`.
	JvmType pulumi.StringPtrInput
	// Version of JVM to use. Defaults to "7".
	JvmVersion pulumi.StringPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringPtrInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

func (JavaAppLayerState) ElementType

func (JavaAppLayerState) ElementType() reflect.Type

type MemcachedLayer

type MemcachedLayer struct {
	pulumi.CustomResourceState

	// Amount of memory to allocate for the cache on each instance, in megabytes. Defaults to 512MB.
	AllocatedMemory pulumi.IntPtrOutput `pulumi:"allocatedMemory"`
	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrOutput `pulumi:"autoAssignElasticIps"`
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrOutput `pulumi:"autoAssignPublicIps"`
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrOutput     `pulumi:"autoHealing"`
	CustomConfigureRecipes pulumi.StringArrayOutput `pulumi:"customConfigureRecipes"`
	CustomDeployRecipes    pulumi.StringArrayOutput `pulumi:"customDeployRecipes"`
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrOutput `pulumi:"customInstanceProfileArn"`
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrOutput `pulumi:"customJson"`
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayOutput `pulumi:"customSecurityGroupIds"`
	CustomSetupRecipes     pulumi.StringArrayOutput `pulumi:"customSetupRecipes"`
	CustomShutdownRecipes  pulumi.StringArrayOutput `pulumi:"customShutdownRecipes"`
	CustomUndeployRecipes  pulumi.StringArrayOutput `pulumi:"customUndeployRecipes"`
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrOutput `pulumi:"drainElbOnShutdown"`
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes MemcachedLayerEbsVolumeArrayOutput `pulumi:"ebsVolumes"`
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrOutput `pulumi:"elasticLoadBalancer"`
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"`
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"`
	// A human-readable name for the layer.
	Name pulumi.StringOutput `pulumi:"name"`
	// The id of the stack the layer will belong to.
	StackId pulumi.StringOutput `pulumi:"stackId"`
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayOutput `pulumi:"systemPackages"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrOutput `pulumi:"useEbsOptimizedInstances"`
}

Provides an OpsWorks memcached layer resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/opsworks"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := opsworks.NewMemcachedLayer(ctx, "cache", &opsworks.MemcachedLayerArgs{
			StackId: pulumi.String(aws_opsworks_stack.Main.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetMemcachedLayer

func GetMemcachedLayer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MemcachedLayerState, opts ...pulumi.ResourceOption) (*MemcachedLayer, error)

GetMemcachedLayer gets an existing MemcachedLayer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewMemcachedLayer

func NewMemcachedLayer(ctx *pulumi.Context,
	name string, args *MemcachedLayerArgs, opts ...pulumi.ResourceOption) (*MemcachedLayer, error)

NewMemcachedLayer registers a new resource with the given unique name, arguments, and options.

type MemcachedLayerArgs

type MemcachedLayerArgs struct {
	// Amount of memory to allocate for the cache on each instance, in megabytes. Defaults to 512MB.
	AllocatedMemory pulumi.IntPtrInput
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes MemcachedLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

The set of arguments for constructing a MemcachedLayer resource.

func (MemcachedLayerArgs) ElementType

func (MemcachedLayerArgs) ElementType() reflect.Type

type MemcachedLayerEbsVolume

type MemcachedLayerEbsVolume struct {
	Encrypted *bool `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops *int `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint string `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks int `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel *string `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size int `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type *string `pulumi:"type"`
}

type MemcachedLayerEbsVolumeArgs

type MemcachedLayerEbsVolumeArgs struct {
	Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint pulumi.StringInput `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size pulumi.IntInput `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (MemcachedLayerEbsVolumeArgs) ElementType

func (MemcachedLayerEbsVolumeArgs) ToMemcachedLayerEbsVolumeOutput

func (i MemcachedLayerEbsVolumeArgs) ToMemcachedLayerEbsVolumeOutput() MemcachedLayerEbsVolumeOutput

func (MemcachedLayerEbsVolumeArgs) ToMemcachedLayerEbsVolumeOutputWithContext

func (i MemcachedLayerEbsVolumeArgs) ToMemcachedLayerEbsVolumeOutputWithContext(ctx context.Context) MemcachedLayerEbsVolumeOutput

type MemcachedLayerEbsVolumeArray

type MemcachedLayerEbsVolumeArray []MemcachedLayerEbsVolumeInput

func (MemcachedLayerEbsVolumeArray) ElementType

func (MemcachedLayerEbsVolumeArray) ToMemcachedLayerEbsVolumeArrayOutput

func (i MemcachedLayerEbsVolumeArray) ToMemcachedLayerEbsVolumeArrayOutput() MemcachedLayerEbsVolumeArrayOutput

func (MemcachedLayerEbsVolumeArray) ToMemcachedLayerEbsVolumeArrayOutputWithContext

func (i MemcachedLayerEbsVolumeArray) ToMemcachedLayerEbsVolumeArrayOutputWithContext(ctx context.Context) MemcachedLayerEbsVolumeArrayOutput

type MemcachedLayerEbsVolumeArrayInput

type MemcachedLayerEbsVolumeArrayInput interface {
	pulumi.Input

	ToMemcachedLayerEbsVolumeArrayOutput() MemcachedLayerEbsVolumeArrayOutput
	ToMemcachedLayerEbsVolumeArrayOutputWithContext(context.Context) MemcachedLayerEbsVolumeArrayOutput
}

MemcachedLayerEbsVolumeArrayInput is an input type that accepts MemcachedLayerEbsVolumeArray and MemcachedLayerEbsVolumeArrayOutput values. You can construct a concrete instance of `MemcachedLayerEbsVolumeArrayInput` via:

MemcachedLayerEbsVolumeArray{ MemcachedLayerEbsVolumeArgs{...} }

type MemcachedLayerEbsVolumeArrayOutput

type MemcachedLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState }

func (MemcachedLayerEbsVolumeArrayOutput) ElementType

func (MemcachedLayerEbsVolumeArrayOutput) Index

func (MemcachedLayerEbsVolumeArrayOutput) ToMemcachedLayerEbsVolumeArrayOutput

func (o MemcachedLayerEbsVolumeArrayOutput) ToMemcachedLayerEbsVolumeArrayOutput() MemcachedLayerEbsVolumeArrayOutput

func (MemcachedLayerEbsVolumeArrayOutput) ToMemcachedLayerEbsVolumeArrayOutputWithContext

func (o MemcachedLayerEbsVolumeArrayOutput) ToMemcachedLayerEbsVolumeArrayOutputWithContext(ctx context.Context) MemcachedLayerEbsVolumeArrayOutput

type MemcachedLayerEbsVolumeInput

type MemcachedLayerEbsVolumeInput interface {
	pulumi.Input

	ToMemcachedLayerEbsVolumeOutput() MemcachedLayerEbsVolumeOutput
	ToMemcachedLayerEbsVolumeOutputWithContext(context.Context) MemcachedLayerEbsVolumeOutput
}

MemcachedLayerEbsVolumeInput is an input type that accepts MemcachedLayerEbsVolumeArgs and MemcachedLayerEbsVolumeOutput values. You can construct a concrete instance of `MemcachedLayerEbsVolumeInput` via:

MemcachedLayerEbsVolumeArgs{...}

type MemcachedLayerEbsVolumeOutput

type MemcachedLayerEbsVolumeOutput struct{ *pulumi.OutputState }

func (MemcachedLayerEbsVolumeOutput) ElementType

func (MemcachedLayerEbsVolumeOutput) Encrypted

func (MemcachedLayerEbsVolumeOutput) Iops

For PIOPS volumes, the IOPS per disk.

func (MemcachedLayerEbsVolumeOutput) MountPoint

The path to mount the EBS volume on the layer's instances.

func (MemcachedLayerEbsVolumeOutput) NumberOfDisks

The number of disks to use for the EBS volume.

func (MemcachedLayerEbsVolumeOutput) RaidLevel

The RAID level to use for the volume.

func (MemcachedLayerEbsVolumeOutput) Size

The size of the volume in gigabytes.

func (MemcachedLayerEbsVolumeOutput) ToMemcachedLayerEbsVolumeOutput

func (o MemcachedLayerEbsVolumeOutput) ToMemcachedLayerEbsVolumeOutput() MemcachedLayerEbsVolumeOutput

func (MemcachedLayerEbsVolumeOutput) ToMemcachedLayerEbsVolumeOutputWithContext

func (o MemcachedLayerEbsVolumeOutput) ToMemcachedLayerEbsVolumeOutputWithContext(ctx context.Context) MemcachedLayerEbsVolumeOutput

func (MemcachedLayerEbsVolumeOutput) Type

The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.

type MemcachedLayerState

type MemcachedLayerState struct {
	// Amount of memory to allocate for the cache on each instance, in megabytes. Defaults to 512MB.
	AllocatedMemory pulumi.IntPtrInput
	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringPtrInput
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes MemcachedLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringPtrInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

func (MemcachedLayerState) ElementType

func (MemcachedLayerState) ElementType() reflect.Type

type MysqlLayer

type MysqlLayer struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrOutput `pulumi:"autoAssignElasticIps"`
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrOutput `pulumi:"autoAssignPublicIps"`
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrOutput     `pulumi:"autoHealing"`
	CustomConfigureRecipes pulumi.StringArrayOutput `pulumi:"customConfigureRecipes"`
	CustomDeployRecipes    pulumi.StringArrayOutput `pulumi:"customDeployRecipes"`
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrOutput `pulumi:"customInstanceProfileArn"`
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrOutput `pulumi:"customJson"`
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayOutput `pulumi:"customSecurityGroupIds"`
	CustomSetupRecipes     pulumi.StringArrayOutput `pulumi:"customSetupRecipes"`
	CustomShutdownRecipes  pulumi.StringArrayOutput `pulumi:"customShutdownRecipes"`
	CustomUndeployRecipes  pulumi.StringArrayOutput `pulumi:"customUndeployRecipes"`
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrOutput `pulumi:"drainElbOnShutdown"`
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes MysqlLayerEbsVolumeArrayOutput `pulumi:"ebsVolumes"`
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrOutput `pulumi:"elasticLoadBalancer"`
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"`
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"`
	// A human-readable name for the layer.
	Name pulumi.StringOutput `pulumi:"name"`
	// Root password to use for MySQL.
	RootPassword pulumi.StringPtrOutput `pulumi:"rootPassword"`
	// Whether to set the root user password to all instances in the stack so they can access the instances in this layer.
	RootPasswordOnAllInstances pulumi.BoolPtrOutput `pulumi:"rootPasswordOnAllInstances"`
	// The id of the stack the layer will belong to.
	StackId pulumi.StringOutput `pulumi:"stackId"`
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayOutput `pulumi:"systemPackages"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrOutput `pulumi:"useEbsOptimizedInstances"`
}

Provides an OpsWorks MySQL layer resource.

> **Note:** All arguments including the root password will be stored in the raw state as plain-text.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/opsworks"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := opsworks.NewMysqlLayer(ctx, "db", &opsworks.MysqlLayerArgs{
			StackId: pulumi.String(aws_opsworks_stack.Main.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetMysqlLayer

func GetMysqlLayer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MysqlLayerState, opts ...pulumi.ResourceOption) (*MysqlLayer, error)

GetMysqlLayer gets an existing MysqlLayer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewMysqlLayer

func NewMysqlLayer(ctx *pulumi.Context,
	name string, args *MysqlLayerArgs, opts ...pulumi.ResourceOption) (*MysqlLayer, error)

NewMysqlLayer registers a new resource with the given unique name, arguments, and options.

type MysqlLayerArgs

type MysqlLayerArgs struct {
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes MysqlLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// Root password to use for MySQL.
	RootPassword pulumi.StringPtrInput
	// Whether to set the root user password to all instances in the stack so they can access the instances in this layer.
	RootPasswordOnAllInstances pulumi.BoolPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

The set of arguments for constructing a MysqlLayer resource.

func (MysqlLayerArgs) ElementType

func (MysqlLayerArgs) ElementType() reflect.Type

type MysqlLayerEbsVolume

type MysqlLayerEbsVolume struct {
	Encrypted *bool `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops *int `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint string `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks int `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel *string `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size int `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type *string `pulumi:"type"`
}

type MysqlLayerEbsVolumeArgs

type MysqlLayerEbsVolumeArgs struct {
	Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint pulumi.StringInput `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size pulumi.IntInput `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (MysqlLayerEbsVolumeArgs) ElementType

func (MysqlLayerEbsVolumeArgs) ElementType() reflect.Type

func (MysqlLayerEbsVolumeArgs) ToMysqlLayerEbsVolumeOutput

func (i MysqlLayerEbsVolumeArgs) ToMysqlLayerEbsVolumeOutput() MysqlLayerEbsVolumeOutput

func (MysqlLayerEbsVolumeArgs) ToMysqlLayerEbsVolumeOutputWithContext

func (i MysqlLayerEbsVolumeArgs) ToMysqlLayerEbsVolumeOutputWithContext(ctx context.Context) MysqlLayerEbsVolumeOutput

type MysqlLayerEbsVolumeArray

type MysqlLayerEbsVolumeArray []MysqlLayerEbsVolumeInput

func (MysqlLayerEbsVolumeArray) ElementType

func (MysqlLayerEbsVolumeArray) ElementType() reflect.Type

func (MysqlLayerEbsVolumeArray) ToMysqlLayerEbsVolumeArrayOutput

func (i MysqlLayerEbsVolumeArray) ToMysqlLayerEbsVolumeArrayOutput() MysqlLayerEbsVolumeArrayOutput

func (MysqlLayerEbsVolumeArray) ToMysqlLayerEbsVolumeArrayOutputWithContext

func (i MysqlLayerEbsVolumeArray) ToMysqlLayerEbsVolumeArrayOutputWithContext(ctx context.Context) MysqlLayerEbsVolumeArrayOutput

type MysqlLayerEbsVolumeArrayInput

type MysqlLayerEbsVolumeArrayInput interface {
	pulumi.Input

	ToMysqlLayerEbsVolumeArrayOutput() MysqlLayerEbsVolumeArrayOutput
	ToMysqlLayerEbsVolumeArrayOutputWithContext(context.Context) MysqlLayerEbsVolumeArrayOutput
}

MysqlLayerEbsVolumeArrayInput is an input type that accepts MysqlLayerEbsVolumeArray and MysqlLayerEbsVolumeArrayOutput values. You can construct a concrete instance of `MysqlLayerEbsVolumeArrayInput` via:

MysqlLayerEbsVolumeArray{ MysqlLayerEbsVolumeArgs{...} }

type MysqlLayerEbsVolumeArrayOutput

type MysqlLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState }

func (MysqlLayerEbsVolumeArrayOutput) ElementType

func (MysqlLayerEbsVolumeArrayOutput) Index

func (MysqlLayerEbsVolumeArrayOutput) ToMysqlLayerEbsVolumeArrayOutput

func (o MysqlLayerEbsVolumeArrayOutput) ToMysqlLayerEbsVolumeArrayOutput() MysqlLayerEbsVolumeArrayOutput

func (MysqlLayerEbsVolumeArrayOutput) ToMysqlLayerEbsVolumeArrayOutputWithContext

func (o MysqlLayerEbsVolumeArrayOutput) ToMysqlLayerEbsVolumeArrayOutputWithContext(ctx context.Context) MysqlLayerEbsVolumeArrayOutput

type MysqlLayerEbsVolumeInput

type MysqlLayerEbsVolumeInput interface {
	pulumi.Input

	ToMysqlLayerEbsVolumeOutput() MysqlLayerEbsVolumeOutput
	ToMysqlLayerEbsVolumeOutputWithContext(context.Context) MysqlLayerEbsVolumeOutput
}

MysqlLayerEbsVolumeInput is an input type that accepts MysqlLayerEbsVolumeArgs and MysqlLayerEbsVolumeOutput values. You can construct a concrete instance of `MysqlLayerEbsVolumeInput` via:

MysqlLayerEbsVolumeArgs{...}

type MysqlLayerEbsVolumeOutput

type MysqlLayerEbsVolumeOutput struct{ *pulumi.OutputState }

func (MysqlLayerEbsVolumeOutput) ElementType

func (MysqlLayerEbsVolumeOutput) ElementType() reflect.Type

func (MysqlLayerEbsVolumeOutput) Encrypted

func (MysqlLayerEbsVolumeOutput) Iops

For PIOPS volumes, the IOPS per disk.

func (MysqlLayerEbsVolumeOutput) MountPoint

The path to mount the EBS volume on the layer's instances.

func (MysqlLayerEbsVolumeOutput) NumberOfDisks

func (o MysqlLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput

The number of disks to use for the EBS volume.

func (MysqlLayerEbsVolumeOutput) RaidLevel

The RAID level to use for the volume.

func (MysqlLayerEbsVolumeOutput) Size

The size of the volume in gigabytes.

func (MysqlLayerEbsVolumeOutput) ToMysqlLayerEbsVolumeOutput

func (o MysqlLayerEbsVolumeOutput) ToMysqlLayerEbsVolumeOutput() MysqlLayerEbsVolumeOutput

func (MysqlLayerEbsVolumeOutput) ToMysqlLayerEbsVolumeOutputWithContext

func (o MysqlLayerEbsVolumeOutput) ToMysqlLayerEbsVolumeOutputWithContext(ctx context.Context) MysqlLayerEbsVolumeOutput

func (MysqlLayerEbsVolumeOutput) Type

The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.

type MysqlLayerState

type MysqlLayerState struct {
	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringPtrInput
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes MysqlLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// Root password to use for MySQL.
	RootPassword pulumi.StringPtrInput
	// Whether to set the root user password to all instances in the stack so they can access the instances in this layer.
	RootPasswordOnAllInstances pulumi.BoolPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringPtrInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

func (MysqlLayerState) ElementType

func (MysqlLayerState) ElementType() reflect.Type

type NodejsAppLayer

type NodejsAppLayer struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrOutput `pulumi:"autoAssignElasticIps"`
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrOutput `pulumi:"autoAssignPublicIps"`
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrOutput     `pulumi:"autoHealing"`
	CustomConfigureRecipes pulumi.StringArrayOutput `pulumi:"customConfigureRecipes"`
	CustomDeployRecipes    pulumi.StringArrayOutput `pulumi:"customDeployRecipes"`
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrOutput `pulumi:"customInstanceProfileArn"`
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrOutput `pulumi:"customJson"`
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayOutput `pulumi:"customSecurityGroupIds"`
	CustomSetupRecipes     pulumi.StringArrayOutput `pulumi:"customSetupRecipes"`
	CustomShutdownRecipes  pulumi.StringArrayOutput `pulumi:"customShutdownRecipes"`
	CustomUndeployRecipes  pulumi.StringArrayOutput `pulumi:"customUndeployRecipes"`
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrOutput `pulumi:"drainElbOnShutdown"`
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes NodejsAppLayerEbsVolumeArrayOutput `pulumi:"ebsVolumes"`
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrOutput `pulumi:"elasticLoadBalancer"`
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"`
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"`
	// A human-readable name for the layer.
	Name pulumi.StringOutput `pulumi:"name"`
	// The version of NodeJS to use. Defaults to "0.10.38".
	NodejsVersion pulumi.StringPtrOutput `pulumi:"nodejsVersion"`
	// The id of the stack the layer will belong to.
	StackId pulumi.StringOutput `pulumi:"stackId"`
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayOutput `pulumi:"systemPackages"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrOutput `pulumi:"useEbsOptimizedInstances"`
}

Provides an OpsWorks NodeJS application layer resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/opsworks"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := opsworks.NewNodejsAppLayer(ctx, "app", &opsworks.NodejsAppLayerArgs{
			StackId: pulumi.String(aws_opsworks_stack.Main.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetNodejsAppLayer

func GetNodejsAppLayer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NodejsAppLayerState, opts ...pulumi.ResourceOption) (*NodejsAppLayer, error)

GetNodejsAppLayer gets an existing NodejsAppLayer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNodejsAppLayer

func NewNodejsAppLayer(ctx *pulumi.Context,
	name string, args *NodejsAppLayerArgs, opts ...pulumi.ResourceOption) (*NodejsAppLayer, error)

NewNodejsAppLayer registers a new resource with the given unique name, arguments, and options.

type NodejsAppLayerArgs

type NodejsAppLayerArgs struct {
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes NodejsAppLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// The version of NodeJS to use. Defaults to "0.10.38".
	NodejsVersion pulumi.StringPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

The set of arguments for constructing a NodejsAppLayer resource.

func (NodejsAppLayerArgs) ElementType

func (NodejsAppLayerArgs) ElementType() reflect.Type

type NodejsAppLayerEbsVolume

type NodejsAppLayerEbsVolume struct {
	Encrypted *bool `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops *int `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint string `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks int `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel *string `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size int `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type *string `pulumi:"type"`
}

type NodejsAppLayerEbsVolumeArgs

type NodejsAppLayerEbsVolumeArgs struct {
	Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint pulumi.StringInput `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size pulumi.IntInput `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (NodejsAppLayerEbsVolumeArgs) ElementType

func (NodejsAppLayerEbsVolumeArgs) ToNodejsAppLayerEbsVolumeOutput

func (i NodejsAppLayerEbsVolumeArgs) ToNodejsAppLayerEbsVolumeOutput() NodejsAppLayerEbsVolumeOutput

func (NodejsAppLayerEbsVolumeArgs) ToNodejsAppLayerEbsVolumeOutputWithContext

func (i NodejsAppLayerEbsVolumeArgs) ToNodejsAppLayerEbsVolumeOutputWithContext(ctx context.Context) NodejsAppLayerEbsVolumeOutput

type NodejsAppLayerEbsVolumeArray

type NodejsAppLayerEbsVolumeArray []NodejsAppLayerEbsVolumeInput

func (NodejsAppLayerEbsVolumeArray) ElementType

func (NodejsAppLayerEbsVolumeArray) ToNodejsAppLayerEbsVolumeArrayOutput

func (i NodejsAppLayerEbsVolumeArray) ToNodejsAppLayerEbsVolumeArrayOutput() NodejsAppLayerEbsVolumeArrayOutput

func (NodejsAppLayerEbsVolumeArray) ToNodejsAppLayerEbsVolumeArrayOutputWithContext

func (i NodejsAppLayerEbsVolumeArray) ToNodejsAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) NodejsAppLayerEbsVolumeArrayOutput

type NodejsAppLayerEbsVolumeArrayInput

type NodejsAppLayerEbsVolumeArrayInput interface {
	pulumi.Input

	ToNodejsAppLayerEbsVolumeArrayOutput() NodejsAppLayerEbsVolumeArrayOutput
	ToNodejsAppLayerEbsVolumeArrayOutputWithContext(context.Context) NodejsAppLayerEbsVolumeArrayOutput
}

NodejsAppLayerEbsVolumeArrayInput is an input type that accepts NodejsAppLayerEbsVolumeArray and NodejsAppLayerEbsVolumeArrayOutput values. You can construct a concrete instance of `NodejsAppLayerEbsVolumeArrayInput` via:

NodejsAppLayerEbsVolumeArray{ NodejsAppLayerEbsVolumeArgs{...} }

type NodejsAppLayerEbsVolumeArrayOutput

type NodejsAppLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState }

func (NodejsAppLayerEbsVolumeArrayOutput) ElementType

func (NodejsAppLayerEbsVolumeArrayOutput) Index

func (NodejsAppLayerEbsVolumeArrayOutput) ToNodejsAppLayerEbsVolumeArrayOutput

func (o NodejsAppLayerEbsVolumeArrayOutput) ToNodejsAppLayerEbsVolumeArrayOutput() NodejsAppLayerEbsVolumeArrayOutput

func (NodejsAppLayerEbsVolumeArrayOutput) ToNodejsAppLayerEbsVolumeArrayOutputWithContext

func (o NodejsAppLayerEbsVolumeArrayOutput) ToNodejsAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) NodejsAppLayerEbsVolumeArrayOutput

type NodejsAppLayerEbsVolumeInput

type NodejsAppLayerEbsVolumeInput interface {
	pulumi.Input

	ToNodejsAppLayerEbsVolumeOutput() NodejsAppLayerEbsVolumeOutput
	ToNodejsAppLayerEbsVolumeOutputWithContext(context.Context) NodejsAppLayerEbsVolumeOutput
}

NodejsAppLayerEbsVolumeInput is an input type that accepts NodejsAppLayerEbsVolumeArgs and NodejsAppLayerEbsVolumeOutput values. You can construct a concrete instance of `NodejsAppLayerEbsVolumeInput` via:

NodejsAppLayerEbsVolumeArgs{...}

type NodejsAppLayerEbsVolumeOutput

type NodejsAppLayerEbsVolumeOutput struct{ *pulumi.OutputState }

func (NodejsAppLayerEbsVolumeOutput) ElementType

func (NodejsAppLayerEbsVolumeOutput) Encrypted

func (NodejsAppLayerEbsVolumeOutput) Iops

For PIOPS volumes, the IOPS per disk.

func (NodejsAppLayerEbsVolumeOutput) MountPoint

The path to mount the EBS volume on the layer's instances.

func (NodejsAppLayerEbsVolumeOutput) NumberOfDisks

The number of disks to use for the EBS volume.

func (NodejsAppLayerEbsVolumeOutput) RaidLevel

The RAID level to use for the volume.

func (NodejsAppLayerEbsVolumeOutput) Size

The size of the volume in gigabytes.

func (NodejsAppLayerEbsVolumeOutput) ToNodejsAppLayerEbsVolumeOutput

func (o NodejsAppLayerEbsVolumeOutput) ToNodejsAppLayerEbsVolumeOutput() NodejsAppLayerEbsVolumeOutput

func (NodejsAppLayerEbsVolumeOutput) ToNodejsAppLayerEbsVolumeOutputWithContext

func (o NodejsAppLayerEbsVolumeOutput) ToNodejsAppLayerEbsVolumeOutputWithContext(ctx context.Context) NodejsAppLayerEbsVolumeOutput

func (NodejsAppLayerEbsVolumeOutput) Type

The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.

type NodejsAppLayerState

type NodejsAppLayerState struct {
	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringPtrInput
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes NodejsAppLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// The version of NodeJS to use. Defaults to "0.10.38".
	NodejsVersion pulumi.StringPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringPtrInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

func (NodejsAppLayerState) ElementType

func (NodejsAppLayerState) ElementType() reflect.Type

type Permission

type Permission struct {
	pulumi.CustomResourceState

	// Whether the user is allowed to use SSH to communicate with the instance
	AllowSsh pulumi.BoolOutput `pulumi:"allowSsh"`
	// Whether the user is allowed to use sudo to elevate privileges
	AllowSudo pulumi.BoolOutput `pulumi:"allowSudo"`
	// The users permission level. Mus be one of `deny`, `show`, `deploy`, `manage`, `iamOnly`
	Level pulumi.StringOutput `pulumi:"level"`
	// The stack to set the permissions for
	StackId pulumi.StringOutput `pulumi:"stackId"`
	// The user's IAM ARN to set permissions for
	UserArn pulumi.StringOutput `pulumi:"userArn"`
}

Provides an OpsWorks permission resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/opsworks"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := opsworks.NewPermission(ctx, "myStackPermission", &opsworks.PermissionArgs{
			AllowSsh:  pulumi.Bool(true),
			AllowSudo: pulumi.Bool(true),
			Level:     pulumi.String("iam_only"),
			StackId:   pulumi.String(aws_opsworks_stack.Stack.Id),
			UserArn:   pulumi.String(aws_iam_user.User.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetPermission

func GetPermission(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PermissionState, opts ...pulumi.ResourceOption) (*Permission, error)

GetPermission gets an existing Permission resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPermission

func NewPermission(ctx *pulumi.Context,
	name string, args *PermissionArgs, opts ...pulumi.ResourceOption) (*Permission, error)

NewPermission registers a new resource with the given unique name, arguments, and options.

type PermissionArgs

type PermissionArgs struct {
	// Whether the user is allowed to use SSH to communicate with the instance
	AllowSsh pulumi.BoolPtrInput
	// Whether the user is allowed to use sudo to elevate privileges
	AllowSudo pulumi.BoolPtrInput
	// The users permission level. Mus be one of `deny`, `show`, `deploy`, `manage`, `iamOnly`
	Level pulumi.StringPtrInput
	// The stack to set the permissions for
	StackId pulumi.StringPtrInput
	// The user's IAM ARN to set permissions for
	UserArn pulumi.StringInput
}

The set of arguments for constructing a Permission resource.

func (PermissionArgs) ElementType

func (PermissionArgs) ElementType() reflect.Type

type PermissionState

type PermissionState struct {
	// Whether the user is allowed to use SSH to communicate with the instance
	AllowSsh pulumi.BoolPtrInput
	// Whether the user is allowed to use sudo to elevate privileges
	AllowSudo pulumi.BoolPtrInput
	// The users permission level. Mus be one of `deny`, `show`, `deploy`, `manage`, `iamOnly`
	Level pulumi.StringPtrInput
	// The stack to set the permissions for
	StackId pulumi.StringPtrInput
	// The user's IAM ARN to set permissions for
	UserArn pulumi.StringPtrInput
}

func (PermissionState) ElementType

func (PermissionState) ElementType() reflect.Type

type PhpAppLayer

type PhpAppLayer struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrOutput `pulumi:"autoAssignElasticIps"`
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrOutput `pulumi:"autoAssignPublicIps"`
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrOutput     `pulumi:"autoHealing"`
	CustomConfigureRecipes pulumi.StringArrayOutput `pulumi:"customConfigureRecipes"`
	CustomDeployRecipes    pulumi.StringArrayOutput `pulumi:"customDeployRecipes"`
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrOutput `pulumi:"customInstanceProfileArn"`
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrOutput `pulumi:"customJson"`
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayOutput `pulumi:"customSecurityGroupIds"`
	CustomSetupRecipes     pulumi.StringArrayOutput `pulumi:"customSetupRecipes"`
	CustomShutdownRecipes  pulumi.StringArrayOutput `pulumi:"customShutdownRecipes"`
	CustomUndeployRecipes  pulumi.StringArrayOutput `pulumi:"customUndeployRecipes"`
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrOutput `pulumi:"drainElbOnShutdown"`
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes PhpAppLayerEbsVolumeArrayOutput `pulumi:"ebsVolumes"`
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrOutput `pulumi:"elasticLoadBalancer"`
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"`
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"`
	// A human-readable name for the layer.
	Name pulumi.StringOutput `pulumi:"name"`
	// The id of the stack the layer will belong to.
	StackId pulumi.StringOutput `pulumi:"stackId"`
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayOutput `pulumi:"systemPackages"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrOutput `pulumi:"useEbsOptimizedInstances"`
}

Provides an OpsWorks PHP application layer resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/opsworks"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := opsworks.NewPhpAppLayer(ctx, "app", &opsworks.PhpAppLayerArgs{
			StackId: pulumi.String(aws_opsworks_stack.Main.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetPhpAppLayer

func GetPhpAppLayer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PhpAppLayerState, opts ...pulumi.ResourceOption) (*PhpAppLayer, error)

GetPhpAppLayer gets an existing PhpAppLayer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPhpAppLayer

func NewPhpAppLayer(ctx *pulumi.Context,
	name string, args *PhpAppLayerArgs, opts ...pulumi.ResourceOption) (*PhpAppLayer, error)

NewPhpAppLayer registers a new resource with the given unique name, arguments, and options.

type PhpAppLayerArgs

type PhpAppLayerArgs struct {
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes PhpAppLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

The set of arguments for constructing a PhpAppLayer resource.

func (PhpAppLayerArgs) ElementType

func (PhpAppLayerArgs) ElementType() reflect.Type

type PhpAppLayerEbsVolume

type PhpAppLayerEbsVolume struct {
	Encrypted *bool `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops *int `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint string `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks int `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel *string `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size int `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type *string `pulumi:"type"`
}

type PhpAppLayerEbsVolumeArgs

type PhpAppLayerEbsVolumeArgs struct {
	Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint pulumi.StringInput `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size pulumi.IntInput `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (PhpAppLayerEbsVolumeArgs) ElementType

func (PhpAppLayerEbsVolumeArgs) ElementType() reflect.Type

func (PhpAppLayerEbsVolumeArgs) ToPhpAppLayerEbsVolumeOutput

func (i PhpAppLayerEbsVolumeArgs) ToPhpAppLayerEbsVolumeOutput() PhpAppLayerEbsVolumeOutput

func (PhpAppLayerEbsVolumeArgs) ToPhpAppLayerEbsVolumeOutputWithContext

func (i PhpAppLayerEbsVolumeArgs) ToPhpAppLayerEbsVolumeOutputWithContext(ctx context.Context) PhpAppLayerEbsVolumeOutput

type PhpAppLayerEbsVolumeArray

type PhpAppLayerEbsVolumeArray []PhpAppLayerEbsVolumeInput

func (PhpAppLayerEbsVolumeArray) ElementType

func (PhpAppLayerEbsVolumeArray) ElementType() reflect.Type

func (PhpAppLayerEbsVolumeArray) ToPhpAppLayerEbsVolumeArrayOutput

func (i PhpAppLayerEbsVolumeArray) ToPhpAppLayerEbsVolumeArrayOutput() PhpAppLayerEbsVolumeArrayOutput

func (PhpAppLayerEbsVolumeArray) ToPhpAppLayerEbsVolumeArrayOutputWithContext

func (i PhpAppLayerEbsVolumeArray) ToPhpAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) PhpAppLayerEbsVolumeArrayOutput

type PhpAppLayerEbsVolumeArrayInput

type PhpAppLayerEbsVolumeArrayInput interface {
	pulumi.Input

	ToPhpAppLayerEbsVolumeArrayOutput() PhpAppLayerEbsVolumeArrayOutput
	ToPhpAppLayerEbsVolumeArrayOutputWithContext(context.Context) PhpAppLayerEbsVolumeArrayOutput
}

PhpAppLayerEbsVolumeArrayInput is an input type that accepts PhpAppLayerEbsVolumeArray and PhpAppLayerEbsVolumeArrayOutput values. You can construct a concrete instance of `PhpAppLayerEbsVolumeArrayInput` via:

PhpAppLayerEbsVolumeArray{ PhpAppLayerEbsVolumeArgs{...} }

type PhpAppLayerEbsVolumeArrayOutput

type PhpAppLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState }

func (PhpAppLayerEbsVolumeArrayOutput) ElementType

func (PhpAppLayerEbsVolumeArrayOutput) Index

func (PhpAppLayerEbsVolumeArrayOutput) ToPhpAppLayerEbsVolumeArrayOutput

func (o PhpAppLayerEbsVolumeArrayOutput) ToPhpAppLayerEbsVolumeArrayOutput() PhpAppLayerEbsVolumeArrayOutput

func (PhpAppLayerEbsVolumeArrayOutput) ToPhpAppLayerEbsVolumeArrayOutputWithContext

func (o PhpAppLayerEbsVolumeArrayOutput) ToPhpAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) PhpAppLayerEbsVolumeArrayOutput

type PhpAppLayerEbsVolumeInput

type PhpAppLayerEbsVolumeInput interface {
	pulumi.Input

	ToPhpAppLayerEbsVolumeOutput() PhpAppLayerEbsVolumeOutput
	ToPhpAppLayerEbsVolumeOutputWithContext(context.Context) PhpAppLayerEbsVolumeOutput
}

PhpAppLayerEbsVolumeInput is an input type that accepts PhpAppLayerEbsVolumeArgs and PhpAppLayerEbsVolumeOutput values. You can construct a concrete instance of `PhpAppLayerEbsVolumeInput` via:

PhpAppLayerEbsVolumeArgs{...}

type PhpAppLayerEbsVolumeOutput

type PhpAppLayerEbsVolumeOutput struct{ *pulumi.OutputState }

func (PhpAppLayerEbsVolumeOutput) ElementType

func (PhpAppLayerEbsVolumeOutput) ElementType() reflect.Type

func (PhpAppLayerEbsVolumeOutput) Encrypted

func (PhpAppLayerEbsVolumeOutput) Iops

For PIOPS volumes, the IOPS per disk.

func (PhpAppLayerEbsVolumeOutput) MountPoint

The path to mount the EBS volume on the layer's instances.

func (PhpAppLayerEbsVolumeOutput) NumberOfDisks

func (o PhpAppLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput

The number of disks to use for the EBS volume.

func (PhpAppLayerEbsVolumeOutput) RaidLevel

The RAID level to use for the volume.

func (PhpAppLayerEbsVolumeOutput) Size

The size of the volume in gigabytes.

func (PhpAppLayerEbsVolumeOutput) ToPhpAppLayerEbsVolumeOutput

func (o PhpAppLayerEbsVolumeOutput) ToPhpAppLayerEbsVolumeOutput() PhpAppLayerEbsVolumeOutput

func (PhpAppLayerEbsVolumeOutput) ToPhpAppLayerEbsVolumeOutputWithContext

func (o PhpAppLayerEbsVolumeOutput) ToPhpAppLayerEbsVolumeOutputWithContext(ctx context.Context) PhpAppLayerEbsVolumeOutput

func (PhpAppLayerEbsVolumeOutput) Type

The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.

type PhpAppLayerState

type PhpAppLayerState struct {
	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringPtrInput
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes PhpAppLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringPtrInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

func (PhpAppLayerState) ElementType

func (PhpAppLayerState) ElementType() reflect.Type

type RailsAppLayer

type RailsAppLayer struct {
	pulumi.CustomResourceState

	// Keyword for the app server to use. Defaults to "apachePassenger".
	AppServer pulumi.StringPtrOutput `pulumi:"appServer"`
	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrOutput `pulumi:"autoAssignElasticIps"`
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrOutput `pulumi:"autoAssignPublicIps"`
	// Whether to enable auto-healing for the layer.
	AutoHealing pulumi.BoolPtrOutput `pulumi:"autoHealing"`
	// When OpsWorks is managing Bundler, which version to use. Defaults to "1.5.3".
	BundlerVersion         pulumi.StringPtrOutput   `pulumi:"bundlerVersion"`
	CustomConfigureRecipes pulumi.StringArrayOutput `pulumi:"customConfigureRecipes"`
	CustomDeployRecipes    pulumi.StringArrayOutput `pulumi:"customDeployRecipes"`
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrOutput `pulumi:"customInstanceProfileArn"`
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrOutput `pulumi:"customJson"`
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayOutput `pulumi:"customSecurityGroupIds"`
	CustomSetupRecipes     pulumi.StringArrayOutput `pulumi:"customSetupRecipes"`
	CustomShutdownRecipes  pulumi.StringArrayOutput `pulumi:"customShutdownRecipes"`
	CustomUndeployRecipes  pulumi.StringArrayOutput `pulumi:"customUndeployRecipes"`
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrOutput `pulumi:"drainElbOnShutdown"`
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes RailsAppLayerEbsVolumeArrayOutput `pulumi:"ebsVolumes"`
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrOutput `pulumi:"elasticLoadBalancer"`
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"`
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"`
	// Whether OpsWorks should manage bundler. On by default.
	ManageBundler pulumi.BoolPtrOutput `pulumi:"manageBundler"`
	// A human-readable name for the layer.
	Name pulumi.StringOutput `pulumi:"name"`
	// The version of Passenger to use. Defaults to "4.0.46".
	PassengerVersion pulumi.StringPtrOutput `pulumi:"passengerVersion"`
	// The version of Ruby to use. Defaults to "2.0.0".
	RubyVersion pulumi.StringPtrOutput `pulumi:"rubyVersion"`
	// The version of RubyGems to use. Defaults to "2.2.2".
	RubygemsVersion pulumi.StringPtrOutput `pulumi:"rubygemsVersion"`
	// The id of the stack the layer will belong to.
	StackId pulumi.StringOutput `pulumi:"stackId"`
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayOutput `pulumi:"systemPackages"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrOutput `pulumi:"useEbsOptimizedInstances"`
}

Provides an OpsWorks Ruby on Rails application layer resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/opsworks"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := opsworks.NewRailsAppLayer(ctx, "app", &opsworks.RailsAppLayerArgs{
			StackId: pulumi.String(aws_opsworks_stack.Main.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetRailsAppLayer

func GetRailsAppLayer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RailsAppLayerState, opts ...pulumi.ResourceOption) (*RailsAppLayer, error)

GetRailsAppLayer gets an existing RailsAppLayer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRailsAppLayer

func NewRailsAppLayer(ctx *pulumi.Context,
	name string, args *RailsAppLayerArgs, opts ...pulumi.ResourceOption) (*RailsAppLayer, error)

NewRailsAppLayer registers a new resource with the given unique name, arguments, and options.

type RailsAppLayerArgs

type RailsAppLayerArgs struct {
	// Keyword for the app server to use. Defaults to "apachePassenger".
	AppServer pulumi.StringPtrInput
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing pulumi.BoolPtrInput
	// When OpsWorks is managing Bundler, which version to use. Defaults to "1.5.3".
	BundlerVersion         pulumi.StringPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes RailsAppLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// Whether OpsWorks should manage bundler. On by default.
	ManageBundler pulumi.BoolPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// The version of Passenger to use. Defaults to "4.0.46".
	PassengerVersion pulumi.StringPtrInput
	// The version of Ruby to use. Defaults to "2.0.0".
	RubyVersion pulumi.StringPtrInput
	// The version of RubyGems to use. Defaults to "2.2.2".
	RubygemsVersion pulumi.StringPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

The set of arguments for constructing a RailsAppLayer resource.

func (RailsAppLayerArgs) ElementType

func (RailsAppLayerArgs) ElementType() reflect.Type

type RailsAppLayerEbsVolume

type RailsAppLayerEbsVolume struct {
	Encrypted *bool `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops *int `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint string `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks int `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel *string `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size int `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type *string `pulumi:"type"`
}

type RailsAppLayerEbsVolumeArgs

type RailsAppLayerEbsVolumeArgs struct {
	Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint pulumi.StringInput `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size pulumi.IntInput `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (RailsAppLayerEbsVolumeArgs) ElementType

func (RailsAppLayerEbsVolumeArgs) ElementType() reflect.Type

func (RailsAppLayerEbsVolumeArgs) ToRailsAppLayerEbsVolumeOutput

func (i RailsAppLayerEbsVolumeArgs) ToRailsAppLayerEbsVolumeOutput() RailsAppLayerEbsVolumeOutput

func (RailsAppLayerEbsVolumeArgs) ToRailsAppLayerEbsVolumeOutputWithContext

func (i RailsAppLayerEbsVolumeArgs) ToRailsAppLayerEbsVolumeOutputWithContext(ctx context.Context) RailsAppLayerEbsVolumeOutput

type RailsAppLayerEbsVolumeArray

type RailsAppLayerEbsVolumeArray []RailsAppLayerEbsVolumeInput

func (RailsAppLayerEbsVolumeArray) ElementType

func (RailsAppLayerEbsVolumeArray) ToRailsAppLayerEbsVolumeArrayOutput

func (i RailsAppLayerEbsVolumeArray) ToRailsAppLayerEbsVolumeArrayOutput() RailsAppLayerEbsVolumeArrayOutput

func (RailsAppLayerEbsVolumeArray) ToRailsAppLayerEbsVolumeArrayOutputWithContext

func (i RailsAppLayerEbsVolumeArray) ToRailsAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) RailsAppLayerEbsVolumeArrayOutput

type RailsAppLayerEbsVolumeArrayInput

type RailsAppLayerEbsVolumeArrayInput interface {
	pulumi.Input

	ToRailsAppLayerEbsVolumeArrayOutput() RailsAppLayerEbsVolumeArrayOutput
	ToRailsAppLayerEbsVolumeArrayOutputWithContext(context.Context) RailsAppLayerEbsVolumeArrayOutput
}

RailsAppLayerEbsVolumeArrayInput is an input type that accepts RailsAppLayerEbsVolumeArray and RailsAppLayerEbsVolumeArrayOutput values. You can construct a concrete instance of `RailsAppLayerEbsVolumeArrayInput` via:

RailsAppLayerEbsVolumeArray{ RailsAppLayerEbsVolumeArgs{...} }

type RailsAppLayerEbsVolumeArrayOutput

type RailsAppLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState }

func (RailsAppLayerEbsVolumeArrayOutput) ElementType

func (RailsAppLayerEbsVolumeArrayOutput) Index

func (RailsAppLayerEbsVolumeArrayOutput) ToRailsAppLayerEbsVolumeArrayOutput

func (o RailsAppLayerEbsVolumeArrayOutput) ToRailsAppLayerEbsVolumeArrayOutput() RailsAppLayerEbsVolumeArrayOutput

func (RailsAppLayerEbsVolumeArrayOutput) ToRailsAppLayerEbsVolumeArrayOutputWithContext

func (o RailsAppLayerEbsVolumeArrayOutput) ToRailsAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) RailsAppLayerEbsVolumeArrayOutput

type RailsAppLayerEbsVolumeInput

type RailsAppLayerEbsVolumeInput interface {
	pulumi.Input

	ToRailsAppLayerEbsVolumeOutput() RailsAppLayerEbsVolumeOutput
	ToRailsAppLayerEbsVolumeOutputWithContext(context.Context) RailsAppLayerEbsVolumeOutput
}

RailsAppLayerEbsVolumeInput is an input type that accepts RailsAppLayerEbsVolumeArgs and RailsAppLayerEbsVolumeOutput values. You can construct a concrete instance of `RailsAppLayerEbsVolumeInput` via:

RailsAppLayerEbsVolumeArgs{...}

type RailsAppLayerEbsVolumeOutput

type RailsAppLayerEbsVolumeOutput struct{ *pulumi.OutputState }

func (RailsAppLayerEbsVolumeOutput) ElementType

func (RailsAppLayerEbsVolumeOutput) Encrypted

func (RailsAppLayerEbsVolumeOutput) Iops

For PIOPS volumes, the IOPS per disk.

func (RailsAppLayerEbsVolumeOutput) MountPoint

The path to mount the EBS volume on the layer's instances.

func (RailsAppLayerEbsVolumeOutput) NumberOfDisks

func (o RailsAppLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput

The number of disks to use for the EBS volume.

func (RailsAppLayerEbsVolumeOutput) RaidLevel

The RAID level to use for the volume.

func (RailsAppLayerEbsVolumeOutput) Size

The size of the volume in gigabytes.

func (RailsAppLayerEbsVolumeOutput) ToRailsAppLayerEbsVolumeOutput

func (o RailsAppLayerEbsVolumeOutput) ToRailsAppLayerEbsVolumeOutput() RailsAppLayerEbsVolumeOutput

func (RailsAppLayerEbsVolumeOutput) ToRailsAppLayerEbsVolumeOutputWithContext

func (o RailsAppLayerEbsVolumeOutput) ToRailsAppLayerEbsVolumeOutputWithContext(ctx context.Context) RailsAppLayerEbsVolumeOutput

func (RailsAppLayerEbsVolumeOutput) Type

The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.

type RailsAppLayerState

type RailsAppLayerState struct {
	// Keyword for the app server to use. Defaults to "apachePassenger".
	AppServer pulumi.StringPtrInput
	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringPtrInput
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing pulumi.BoolPtrInput
	// When OpsWorks is managing Bundler, which version to use. Defaults to "1.5.3".
	BundlerVersion         pulumi.StringPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	// Custom JSON attributes to apply to the layer.
	CustomJson pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes RailsAppLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// Whether OpsWorks should manage bundler. On by default.
	ManageBundler pulumi.BoolPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// The version of Passenger to use. Defaults to "4.0.46".
	PassengerVersion pulumi.StringPtrInput
	// The version of Ruby to use. Defaults to "2.0.0".
	RubyVersion pulumi.StringPtrInput
	// The version of RubyGems to use. Defaults to "2.2.2".
	RubygemsVersion pulumi.StringPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringPtrInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

func (RailsAppLayerState) ElementType

func (RailsAppLayerState) ElementType() reflect.Type

type RdsDbInstance

type RdsDbInstance struct {
	pulumi.CustomResourceState

	// A db password
	DbPassword pulumi.StringOutput `pulumi:"dbPassword"`
	// A db username
	DbUser pulumi.StringOutput `pulumi:"dbUser"`
	// The db instance to register for this stack. Changing this will force a new resource.
	RdsDbInstanceArn pulumi.StringOutput `pulumi:"rdsDbInstanceArn"`
	// The stack to register a db instance for. Changing this will force a new resource.
	StackId pulumi.StringOutput `pulumi:"stackId"`
}

Provides an OpsWorks RDS DB Instance resource.

> **Note:** All arguments including the username and password will be stored in the raw state as plain-text.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/opsworks"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := opsworks.NewRdsDbInstance(ctx, "myInstance", &opsworks.RdsDbInstanceArgs{
			DbPassword:       pulumi.String("somePass"),
			DbUser:           pulumi.String("someUser"),
			RdsDbInstanceArn: pulumi.String(aws_db_instance.My_instance.Arn),
			StackId:          pulumi.String(aws_opsworks_stack.My_stack.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetRdsDbInstance

func GetRdsDbInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RdsDbInstanceState, opts ...pulumi.ResourceOption) (*RdsDbInstance, error)

GetRdsDbInstance gets an existing RdsDbInstance resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRdsDbInstance

func NewRdsDbInstance(ctx *pulumi.Context,
	name string, args *RdsDbInstanceArgs, opts ...pulumi.ResourceOption) (*RdsDbInstance, error)

NewRdsDbInstance registers a new resource with the given unique name, arguments, and options.

type RdsDbInstanceArgs

type RdsDbInstanceArgs struct {
	// A db password
	DbPassword pulumi.StringInput
	// A db username
	DbUser pulumi.StringInput
	// The db instance to register for this stack. Changing this will force a new resource.
	RdsDbInstanceArn pulumi.StringInput
	// The stack to register a db instance for. Changing this will force a new resource.
	StackId pulumi.StringInput
}

The set of arguments for constructing a RdsDbInstance resource.

func (RdsDbInstanceArgs) ElementType

func (RdsDbInstanceArgs) ElementType() reflect.Type

type RdsDbInstanceState

type RdsDbInstanceState struct {
	// A db password
	DbPassword pulumi.StringPtrInput
	// A db username
	DbUser pulumi.StringPtrInput
	// The db instance to register for this stack. Changing this will force a new resource.
	RdsDbInstanceArn pulumi.StringPtrInput
	// The stack to register a db instance for. Changing this will force a new resource.
	StackId pulumi.StringPtrInput
}

func (RdsDbInstanceState) ElementType

func (RdsDbInstanceState) ElementType() reflect.Type

type Stack

type Stack struct {
	pulumi.CustomResourceState

	// If set to `"LATEST"`, OpsWorks will automatically install the latest version.
	AgentVersion pulumi.StringOutput `pulumi:"agentVersion"`
	Arn          pulumi.StringOutput `pulumi:"arn"`
	// If `manageBerkshelf` is enabled, the version of Berkshelf to use.
	BerkshelfVersion pulumi.StringPtrOutput `pulumi:"berkshelfVersion"`
	// Color to paint next to the stack's resources in the OpsWorks console.
	Color pulumi.StringPtrOutput `pulumi:"color"`
	// Name of the configuration manager to use. Defaults to "Chef".
	ConfigurationManagerName pulumi.StringPtrOutput `pulumi:"configurationManagerName"`
	// Version of the configuration manager to use. Defaults to "11.4".
	ConfigurationManagerVersion pulumi.StringPtrOutput `pulumi:"configurationManagerVersion"`
	// When `useCustomCookbooks` is set, provide this sub-object as
	// described below.
	CustomCookbooksSources StackCustomCookbooksSourceArrayOutput `pulumi:"customCookbooksSources"`
	// Custom JSON attributes to apply to the entire stack.
	CustomJson pulumi.StringPtrOutput `pulumi:"customJson"`
	// Name of the availability zone where instances will be created
	// by default. This is required unless you set `vpcId`.
	DefaultAvailabilityZone pulumi.StringOutput `pulumi:"defaultAvailabilityZone"`
	// The ARN of an IAM Instance Profile that created instances
	// will have by default.
	DefaultInstanceProfileArn pulumi.StringOutput `pulumi:"defaultInstanceProfileArn"`
	// Name of OS that will be installed on instances by default.
	DefaultOs pulumi.StringPtrOutput `pulumi:"defaultOs"`
	// Name of the type of root device instances will have by default.
	DefaultRootDeviceType pulumi.StringPtrOutput `pulumi:"defaultRootDeviceType"`
	// Name of the SSH keypair that instances will have by default.
	DefaultSshKeyName pulumi.StringPtrOutput `pulumi:"defaultSshKeyName"`
	// Id of the subnet in which instances will be created by default. Mandatory
	// if `vpcId` is set, and forbidden if it isn't.
	DefaultSubnetId pulumi.StringOutput `pulumi:"defaultSubnetId"`
	// Keyword representing the naming scheme that will be used for instance hostnames
	// within this stack.
	HostnameTheme pulumi.StringPtrOutput `pulumi:"hostnameTheme"`
	// Boolean value controlling whether Opsworks will run Berkshelf for this stack.
	ManageBerkshelf pulumi.BoolPtrOutput `pulumi:"manageBerkshelf"`
	// The name of the stack.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the region where the stack will exist.
	Region pulumi.StringOutput `pulumi:"region"`
	// The ARN of an IAM role that the OpsWorks service will act as.
	ServiceRoleArn pulumi.StringOutput `pulumi:"serviceRoleArn"`
	StackEndpoint  pulumi.StringOutput `pulumi:"stackEndpoint"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Boolean value controlling whether the custom cookbook settings are
	// enabled.
	UseCustomCookbooks pulumi.BoolPtrOutput `pulumi:"useCustomCookbooks"`
	// Boolean value controlling whether the standard OpsWorks
	// security groups apply to created instances.
	UseOpsworksSecurityGroups pulumi.BoolPtrOutput `pulumi:"useOpsworksSecurityGroups"`
	// The id of the VPC that this stack belongs to.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides an OpsWorks stack resource.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/opsworks"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := opsworks.NewStack(ctx, "main", &opsworks.StackArgs{
			CustomJson:                pulumi.String(fmt.Sprintf("%v%v%v%v%v%v", "{\n", " \"foobar\": {\n", "    \"version\": \"1.0.0\"\n", "  }\n", "}\n", "\n")),
			DefaultInstanceProfileArn: pulumi.String(aws_iam_instance_profile.Opsworks.Arn),
			Region:                    pulumi.String("us-west-1"),
			ServiceRoleArn:            pulumi.String(aws_iam_role.Opsworks.Arn),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("foobar-stack"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetStack

func GetStack(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *StackState, opts ...pulumi.ResourceOption) (*Stack, error)

GetStack gets an existing Stack resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewStack

func NewStack(ctx *pulumi.Context,
	name string, args *StackArgs, opts ...pulumi.ResourceOption) (*Stack, error)

NewStack registers a new resource with the given unique name, arguments, and options.

type StackArgs

type StackArgs struct {
	// If set to `"LATEST"`, OpsWorks will automatically install the latest version.
	AgentVersion pulumi.StringPtrInput
	// If `manageBerkshelf` is enabled, the version of Berkshelf to use.
	BerkshelfVersion pulumi.StringPtrInput
	// Color to paint next to the stack's resources in the OpsWorks console.
	Color pulumi.StringPtrInput
	// Name of the configuration manager to use. Defaults to "Chef".
	ConfigurationManagerName pulumi.StringPtrInput
	// Version of the configuration manager to use. Defaults to "11.4".
	ConfigurationManagerVersion pulumi.StringPtrInput
	// When `useCustomCookbooks` is set, provide this sub-object as
	// described below.
	CustomCookbooksSources StackCustomCookbooksSourceArrayInput
	// Custom JSON attributes to apply to the entire stack.
	CustomJson pulumi.StringPtrInput
	// Name of the availability zone where instances will be created
	// by default. This is required unless you set `vpcId`.
	DefaultAvailabilityZone pulumi.StringPtrInput
	// The ARN of an IAM Instance Profile that created instances
	// will have by default.
	DefaultInstanceProfileArn pulumi.StringInput
	// Name of OS that will be installed on instances by default.
	DefaultOs pulumi.StringPtrInput
	// Name of the type of root device instances will have by default.
	DefaultRootDeviceType pulumi.StringPtrInput
	// Name of the SSH keypair that instances will have by default.
	DefaultSshKeyName pulumi.StringPtrInput
	// Id of the subnet in which instances will be created by default. Mandatory
	// if `vpcId` is set, and forbidden if it isn't.
	DefaultSubnetId pulumi.StringPtrInput
	// Keyword representing the naming scheme that will be used for instance hostnames
	// within this stack.
	HostnameTheme pulumi.StringPtrInput
	// Boolean value controlling whether Opsworks will run Berkshelf for this stack.
	ManageBerkshelf pulumi.BoolPtrInput
	// The name of the stack.
	Name pulumi.StringPtrInput
	// The name of the region where the stack will exist.
	Region pulumi.StringInput
	// The ARN of an IAM role that the OpsWorks service will act as.
	ServiceRoleArn pulumi.StringInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Boolean value controlling whether the custom cookbook settings are
	// enabled.
	UseCustomCookbooks pulumi.BoolPtrInput
	// Boolean value controlling whether the standard OpsWorks
	// security groups apply to created instances.
	UseOpsworksSecurityGroups pulumi.BoolPtrInput
	// The id of the VPC that this stack belongs to.
	VpcId pulumi.StringPtrInput
}

The set of arguments for constructing a Stack resource.

func (StackArgs) ElementType

func (StackArgs) ElementType() reflect.Type

type StackCustomCookbooksSource

type StackCustomCookbooksSource struct {
	// Password to use when authenticating to the source. The provider cannot perform drift detection of this configuration.
	Password *string `pulumi:"password"`
	// For sources that are version-aware, the revision to use.
	Revision *string `pulumi:"revision"`
	// SSH key to use when authenticating to the source. The provider cannot perform drift detection of this configuration.
	SshKey *string `pulumi:"sshKey"`
	// The type of source to use. For example, "archive".
	Type string `pulumi:"type"`
	// The URL where the cookbooks resource can be found.
	Url string `pulumi:"url"`
	// Username to use when authenticating to the source.
	Username *string `pulumi:"username"`
}

type StackCustomCookbooksSourceArgs

type StackCustomCookbooksSourceArgs struct {
	// Password to use when authenticating to the source. The provider cannot perform drift detection of this configuration.
	Password pulumi.StringPtrInput `pulumi:"password"`
	// For sources that are version-aware, the revision to use.
	Revision pulumi.StringPtrInput `pulumi:"revision"`
	// SSH key to use when authenticating to the source. The provider cannot perform drift detection of this configuration.
	SshKey pulumi.StringPtrInput `pulumi:"sshKey"`
	// The type of source to use. For example, "archive".
	Type pulumi.StringInput `pulumi:"type"`
	// The URL where the cookbooks resource can be found.
	Url pulumi.StringInput `pulumi:"url"`
	// Username to use when authenticating to the source.
	Username pulumi.StringPtrInput `pulumi:"username"`
}

func (StackCustomCookbooksSourceArgs) ElementType

func (StackCustomCookbooksSourceArgs) ToStackCustomCookbooksSourceOutput

func (i StackCustomCookbooksSourceArgs) ToStackCustomCookbooksSourceOutput() StackCustomCookbooksSourceOutput

func (StackCustomCookbooksSourceArgs) ToStackCustomCookbooksSourceOutputWithContext

func (i StackCustomCookbooksSourceArgs) ToStackCustomCookbooksSourceOutputWithContext(ctx context.Context) StackCustomCookbooksSourceOutput

type StackCustomCookbooksSourceArray

type StackCustomCookbooksSourceArray []StackCustomCookbooksSourceInput

func (StackCustomCookbooksSourceArray) ElementType

func (StackCustomCookbooksSourceArray) ToStackCustomCookbooksSourceArrayOutput

func (i StackCustomCookbooksSourceArray) ToStackCustomCookbooksSourceArrayOutput() StackCustomCookbooksSourceArrayOutput

func (StackCustomCookbooksSourceArray) ToStackCustomCookbooksSourceArrayOutputWithContext

func (i StackCustomCookbooksSourceArray) ToStackCustomCookbooksSourceArrayOutputWithContext(ctx context.Context) StackCustomCookbooksSourceArrayOutput

type StackCustomCookbooksSourceArrayInput

type StackCustomCookbooksSourceArrayInput interface {
	pulumi.Input

	ToStackCustomCookbooksSourceArrayOutput() StackCustomCookbooksSourceArrayOutput
	ToStackCustomCookbooksSourceArrayOutputWithContext(context.Context) StackCustomCookbooksSourceArrayOutput
}

StackCustomCookbooksSourceArrayInput is an input type that accepts StackCustomCookbooksSourceArray and StackCustomCookbooksSourceArrayOutput values. You can construct a concrete instance of `StackCustomCookbooksSourceArrayInput` via:

StackCustomCookbooksSourceArray{ StackCustomCookbooksSourceArgs{...} }

type StackCustomCookbooksSourceArrayOutput

type StackCustomCookbooksSourceArrayOutput struct{ *pulumi.OutputState }

func (StackCustomCookbooksSourceArrayOutput) ElementType

func (StackCustomCookbooksSourceArrayOutput) Index

func (StackCustomCookbooksSourceArrayOutput) ToStackCustomCookbooksSourceArrayOutput

func (o StackCustomCookbooksSourceArrayOutput) ToStackCustomCookbooksSourceArrayOutput() StackCustomCookbooksSourceArrayOutput

func (StackCustomCookbooksSourceArrayOutput) ToStackCustomCookbooksSourceArrayOutputWithContext

func (o StackCustomCookbooksSourceArrayOutput) ToStackCustomCookbooksSourceArrayOutputWithContext(ctx context.Context) StackCustomCookbooksSourceArrayOutput

type StackCustomCookbooksSourceInput

type StackCustomCookbooksSourceInput interface {
	pulumi.Input

	ToStackCustomCookbooksSourceOutput() StackCustomCookbooksSourceOutput
	ToStackCustomCookbooksSourceOutputWithContext(context.Context) StackCustomCookbooksSourceOutput
}

StackCustomCookbooksSourceInput is an input type that accepts StackCustomCookbooksSourceArgs and StackCustomCookbooksSourceOutput values. You can construct a concrete instance of `StackCustomCookbooksSourceInput` via:

StackCustomCookbooksSourceArgs{...}

type StackCustomCookbooksSourceOutput

type StackCustomCookbooksSourceOutput struct{ *pulumi.OutputState }

func (StackCustomCookbooksSourceOutput) ElementType

func (StackCustomCookbooksSourceOutput) Password

Password to use when authenticating to the source. The provider cannot perform drift detection of this configuration.

func (StackCustomCookbooksSourceOutput) Revision

For sources that are version-aware, the revision to use.

func (StackCustomCookbooksSourceOutput) SshKey

SSH key to use when authenticating to the source. The provider cannot perform drift detection of this configuration.

func (StackCustomCookbooksSourceOutput) ToStackCustomCookbooksSourceOutput

func (o StackCustomCookbooksSourceOutput) ToStackCustomCookbooksSourceOutput() StackCustomCookbooksSourceOutput

func (StackCustomCookbooksSourceOutput) ToStackCustomCookbooksSourceOutputWithContext

func (o StackCustomCookbooksSourceOutput) ToStackCustomCookbooksSourceOutputWithContext(ctx context.Context) StackCustomCookbooksSourceOutput

func (StackCustomCookbooksSourceOutput) Type

The type of source to use. For example, "archive".

func (StackCustomCookbooksSourceOutput) Url

The URL where the cookbooks resource can be found.

func (StackCustomCookbooksSourceOutput) Username

Username to use when authenticating to the source.

type StackState

type StackState struct {
	// If set to `"LATEST"`, OpsWorks will automatically install the latest version.
	AgentVersion pulumi.StringPtrInput
	Arn          pulumi.StringPtrInput
	// If `manageBerkshelf` is enabled, the version of Berkshelf to use.
	BerkshelfVersion pulumi.StringPtrInput
	// Color to paint next to the stack's resources in the OpsWorks console.
	Color pulumi.StringPtrInput
	// Name of the configuration manager to use. Defaults to "Chef".
	ConfigurationManagerName pulumi.StringPtrInput
	// Version of the configuration manager to use. Defaults to "11.4".
	ConfigurationManagerVersion pulumi.StringPtrInput
	// When `useCustomCookbooks` is set, provide this sub-object as
	// described below.
	CustomCookbooksSources StackCustomCookbooksSourceArrayInput
	// Custom JSON attributes to apply to the entire stack.
	CustomJson pulumi.StringPtrInput
	// Name of the availability zone where instances will be created
	// by default. This is required unless you set `vpcId`.
	DefaultAvailabilityZone pulumi.StringPtrInput
	// The ARN of an IAM Instance Profile that created instances
	// will have by default.
	DefaultInstanceProfileArn pulumi.StringPtrInput
	// Name of OS that will be installed on instances by default.
	DefaultOs pulumi.StringPtrInput
	// Name of the type of root device instances will have by default.
	DefaultRootDeviceType pulumi.StringPtrInput
	// Name of the SSH keypair that instances will have by default.
	DefaultSshKeyName pulumi.StringPtrInput
	// Id of the subnet in which instances will be created by default. Mandatory
	// if `vpcId` is set, and forbidden if it isn't.
	DefaultSubnetId pulumi.StringPtrInput
	// Keyword representing the naming scheme that will be used for instance hostnames
	// within this stack.
	HostnameTheme pulumi.StringPtrInput
	// Boolean value controlling whether Opsworks will run Berkshelf for this stack.
	ManageBerkshelf pulumi.BoolPtrInput
	// The name of the stack.
	Name pulumi.StringPtrInput
	// The name of the region where the stack will exist.
	Region pulumi.StringPtrInput
	// The ARN of an IAM role that the OpsWorks service will act as.
	ServiceRoleArn pulumi.StringPtrInput
	StackEndpoint  pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Boolean value controlling whether the custom cookbook settings are
	// enabled.
	UseCustomCookbooks pulumi.BoolPtrInput
	// Boolean value controlling whether the standard OpsWorks
	// security groups apply to created instances.
	UseOpsworksSecurityGroups pulumi.BoolPtrInput
	// The id of the VPC that this stack belongs to.
	VpcId pulumi.StringPtrInput
}

func (StackState) ElementType

func (StackState) ElementType() reflect.Type

type StaticWebLayer

type StaticWebLayer struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrOutput `pulumi:"autoAssignElasticIps"`
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrOutput `pulumi:"autoAssignPublicIps"`
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrOutput     `pulumi:"autoHealing"`
	CustomConfigureRecipes pulumi.StringArrayOutput `pulumi:"customConfigureRecipes"`
	CustomDeployRecipes    pulumi.StringArrayOutput `pulumi:"customDeployRecipes"`
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrOutput `pulumi:"customInstanceProfileArn"`
	CustomJson               pulumi.StringPtrOutput `pulumi:"customJson"`
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayOutput `pulumi:"customSecurityGroupIds"`
	CustomSetupRecipes     pulumi.StringArrayOutput `pulumi:"customSetupRecipes"`
	CustomShutdownRecipes  pulumi.StringArrayOutput `pulumi:"customShutdownRecipes"`
	CustomUndeployRecipes  pulumi.StringArrayOutput `pulumi:"customUndeployRecipes"`
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrOutput `pulumi:"drainElbOnShutdown"`
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes StaticWebLayerEbsVolumeArrayOutput `pulumi:"ebsVolumes"`
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrOutput `pulumi:"elasticLoadBalancer"`
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"`
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"`
	// A human-readable name for the layer.
	Name pulumi.StringOutput `pulumi:"name"`
	// The id of the stack the layer will belong to.
	StackId pulumi.StringOutput `pulumi:"stackId"`
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayOutput `pulumi:"systemPackages"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrOutput `pulumi:"useEbsOptimizedInstances"`
}

Provides an OpsWorks static web server layer resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/opsworks"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := opsworks.NewStaticWebLayer(ctx, "web", &opsworks.StaticWebLayerArgs{
			StackId: pulumi.String(aws_opsworks_stack.Main.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetStaticWebLayer

func GetStaticWebLayer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *StaticWebLayerState, opts ...pulumi.ResourceOption) (*StaticWebLayer, error)

GetStaticWebLayer gets an existing StaticWebLayer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewStaticWebLayer

func NewStaticWebLayer(ctx *pulumi.Context,
	name string, args *StaticWebLayerArgs, opts ...pulumi.ResourceOption) (*StaticWebLayer, error)

NewStaticWebLayer registers a new resource with the given unique name, arguments, and options.

type StaticWebLayerArgs

type StaticWebLayerArgs struct {
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	CustomJson               pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes StaticWebLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

The set of arguments for constructing a StaticWebLayer resource.

func (StaticWebLayerArgs) ElementType

func (StaticWebLayerArgs) ElementType() reflect.Type

type StaticWebLayerEbsVolume

type StaticWebLayerEbsVolume struct {
	Encrypted *bool `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops *int `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint string `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks int `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel *string `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size int `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type *string `pulumi:"type"`
}

type StaticWebLayerEbsVolumeArgs

type StaticWebLayerEbsVolumeArgs struct {
	Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"`
	// For PIOPS volumes, the IOPS per disk.
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// The path to mount the EBS volume on the layer's instances.
	MountPoint pulumi.StringInput `pulumi:"mountPoint"`
	// The number of disks to use for the EBS volume.
	NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"`
	// The RAID level to use for the volume.
	RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"`
	// The size of the volume in gigabytes.
	Size pulumi.IntInput `pulumi:"size"`
	// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (StaticWebLayerEbsVolumeArgs) ElementType

func (StaticWebLayerEbsVolumeArgs) ToStaticWebLayerEbsVolumeOutput

func (i StaticWebLayerEbsVolumeArgs) ToStaticWebLayerEbsVolumeOutput() StaticWebLayerEbsVolumeOutput

func (StaticWebLayerEbsVolumeArgs) ToStaticWebLayerEbsVolumeOutputWithContext

func (i StaticWebLayerEbsVolumeArgs) ToStaticWebLayerEbsVolumeOutputWithContext(ctx context.Context) StaticWebLayerEbsVolumeOutput

type StaticWebLayerEbsVolumeArray

type StaticWebLayerEbsVolumeArray []StaticWebLayerEbsVolumeInput

func (StaticWebLayerEbsVolumeArray) ElementType

func (StaticWebLayerEbsVolumeArray) ToStaticWebLayerEbsVolumeArrayOutput

func (i StaticWebLayerEbsVolumeArray) ToStaticWebLayerEbsVolumeArrayOutput() StaticWebLayerEbsVolumeArrayOutput

func (StaticWebLayerEbsVolumeArray) ToStaticWebLayerEbsVolumeArrayOutputWithContext

func (i StaticWebLayerEbsVolumeArray) ToStaticWebLayerEbsVolumeArrayOutputWithContext(ctx context.Context) StaticWebLayerEbsVolumeArrayOutput

type StaticWebLayerEbsVolumeArrayInput

type StaticWebLayerEbsVolumeArrayInput interface {
	pulumi.Input

	ToStaticWebLayerEbsVolumeArrayOutput() StaticWebLayerEbsVolumeArrayOutput
	ToStaticWebLayerEbsVolumeArrayOutputWithContext(context.Context) StaticWebLayerEbsVolumeArrayOutput
}

StaticWebLayerEbsVolumeArrayInput is an input type that accepts StaticWebLayerEbsVolumeArray and StaticWebLayerEbsVolumeArrayOutput values. You can construct a concrete instance of `StaticWebLayerEbsVolumeArrayInput` via:

StaticWebLayerEbsVolumeArray{ StaticWebLayerEbsVolumeArgs{...} }

type StaticWebLayerEbsVolumeArrayOutput

type StaticWebLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState }

func (StaticWebLayerEbsVolumeArrayOutput) ElementType

func (StaticWebLayerEbsVolumeArrayOutput) Index

func (StaticWebLayerEbsVolumeArrayOutput) ToStaticWebLayerEbsVolumeArrayOutput

func (o StaticWebLayerEbsVolumeArrayOutput) ToStaticWebLayerEbsVolumeArrayOutput() StaticWebLayerEbsVolumeArrayOutput

func (StaticWebLayerEbsVolumeArrayOutput) ToStaticWebLayerEbsVolumeArrayOutputWithContext

func (o StaticWebLayerEbsVolumeArrayOutput) ToStaticWebLayerEbsVolumeArrayOutputWithContext(ctx context.Context) StaticWebLayerEbsVolumeArrayOutput

type StaticWebLayerEbsVolumeInput

type StaticWebLayerEbsVolumeInput interface {
	pulumi.Input

	ToStaticWebLayerEbsVolumeOutput() StaticWebLayerEbsVolumeOutput
	ToStaticWebLayerEbsVolumeOutputWithContext(context.Context) StaticWebLayerEbsVolumeOutput
}

StaticWebLayerEbsVolumeInput is an input type that accepts StaticWebLayerEbsVolumeArgs and StaticWebLayerEbsVolumeOutput values. You can construct a concrete instance of `StaticWebLayerEbsVolumeInput` via:

StaticWebLayerEbsVolumeArgs{...}

type StaticWebLayerEbsVolumeOutput

type StaticWebLayerEbsVolumeOutput struct{ *pulumi.OutputState }

func (StaticWebLayerEbsVolumeOutput) ElementType

func (StaticWebLayerEbsVolumeOutput) Encrypted

func (StaticWebLayerEbsVolumeOutput) Iops

For PIOPS volumes, the IOPS per disk.

func (StaticWebLayerEbsVolumeOutput) MountPoint

The path to mount the EBS volume on the layer's instances.

func (StaticWebLayerEbsVolumeOutput) NumberOfDisks

The number of disks to use for the EBS volume.

func (StaticWebLayerEbsVolumeOutput) RaidLevel

The RAID level to use for the volume.

func (StaticWebLayerEbsVolumeOutput) Size

The size of the volume in gigabytes.

func (StaticWebLayerEbsVolumeOutput) ToStaticWebLayerEbsVolumeOutput

func (o StaticWebLayerEbsVolumeOutput) ToStaticWebLayerEbsVolumeOutput() StaticWebLayerEbsVolumeOutput

func (StaticWebLayerEbsVolumeOutput) ToStaticWebLayerEbsVolumeOutputWithContext

func (o StaticWebLayerEbsVolumeOutput) ToStaticWebLayerEbsVolumeOutputWithContext(ctx context.Context) StaticWebLayerEbsVolumeOutput

func (StaticWebLayerEbsVolumeOutput) Type

The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.

type StaticWebLayerState

type StaticWebLayerState struct {
	// The Amazon Resource Name(ARN) of the layer.
	Arn pulumi.StringPtrInput
	// Whether to automatically assign an elastic IP address to the layer's instances.
	AutoAssignElasticIps pulumi.BoolPtrInput
	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
	AutoAssignPublicIps pulumi.BoolPtrInput
	// Whether to enable auto-healing for the layer.
	AutoHealing            pulumi.BoolPtrInput
	CustomConfigureRecipes pulumi.StringArrayInput
	CustomDeployRecipes    pulumi.StringArrayInput
	// The ARN of an IAM profile that will be used for the layer's instances.
	CustomInstanceProfileArn pulumi.StringPtrInput
	CustomJson               pulumi.StringPtrInput
	// Ids for a set of security groups to apply to the layer's instances.
	CustomSecurityGroupIds pulumi.StringArrayInput
	CustomSetupRecipes     pulumi.StringArrayInput
	CustomShutdownRecipes  pulumi.StringArrayInput
	CustomUndeployRecipes  pulumi.StringArrayInput
	// Whether to enable Elastic Load Balancing connection draining.
	DrainElbOnShutdown pulumi.BoolPtrInput
	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
	EbsVolumes StaticWebLayerEbsVolumeArrayInput
	// Name of an Elastic Load Balancer to attach to this layer
	ElasticLoadBalancer pulumi.StringPtrInput
	// Whether to install OS and package updates on each instance when it boots.
	InstallUpdatesOnBoot pulumi.BoolPtrInput
	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
	InstanceShutdownTimeout pulumi.IntPtrInput
	// A human-readable name for the layer.
	Name pulumi.StringPtrInput
	// The id of the stack the layer will belong to.
	StackId pulumi.StringPtrInput
	// Names of a set of system packages to install on the layer's instances.
	SystemPackages pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether to use EBS-optimized instances.
	UseEbsOptimizedInstances pulumi.BoolPtrInput
}

func (StaticWebLayerState) ElementType

func (StaticWebLayerState) ElementType() reflect.Type

type UserProfile

type UserProfile struct {
	pulumi.CustomResourceState

	// Whether users can specify their own SSH public key through the My Settings page
	AllowSelfManagement pulumi.BoolPtrOutput `pulumi:"allowSelfManagement"`
	// The users public key
	SshPublicKey pulumi.StringPtrOutput `pulumi:"sshPublicKey"`
	// The ssh username, with witch this user wants to log in
	SshUsername pulumi.StringOutput `pulumi:"sshUsername"`
	// The user's IAM ARN
	UserArn pulumi.StringOutput `pulumi:"userArn"`
}

Provides an OpsWorks User Profile resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/opsworks"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := opsworks.NewUserProfile(ctx, "myProfile", &opsworks.UserProfileArgs{
			SshUsername: pulumi.String("my_user"),
			UserArn:     pulumi.String(aws_iam_user.User.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetUserProfile

func GetUserProfile(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserProfileState, opts ...pulumi.ResourceOption) (*UserProfile, error)

GetUserProfile gets an existing UserProfile resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewUserProfile

func NewUserProfile(ctx *pulumi.Context,
	name string, args *UserProfileArgs, opts ...pulumi.ResourceOption) (*UserProfile, error)

NewUserProfile registers a new resource with the given unique name, arguments, and options.

type UserProfileArgs

type UserProfileArgs struct {
	// Whether users can specify their own SSH public key through the My Settings page
	AllowSelfManagement pulumi.BoolPtrInput
	// The users public key
	SshPublicKey pulumi.StringPtrInput
	// The ssh username, with witch this user wants to log in
	SshUsername pulumi.StringInput
	// The user's IAM ARN
	UserArn pulumi.StringInput
}

The set of arguments for constructing a UserProfile resource.

func (UserProfileArgs) ElementType

func (UserProfileArgs) ElementType() reflect.Type

type UserProfileState

type UserProfileState struct {
	// Whether users can specify their own SSH public key through the My Settings page
	AllowSelfManagement pulumi.BoolPtrInput
	// The users public key
	SshPublicKey pulumi.StringPtrInput
	// The ssh username, with witch this user wants to log in
	SshUsername pulumi.StringPtrInput
	// The user's IAM ARN
	UserArn pulumi.StringPtrInput
}

func (UserProfileState) ElementType

func (UserProfileState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL