github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/opsworks/staticWebLayer.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package opsworks
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // Provides an OpsWorks static web server layer resource.
    16  //
    17  // ## Example Usage
    18  //
    19  // <!--Start PulumiCodeChooser -->
    20  // ```go
    21  // package main
    22  //
    23  // import (
    24  //
    25  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks"
    26  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    27  //
    28  // )
    29  //
    30  //	func main() {
    31  //		pulumi.Run(func(ctx *pulumi.Context) error {
    32  //			_, err := opsworks.NewStaticWebLayer(ctx, "web", &opsworks.StaticWebLayerArgs{
    33  //				StackId: pulumi.Any(main.Id),
    34  //			})
    35  //			if err != nil {
    36  //				return err
    37  //			}
    38  //			return nil
    39  //		})
    40  //	}
    41  //
    42  // ```
    43  // <!--End PulumiCodeChooser -->
    44  //
    45  // ## Import
    46  //
    47  // Using `pulumi import`, import OpsWorks static web server Layers using the `id`. For example:
    48  //
    49  // ```sh
    50  // $ pulumi import aws:opsworks/staticWebLayer:StaticWebLayer bar 00000000-0000-0000-0000-000000000000
    51  // ```
    52  type StaticWebLayer struct {
    53  	pulumi.CustomResourceState
    54  
    55  	// The Amazon Resource Name(ARN) of the layer.
    56  	Arn pulumi.StringOutput `pulumi:"arn"`
    57  	// Whether to automatically assign an elastic IP address to the layer's instances.
    58  	AutoAssignElasticIps pulumi.BoolPtrOutput `pulumi:"autoAssignElasticIps"`
    59  	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
    60  	AutoAssignPublicIps pulumi.BoolPtrOutput `pulumi:"autoAssignPublicIps"`
    61  	// Whether to enable auto-healing for the layer.
    62  	AutoHealing             pulumi.BoolPtrOutput                           `pulumi:"autoHealing"`
    63  	CloudwatchConfiguration StaticWebLayerCloudwatchConfigurationPtrOutput `pulumi:"cloudwatchConfiguration"`
    64  	CustomConfigureRecipes  pulumi.StringArrayOutput                       `pulumi:"customConfigureRecipes"`
    65  	CustomDeployRecipes     pulumi.StringArrayOutput                       `pulumi:"customDeployRecipes"`
    66  	// The ARN of an IAM profile that will be used for the layer's instances.
    67  	CustomInstanceProfileArn pulumi.StringPtrOutput `pulumi:"customInstanceProfileArn"`
    68  	CustomJson               pulumi.StringPtrOutput `pulumi:"customJson"`
    69  	// Ids for a set of security groups to apply to the layer's instances.
    70  	CustomSecurityGroupIds pulumi.StringArrayOutput `pulumi:"customSecurityGroupIds"`
    71  	CustomSetupRecipes     pulumi.StringArrayOutput `pulumi:"customSetupRecipes"`
    72  	CustomShutdownRecipes  pulumi.StringArrayOutput `pulumi:"customShutdownRecipes"`
    73  	CustomUndeployRecipes  pulumi.StringArrayOutput `pulumi:"customUndeployRecipes"`
    74  	// Whether to enable Elastic Load Balancing connection draining.
    75  	DrainElbOnShutdown pulumi.BoolPtrOutput `pulumi:"drainElbOnShutdown"`
    76  	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
    77  	EbsVolumes StaticWebLayerEbsVolumeArrayOutput `pulumi:"ebsVolumes"`
    78  	// Name of an Elastic Load Balancer to attach to this layer
    79  	ElasticLoadBalancer pulumi.StringPtrOutput `pulumi:"elasticLoadBalancer"`
    80  	// Whether to install OS and package updates on each instance when it boots.
    81  	InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"`
    82  	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
    83  	InstanceShutdownTimeout pulumi.IntPtrOutput                      `pulumi:"instanceShutdownTimeout"`
    84  	LoadBasedAutoScaling    StaticWebLayerLoadBasedAutoScalingOutput `pulumi:"loadBasedAutoScaling"`
    85  	// A human-readable name for the layer.
    86  	Name pulumi.StringOutput `pulumi:"name"`
    87  	// ID of the stack the layer will belong to.
    88  	StackId pulumi.StringOutput `pulumi:"stackId"`
    89  	// Names of a set of system packages to install on the layer's instances.
    90  	SystemPackages pulumi.StringArrayOutput `pulumi:"systemPackages"`
    91  	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    92  	//
    93  	// The following extra optional arguments, all lists of Chef recipe names, allow
    94  	// custom Chef recipes to be applied to layer instances at the five different
    95  	// lifecycle events, if custom cookbooks are enabled on the layer's stack:
    96  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    97  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
    98  	//
    99  	// Deprecated: Please use `tags` instead.
   100  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   101  	// Whether to use EBS-optimized instances.
   102  	UseEbsOptimizedInstances pulumi.BoolPtrOutput `pulumi:"useEbsOptimizedInstances"`
   103  }
   104  
   105  // NewStaticWebLayer registers a new resource with the given unique name, arguments, and options.
   106  func NewStaticWebLayer(ctx *pulumi.Context,
   107  	name string, args *StaticWebLayerArgs, opts ...pulumi.ResourceOption) (*StaticWebLayer, error) {
   108  	if args == nil {
   109  		return nil, errors.New("missing one or more required arguments")
   110  	}
   111  
   112  	if args.StackId == nil {
   113  		return nil, errors.New("invalid value for required argument 'StackId'")
   114  	}
   115  	opts = internal.PkgResourceDefaultOpts(opts)
   116  	var resource StaticWebLayer
   117  	err := ctx.RegisterResource("aws:opsworks/staticWebLayer:StaticWebLayer", name, args, &resource, opts...)
   118  	if err != nil {
   119  		return nil, err
   120  	}
   121  	return &resource, nil
   122  }
   123  
   124  // GetStaticWebLayer gets an existing StaticWebLayer resource's state with the given name, ID, and optional
   125  // state properties that are used to uniquely qualify the lookup (nil if not required).
   126  func GetStaticWebLayer(ctx *pulumi.Context,
   127  	name string, id pulumi.IDInput, state *StaticWebLayerState, opts ...pulumi.ResourceOption) (*StaticWebLayer, error) {
   128  	var resource StaticWebLayer
   129  	err := ctx.ReadResource("aws:opsworks/staticWebLayer:StaticWebLayer", name, id, state, &resource, opts...)
   130  	if err != nil {
   131  		return nil, err
   132  	}
   133  	return &resource, nil
   134  }
   135  
   136  // Input properties used for looking up and filtering StaticWebLayer resources.
   137  type staticWebLayerState struct {
   138  	// The Amazon Resource Name(ARN) of the layer.
   139  	Arn *string `pulumi:"arn"`
   140  	// Whether to automatically assign an elastic IP address to the layer's instances.
   141  	AutoAssignElasticIps *bool `pulumi:"autoAssignElasticIps"`
   142  	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
   143  	AutoAssignPublicIps *bool `pulumi:"autoAssignPublicIps"`
   144  	// Whether to enable auto-healing for the layer.
   145  	AutoHealing             *bool                                  `pulumi:"autoHealing"`
   146  	CloudwatchConfiguration *StaticWebLayerCloudwatchConfiguration `pulumi:"cloudwatchConfiguration"`
   147  	CustomConfigureRecipes  []string                               `pulumi:"customConfigureRecipes"`
   148  	CustomDeployRecipes     []string                               `pulumi:"customDeployRecipes"`
   149  	// The ARN of an IAM profile that will be used for the layer's instances.
   150  	CustomInstanceProfileArn *string `pulumi:"customInstanceProfileArn"`
   151  	CustomJson               *string `pulumi:"customJson"`
   152  	// Ids for a set of security groups to apply to the layer's instances.
   153  	CustomSecurityGroupIds []string `pulumi:"customSecurityGroupIds"`
   154  	CustomSetupRecipes     []string `pulumi:"customSetupRecipes"`
   155  	CustomShutdownRecipes  []string `pulumi:"customShutdownRecipes"`
   156  	CustomUndeployRecipes  []string `pulumi:"customUndeployRecipes"`
   157  	// Whether to enable Elastic Load Balancing connection draining.
   158  	DrainElbOnShutdown *bool `pulumi:"drainElbOnShutdown"`
   159  	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
   160  	EbsVolumes []StaticWebLayerEbsVolume `pulumi:"ebsVolumes"`
   161  	// Name of an Elastic Load Balancer to attach to this layer
   162  	ElasticLoadBalancer *string `pulumi:"elasticLoadBalancer"`
   163  	// Whether to install OS and package updates on each instance when it boots.
   164  	InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"`
   165  	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
   166  	InstanceShutdownTimeout *int                                `pulumi:"instanceShutdownTimeout"`
   167  	LoadBasedAutoScaling    *StaticWebLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"`
   168  	// A human-readable name for the layer.
   169  	Name *string `pulumi:"name"`
   170  	// ID of the stack the layer will belong to.
   171  	StackId *string `pulumi:"stackId"`
   172  	// Names of a set of system packages to install on the layer's instances.
   173  	SystemPackages []string `pulumi:"systemPackages"`
   174  	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   175  	//
   176  	// The following extra optional arguments, all lists of Chef recipe names, allow
   177  	// custom Chef recipes to be applied to layer instances at the five different
   178  	// lifecycle events, if custom cookbooks are enabled on the layer's stack:
   179  	Tags map[string]string `pulumi:"tags"`
   180  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   181  	//
   182  	// Deprecated: Please use `tags` instead.
   183  	TagsAll map[string]string `pulumi:"tagsAll"`
   184  	// Whether to use EBS-optimized instances.
   185  	UseEbsOptimizedInstances *bool `pulumi:"useEbsOptimizedInstances"`
   186  }
   187  
   188  type StaticWebLayerState struct {
   189  	// The Amazon Resource Name(ARN) of the layer.
   190  	Arn pulumi.StringPtrInput
   191  	// Whether to automatically assign an elastic IP address to the layer's instances.
   192  	AutoAssignElasticIps pulumi.BoolPtrInput
   193  	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
   194  	AutoAssignPublicIps pulumi.BoolPtrInput
   195  	// Whether to enable auto-healing for the layer.
   196  	AutoHealing             pulumi.BoolPtrInput
   197  	CloudwatchConfiguration StaticWebLayerCloudwatchConfigurationPtrInput
   198  	CustomConfigureRecipes  pulumi.StringArrayInput
   199  	CustomDeployRecipes     pulumi.StringArrayInput
   200  	// The ARN of an IAM profile that will be used for the layer's instances.
   201  	CustomInstanceProfileArn pulumi.StringPtrInput
   202  	CustomJson               pulumi.StringPtrInput
   203  	// Ids for a set of security groups to apply to the layer's instances.
   204  	CustomSecurityGroupIds pulumi.StringArrayInput
   205  	CustomSetupRecipes     pulumi.StringArrayInput
   206  	CustomShutdownRecipes  pulumi.StringArrayInput
   207  	CustomUndeployRecipes  pulumi.StringArrayInput
   208  	// Whether to enable Elastic Load Balancing connection draining.
   209  	DrainElbOnShutdown pulumi.BoolPtrInput
   210  	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
   211  	EbsVolumes StaticWebLayerEbsVolumeArrayInput
   212  	// Name of an Elastic Load Balancer to attach to this layer
   213  	ElasticLoadBalancer pulumi.StringPtrInput
   214  	// Whether to install OS and package updates on each instance when it boots.
   215  	InstallUpdatesOnBoot pulumi.BoolPtrInput
   216  	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
   217  	InstanceShutdownTimeout pulumi.IntPtrInput
   218  	LoadBasedAutoScaling    StaticWebLayerLoadBasedAutoScalingPtrInput
   219  	// A human-readable name for the layer.
   220  	Name pulumi.StringPtrInput
   221  	// ID of the stack the layer will belong to.
   222  	StackId pulumi.StringPtrInput
   223  	// Names of a set of system packages to install on the layer's instances.
   224  	SystemPackages pulumi.StringArrayInput
   225  	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   226  	//
   227  	// The following extra optional arguments, all lists of Chef recipe names, allow
   228  	// custom Chef recipes to be applied to layer instances at the five different
   229  	// lifecycle events, if custom cookbooks are enabled on the layer's stack:
   230  	Tags pulumi.StringMapInput
   231  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   232  	//
   233  	// Deprecated: Please use `tags` instead.
   234  	TagsAll pulumi.StringMapInput
   235  	// Whether to use EBS-optimized instances.
   236  	UseEbsOptimizedInstances pulumi.BoolPtrInput
   237  }
   238  
   239  func (StaticWebLayerState) ElementType() reflect.Type {
   240  	return reflect.TypeOf((*staticWebLayerState)(nil)).Elem()
   241  }
   242  
   243  type staticWebLayerArgs struct {
   244  	// Whether to automatically assign an elastic IP address to the layer's instances.
   245  	AutoAssignElasticIps *bool `pulumi:"autoAssignElasticIps"`
   246  	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
   247  	AutoAssignPublicIps *bool `pulumi:"autoAssignPublicIps"`
   248  	// Whether to enable auto-healing for the layer.
   249  	AutoHealing             *bool                                  `pulumi:"autoHealing"`
   250  	CloudwatchConfiguration *StaticWebLayerCloudwatchConfiguration `pulumi:"cloudwatchConfiguration"`
   251  	CustomConfigureRecipes  []string                               `pulumi:"customConfigureRecipes"`
   252  	CustomDeployRecipes     []string                               `pulumi:"customDeployRecipes"`
   253  	// The ARN of an IAM profile that will be used for the layer's instances.
   254  	CustomInstanceProfileArn *string `pulumi:"customInstanceProfileArn"`
   255  	CustomJson               *string `pulumi:"customJson"`
   256  	// Ids for a set of security groups to apply to the layer's instances.
   257  	CustomSecurityGroupIds []string `pulumi:"customSecurityGroupIds"`
   258  	CustomSetupRecipes     []string `pulumi:"customSetupRecipes"`
   259  	CustomShutdownRecipes  []string `pulumi:"customShutdownRecipes"`
   260  	CustomUndeployRecipes  []string `pulumi:"customUndeployRecipes"`
   261  	// Whether to enable Elastic Load Balancing connection draining.
   262  	DrainElbOnShutdown *bool `pulumi:"drainElbOnShutdown"`
   263  	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
   264  	EbsVolumes []StaticWebLayerEbsVolume `pulumi:"ebsVolumes"`
   265  	// Name of an Elastic Load Balancer to attach to this layer
   266  	ElasticLoadBalancer *string `pulumi:"elasticLoadBalancer"`
   267  	// Whether to install OS and package updates on each instance when it boots.
   268  	InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"`
   269  	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
   270  	InstanceShutdownTimeout *int                                `pulumi:"instanceShutdownTimeout"`
   271  	LoadBasedAutoScaling    *StaticWebLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"`
   272  	// A human-readable name for the layer.
   273  	Name *string `pulumi:"name"`
   274  	// ID of the stack the layer will belong to.
   275  	StackId string `pulumi:"stackId"`
   276  	// Names of a set of system packages to install on the layer's instances.
   277  	SystemPackages []string `pulumi:"systemPackages"`
   278  	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   279  	//
   280  	// The following extra optional arguments, all lists of Chef recipe names, allow
   281  	// custom Chef recipes to be applied to layer instances at the five different
   282  	// lifecycle events, if custom cookbooks are enabled on the layer's stack:
   283  	Tags map[string]string `pulumi:"tags"`
   284  	// Whether to use EBS-optimized instances.
   285  	UseEbsOptimizedInstances *bool `pulumi:"useEbsOptimizedInstances"`
   286  }
   287  
   288  // The set of arguments for constructing a StaticWebLayer resource.
   289  type StaticWebLayerArgs struct {
   290  	// Whether to automatically assign an elastic IP address to the layer's instances.
   291  	AutoAssignElasticIps pulumi.BoolPtrInput
   292  	// For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
   293  	AutoAssignPublicIps pulumi.BoolPtrInput
   294  	// Whether to enable auto-healing for the layer.
   295  	AutoHealing             pulumi.BoolPtrInput
   296  	CloudwatchConfiguration StaticWebLayerCloudwatchConfigurationPtrInput
   297  	CustomConfigureRecipes  pulumi.StringArrayInput
   298  	CustomDeployRecipes     pulumi.StringArrayInput
   299  	// The ARN of an IAM profile that will be used for the layer's instances.
   300  	CustomInstanceProfileArn pulumi.StringPtrInput
   301  	CustomJson               pulumi.StringPtrInput
   302  	// Ids for a set of security groups to apply to the layer's instances.
   303  	CustomSecurityGroupIds pulumi.StringArrayInput
   304  	CustomSetupRecipes     pulumi.StringArrayInput
   305  	CustomShutdownRecipes  pulumi.StringArrayInput
   306  	CustomUndeployRecipes  pulumi.StringArrayInput
   307  	// Whether to enable Elastic Load Balancing connection draining.
   308  	DrainElbOnShutdown pulumi.BoolPtrInput
   309  	// `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
   310  	EbsVolumes StaticWebLayerEbsVolumeArrayInput
   311  	// Name of an Elastic Load Balancer to attach to this layer
   312  	ElasticLoadBalancer pulumi.StringPtrInput
   313  	// Whether to install OS and package updates on each instance when it boots.
   314  	InstallUpdatesOnBoot pulumi.BoolPtrInput
   315  	// The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
   316  	InstanceShutdownTimeout pulumi.IntPtrInput
   317  	LoadBasedAutoScaling    StaticWebLayerLoadBasedAutoScalingPtrInput
   318  	// A human-readable name for the layer.
   319  	Name pulumi.StringPtrInput
   320  	// ID of the stack the layer will belong to.
   321  	StackId pulumi.StringInput
   322  	// Names of a set of system packages to install on the layer's instances.
   323  	SystemPackages pulumi.StringArrayInput
   324  	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   325  	//
   326  	// The following extra optional arguments, all lists of Chef recipe names, allow
   327  	// custom Chef recipes to be applied to layer instances at the five different
   328  	// lifecycle events, if custom cookbooks are enabled on the layer's stack:
   329  	Tags pulumi.StringMapInput
   330  	// Whether to use EBS-optimized instances.
   331  	UseEbsOptimizedInstances pulumi.BoolPtrInput
   332  }
   333  
   334  func (StaticWebLayerArgs) ElementType() reflect.Type {
   335  	return reflect.TypeOf((*staticWebLayerArgs)(nil)).Elem()
   336  }
   337  
   338  type StaticWebLayerInput interface {
   339  	pulumi.Input
   340  
   341  	ToStaticWebLayerOutput() StaticWebLayerOutput
   342  	ToStaticWebLayerOutputWithContext(ctx context.Context) StaticWebLayerOutput
   343  }
   344  
   345  func (*StaticWebLayer) ElementType() reflect.Type {
   346  	return reflect.TypeOf((**StaticWebLayer)(nil)).Elem()
   347  }
   348  
   349  func (i *StaticWebLayer) ToStaticWebLayerOutput() StaticWebLayerOutput {
   350  	return i.ToStaticWebLayerOutputWithContext(context.Background())
   351  }
   352  
   353  func (i *StaticWebLayer) ToStaticWebLayerOutputWithContext(ctx context.Context) StaticWebLayerOutput {
   354  	return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerOutput)
   355  }
   356  
   357  // StaticWebLayerArrayInput is an input type that accepts StaticWebLayerArray and StaticWebLayerArrayOutput values.
   358  // You can construct a concrete instance of `StaticWebLayerArrayInput` via:
   359  //
   360  //	StaticWebLayerArray{ StaticWebLayerArgs{...} }
   361  type StaticWebLayerArrayInput interface {
   362  	pulumi.Input
   363  
   364  	ToStaticWebLayerArrayOutput() StaticWebLayerArrayOutput
   365  	ToStaticWebLayerArrayOutputWithContext(context.Context) StaticWebLayerArrayOutput
   366  }
   367  
   368  type StaticWebLayerArray []StaticWebLayerInput
   369  
   370  func (StaticWebLayerArray) ElementType() reflect.Type {
   371  	return reflect.TypeOf((*[]*StaticWebLayer)(nil)).Elem()
   372  }
   373  
   374  func (i StaticWebLayerArray) ToStaticWebLayerArrayOutput() StaticWebLayerArrayOutput {
   375  	return i.ToStaticWebLayerArrayOutputWithContext(context.Background())
   376  }
   377  
   378  func (i StaticWebLayerArray) ToStaticWebLayerArrayOutputWithContext(ctx context.Context) StaticWebLayerArrayOutput {
   379  	return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerArrayOutput)
   380  }
   381  
   382  // StaticWebLayerMapInput is an input type that accepts StaticWebLayerMap and StaticWebLayerMapOutput values.
   383  // You can construct a concrete instance of `StaticWebLayerMapInput` via:
   384  //
   385  //	StaticWebLayerMap{ "key": StaticWebLayerArgs{...} }
   386  type StaticWebLayerMapInput interface {
   387  	pulumi.Input
   388  
   389  	ToStaticWebLayerMapOutput() StaticWebLayerMapOutput
   390  	ToStaticWebLayerMapOutputWithContext(context.Context) StaticWebLayerMapOutput
   391  }
   392  
   393  type StaticWebLayerMap map[string]StaticWebLayerInput
   394  
   395  func (StaticWebLayerMap) ElementType() reflect.Type {
   396  	return reflect.TypeOf((*map[string]*StaticWebLayer)(nil)).Elem()
   397  }
   398  
   399  func (i StaticWebLayerMap) ToStaticWebLayerMapOutput() StaticWebLayerMapOutput {
   400  	return i.ToStaticWebLayerMapOutputWithContext(context.Background())
   401  }
   402  
   403  func (i StaticWebLayerMap) ToStaticWebLayerMapOutputWithContext(ctx context.Context) StaticWebLayerMapOutput {
   404  	return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerMapOutput)
   405  }
   406  
   407  type StaticWebLayerOutput struct{ *pulumi.OutputState }
   408  
   409  func (StaticWebLayerOutput) ElementType() reflect.Type {
   410  	return reflect.TypeOf((**StaticWebLayer)(nil)).Elem()
   411  }
   412  
   413  func (o StaticWebLayerOutput) ToStaticWebLayerOutput() StaticWebLayerOutput {
   414  	return o
   415  }
   416  
   417  func (o StaticWebLayerOutput) ToStaticWebLayerOutputWithContext(ctx context.Context) StaticWebLayerOutput {
   418  	return o
   419  }
   420  
   421  // The Amazon Resource Name(ARN) of the layer.
   422  func (o StaticWebLayerOutput) Arn() pulumi.StringOutput {
   423  	return o.ApplyT(func(v *StaticWebLayer) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   424  }
   425  
   426  // Whether to automatically assign an elastic IP address to the layer's instances.
   427  func (o StaticWebLayerOutput) AutoAssignElasticIps() pulumi.BoolPtrOutput {
   428  	return o.ApplyT(func(v *StaticWebLayer) pulumi.BoolPtrOutput { return v.AutoAssignElasticIps }).(pulumi.BoolPtrOutput)
   429  }
   430  
   431  // For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.
   432  func (o StaticWebLayerOutput) AutoAssignPublicIps() pulumi.BoolPtrOutput {
   433  	return o.ApplyT(func(v *StaticWebLayer) pulumi.BoolPtrOutput { return v.AutoAssignPublicIps }).(pulumi.BoolPtrOutput)
   434  }
   435  
   436  // Whether to enable auto-healing for the layer.
   437  func (o StaticWebLayerOutput) AutoHealing() pulumi.BoolPtrOutput {
   438  	return o.ApplyT(func(v *StaticWebLayer) pulumi.BoolPtrOutput { return v.AutoHealing }).(pulumi.BoolPtrOutput)
   439  }
   440  
   441  func (o StaticWebLayerOutput) CloudwatchConfiguration() StaticWebLayerCloudwatchConfigurationPtrOutput {
   442  	return o.ApplyT(func(v *StaticWebLayer) StaticWebLayerCloudwatchConfigurationPtrOutput {
   443  		return v.CloudwatchConfiguration
   444  	}).(StaticWebLayerCloudwatchConfigurationPtrOutput)
   445  }
   446  
   447  func (o StaticWebLayerOutput) CustomConfigureRecipes() pulumi.StringArrayOutput {
   448  	return o.ApplyT(func(v *StaticWebLayer) pulumi.StringArrayOutput { return v.CustomConfigureRecipes }).(pulumi.StringArrayOutput)
   449  }
   450  
   451  func (o StaticWebLayerOutput) CustomDeployRecipes() pulumi.StringArrayOutput {
   452  	return o.ApplyT(func(v *StaticWebLayer) pulumi.StringArrayOutput { return v.CustomDeployRecipes }).(pulumi.StringArrayOutput)
   453  }
   454  
   455  // The ARN of an IAM profile that will be used for the layer's instances.
   456  func (o StaticWebLayerOutput) CustomInstanceProfileArn() pulumi.StringPtrOutput {
   457  	return o.ApplyT(func(v *StaticWebLayer) pulumi.StringPtrOutput { return v.CustomInstanceProfileArn }).(pulumi.StringPtrOutput)
   458  }
   459  
   460  func (o StaticWebLayerOutput) CustomJson() pulumi.StringPtrOutput {
   461  	return o.ApplyT(func(v *StaticWebLayer) pulumi.StringPtrOutput { return v.CustomJson }).(pulumi.StringPtrOutput)
   462  }
   463  
   464  // Ids for a set of security groups to apply to the layer's instances.
   465  func (o StaticWebLayerOutput) CustomSecurityGroupIds() pulumi.StringArrayOutput {
   466  	return o.ApplyT(func(v *StaticWebLayer) pulumi.StringArrayOutput { return v.CustomSecurityGroupIds }).(pulumi.StringArrayOutput)
   467  }
   468  
   469  func (o StaticWebLayerOutput) CustomSetupRecipes() pulumi.StringArrayOutput {
   470  	return o.ApplyT(func(v *StaticWebLayer) pulumi.StringArrayOutput { return v.CustomSetupRecipes }).(pulumi.StringArrayOutput)
   471  }
   472  
   473  func (o StaticWebLayerOutput) CustomShutdownRecipes() pulumi.StringArrayOutput {
   474  	return o.ApplyT(func(v *StaticWebLayer) pulumi.StringArrayOutput { return v.CustomShutdownRecipes }).(pulumi.StringArrayOutput)
   475  }
   476  
   477  func (o StaticWebLayerOutput) CustomUndeployRecipes() pulumi.StringArrayOutput {
   478  	return o.ApplyT(func(v *StaticWebLayer) pulumi.StringArrayOutput { return v.CustomUndeployRecipes }).(pulumi.StringArrayOutput)
   479  }
   480  
   481  // Whether to enable Elastic Load Balancing connection draining.
   482  func (o StaticWebLayerOutput) DrainElbOnShutdown() pulumi.BoolPtrOutput {
   483  	return o.ApplyT(func(v *StaticWebLayer) pulumi.BoolPtrOutput { return v.DrainElbOnShutdown }).(pulumi.BoolPtrOutput)
   484  }
   485  
   486  // `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances.
   487  func (o StaticWebLayerOutput) EbsVolumes() StaticWebLayerEbsVolumeArrayOutput {
   488  	return o.ApplyT(func(v *StaticWebLayer) StaticWebLayerEbsVolumeArrayOutput { return v.EbsVolumes }).(StaticWebLayerEbsVolumeArrayOutput)
   489  }
   490  
   491  // Name of an Elastic Load Balancer to attach to this layer
   492  func (o StaticWebLayerOutput) ElasticLoadBalancer() pulumi.StringPtrOutput {
   493  	return o.ApplyT(func(v *StaticWebLayer) pulumi.StringPtrOutput { return v.ElasticLoadBalancer }).(pulumi.StringPtrOutput)
   494  }
   495  
   496  // Whether to install OS and package updates on each instance when it boots.
   497  func (o StaticWebLayerOutput) InstallUpdatesOnBoot() pulumi.BoolPtrOutput {
   498  	return o.ApplyT(func(v *StaticWebLayer) pulumi.BoolPtrOutput { return v.InstallUpdatesOnBoot }).(pulumi.BoolPtrOutput)
   499  }
   500  
   501  // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.
   502  func (o StaticWebLayerOutput) InstanceShutdownTimeout() pulumi.IntPtrOutput {
   503  	return o.ApplyT(func(v *StaticWebLayer) pulumi.IntPtrOutput { return v.InstanceShutdownTimeout }).(pulumi.IntPtrOutput)
   504  }
   505  
   506  func (o StaticWebLayerOutput) LoadBasedAutoScaling() StaticWebLayerLoadBasedAutoScalingOutput {
   507  	return o.ApplyT(func(v *StaticWebLayer) StaticWebLayerLoadBasedAutoScalingOutput { return v.LoadBasedAutoScaling }).(StaticWebLayerLoadBasedAutoScalingOutput)
   508  }
   509  
   510  // A human-readable name for the layer.
   511  func (o StaticWebLayerOutput) Name() pulumi.StringOutput {
   512  	return o.ApplyT(func(v *StaticWebLayer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   513  }
   514  
   515  // ID of the stack the layer will belong to.
   516  func (o StaticWebLayerOutput) StackId() pulumi.StringOutput {
   517  	return o.ApplyT(func(v *StaticWebLayer) pulumi.StringOutput { return v.StackId }).(pulumi.StringOutput)
   518  }
   519  
   520  // Names of a set of system packages to install on the layer's instances.
   521  func (o StaticWebLayerOutput) SystemPackages() pulumi.StringArrayOutput {
   522  	return o.ApplyT(func(v *StaticWebLayer) pulumi.StringArrayOutput { return v.SystemPackages }).(pulumi.StringArrayOutput)
   523  }
   524  
   525  // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   526  //
   527  // The following extra optional arguments, all lists of Chef recipe names, allow
   528  // custom Chef recipes to be applied to layer instances at the five different
   529  // lifecycle events, if custom cookbooks are enabled on the layer's stack:
   530  func (o StaticWebLayerOutput) Tags() pulumi.StringMapOutput {
   531  	return o.ApplyT(func(v *StaticWebLayer) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   532  }
   533  
   534  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   535  //
   536  // Deprecated: Please use `tags` instead.
   537  func (o StaticWebLayerOutput) TagsAll() pulumi.StringMapOutput {
   538  	return o.ApplyT(func(v *StaticWebLayer) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   539  }
   540  
   541  // Whether to use EBS-optimized instances.
   542  func (o StaticWebLayerOutput) UseEbsOptimizedInstances() pulumi.BoolPtrOutput {
   543  	return o.ApplyT(func(v *StaticWebLayer) pulumi.BoolPtrOutput { return v.UseEbsOptimizedInstances }).(pulumi.BoolPtrOutput)
   544  }
   545  
   546  type StaticWebLayerArrayOutput struct{ *pulumi.OutputState }
   547  
   548  func (StaticWebLayerArrayOutput) ElementType() reflect.Type {
   549  	return reflect.TypeOf((*[]*StaticWebLayer)(nil)).Elem()
   550  }
   551  
   552  func (o StaticWebLayerArrayOutput) ToStaticWebLayerArrayOutput() StaticWebLayerArrayOutput {
   553  	return o
   554  }
   555  
   556  func (o StaticWebLayerArrayOutput) ToStaticWebLayerArrayOutputWithContext(ctx context.Context) StaticWebLayerArrayOutput {
   557  	return o
   558  }
   559  
   560  func (o StaticWebLayerArrayOutput) Index(i pulumi.IntInput) StaticWebLayerOutput {
   561  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *StaticWebLayer {
   562  		return vs[0].([]*StaticWebLayer)[vs[1].(int)]
   563  	}).(StaticWebLayerOutput)
   564  }
   565  
   566  type StaticWebLayerMapOutput struct{ *pulumi.OutputState }
   567  
   568  func (StaticWebLayerMapOutput) ElementType() reflect.Type {
   569  	return reflect.TypeOf((*map[string]*StaticWebLayer)(nil)).Elem()
   570  }
   571  
   572  func (o StaticWebLayerMapOutput) ToStaticWebLayerMapOutput() StaticWebLayerMapOutput {
   573  	return o
   574  }
   575  
   576  func (o StaticWebLayerMapOutput) ToStaticWebLayerMapOutputWithContext(ctx context.Context) StaticWebLayerMapOutput {
   577  	return o
   578  }
   579  
   580  func (o StaticWebLayerMapOutput) MapIndex(k pulumi.StringInput) StaticWebLayerOutput {
   581  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *StaticWebLayer {
   582  		return vs[0].(map[string]*StaticWebLayer)[vs[1].(string)]
   583  	}).(StaticWebLayerOutput)
   584  }
   585  
   586  func init() {
   587  	pulumi.RegisterInputType(reflect.TypeOf((*StaticWebLayerInput)(nil)).Elem(), &StaticWebLayer{})
   588  	pulumi.RegisterInputType(reflect.TypeOf((*StaticWebLayerArrayInput)(nil)).Elem(), StaticWebLayerArray{})
   589  	pulumi.RegisterInputType(reflect.TypeOf((*StaticWebLayerMapInput)(nil)).Elem(), StaticWebLayerMap{})
   590  	pulumi.RegisterOutputType(StaticWebLayerOutput{})
   591  	pulumi.RegisterOutputType(StaticWebLayerArrayOutput{})
   592  	pulumi.RegisterOutputType(StaticWebLayerMapOutput{})
   593  }