package awsopsworks import ( "github.com/aws/aws-cdk-go/awscdk/v2" ) // Properties for defining a `CfnLayer`. // // Example: // // The code below shows an example of how to instantiate this type. // // The values are placeholders you should change. // import "github.com/aws/aws-cdk-go/awscdk" // // var customJson interface{} // // cfnLayerProps := &CfnLayerProps{ // AutoAssignElasticIps: jsii.Boolean(false), // AutoAssignPublicIps: jsii.Boolean(false), // EnableAutoHealing: jsii.Boolean(false), // Name: jsii.String("name"), // Shortname: jsii.String("shortname"), // StackId: jsii.String("stackId"), // Type: jsii.String("type"), // // // the properties below are optional // Attributes: map[string]*string{ // "attributesKey": jsii.String("attributes"), // }, // CustomInstanceProfileArn: jsii.String("customInstanceProfileArn"), // CustomJson: customJson, // CustomRecipes: &RecipesProperty{ // Configure: []*string{ // jsii.String("configure"), // }, // Deploy: []*string{ // jsii.String("deploy"), // }, // Setup: []*string{ // jsii.String("setup"), // }, // Shutdown: []*string{ // jsii.String("shutdown"), // }, // Undeploy: []*string{ // jsii.String("undeploy"), // }, // }, // CustomSecurityGroupIds: []*string{ // jsii.String("customSecurityGroupIds"), // }, // InstallUpdatesOnBoot: jsii.Boolean(false), // LifecycleEventConfiguration: &LifecycleEventConfigurationProperty{ // ShutdownEventConfiguration: &ShutdownEventConfigurationProperty{ // DelayUntilElbConnectionsDrained: jsii.Boolean(false), // ExecutionTimeout: jsii.Number(123), // }, // }, // LoadBasedAutoScaling: &LoadBasedAutoScalingProperty{ // DownScaling: &AutoScalingThresholdsProperty{ // CpuThreshold: jsii.Number(123), // IgnoreMetricsTime: jsii.Number(123), // InstanceCount: jsii.Number(123), // LoadThreshold: jsii.Number(123), // MemoryThreshold: jsii.Number(123), // ThresholdsWaitTime: jsii.Number(123), // }, // Enable: jsii.Boolean(false), // UpScaling: &AutoScalingThresholdsProperty{ // CpuThreshold: jsii.Number(123), // IgnoreMetricsTime: jsii.Number(123), // InstanceCount: jsii.Number(123), // LoadThreshold: jsii.Number(123), // MemoryThreshold: jsii.Number(123), // ThresholdsWaitTime: jsii.Number(123), // }, // }, // Packages: []*string{ // jsii.String("packages"), // }, // Tags: []cfnTag{ // &cfnTag{ // Key: jsii.String("key"), // Value: jsii.String("value"), // }, // }, // UseEbsOptimizedInstances: jsii.Boolean(false), // VolumeConfigurations: []interface{}{ // &VolumeConfigurationProperty{ // Encrypted: jsii.Boolean(false), // Iops: jsii.Number(123), // MountPoint: jsii.String("mountPoint"), // NumberOfDisks: jsii.Number(123), // RaidLevel: jsii.Number(123), // Size: jsii.Number(123), // VolumeType: jsii.String("volumeType"), // }, // }, // } // // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html // type CfnLayerProps struct { // Whether to automatically assign an [Elastic IP address](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) to the layer's instances. For more information, see [How to Edit a Layer](https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-autoassignelasticips // AutoAssignElasticIps interface{} `field:"required" json:"autoAssignElasticIps" yaml:"autoAssignElasticIps"` // For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. // // For more information, see [How to Edit a Layer](https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-autoassignpublicips // AutoAssignPublicIps interface{} `field:"required" json:"autoAssignPublicIps" yaml:"autoAssignPublicIps"` // Whether to disable auto healing for the layer. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-enableautohealing // EnableAutoHealing interface{} `field:"required" json:"enableAutoHealing" yaml:"enableAutoHealing"` // The layer name, which is used by the console. // // Layer names can be a maximum of 32 characters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-name // Name *string `field:"required" json:"name" yaml:"name"` // For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorks Stacks and by Chef recipes. // // The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 32 characters, which are limited to the alphanumeric characters, '-', '_', and '.'. // // Built-in layer short names are defined by AWS OpsWorks Stacks. For more information, see the [Layer Reference](https://docs.aws.amazon.com/opsworks/latest/userguide/layers.html) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-shortname // Shortname *string `field:"required" json:"shortname" yaml:"shortname"` // The layer stack ID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-stackid // StackId *string `field:"required" json:"stackId" yaml:"stackId"` // The layer type. // // A stack cannot have more than one built-in layer of the same type. It can have any number of custom layers. Built-in layers are not available in Chef 12 stacks. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-type // Type *string `field:"required" json:"type" yaml:"type"` // One or more user-defined key-value pairs to be added to the stack attributes. // // To create a cluster layer, set the `EcsClusterArn` attribute to the cluster's ARN. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-attributes // Attributes interface{} `field:"optional" json:"attributes" yaml:"attributes"` // The ARN of an IAM profile to be used for the layer's EC2 instances. // // For more information about IAM ARNs, see [Using Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-custominstanceprofilearn // CustomInstanceProfileArn *string `field:"optional" json:"customInstanceProfileArn" yaml:"customInstanceProfileArn"` // A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the layer's instances. // // For more information, see [Using Custom JSON](https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html) . This feature is supported as of version 1.7.42 of the AWS CLI . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-customjson // CustomJson interface{} `field:"optional" json:"customJson" yaml:"customJson"` // A `LayerCustomRecipes` object that specifies the layer custom recipes. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-customrecipes // CustomRecipes interface{} `field:"optional" json:"customRecipes" yaml:"customRecipes"` // An array containing the layer custom security group IDs. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-customsecuritygroupids // CustomSecurityGroupIds *[]*string `field:"optional" json:"customSecurityGroupIds" yaml:"customSecurityGroupIds"` // Whether to install operating system and package updates when the instance boots. // // The default value is `true` . To control when updates are installed, set this value to `false` . You must then update your instances manually by using [CreateDeployment](https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateDeployment) to run the `update_dependencies` stack command or by manually running `yum` (Amazon Linux) or `apt-get` (Ubuntu) on the instances. // // > To ensure that your instances have the latest security updates, we strongly recommend using the default value of `true` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-installupdatesonboot // InstallUpdatesOnBoot interface{} `field:"optional" json:"installUpdatesOnBoot" yaml:"installUpdatesOnBoot"` // A `LifeCycleEventConfiguration` object that you can use to configure the Shutdown event to specify an execution timeout and enable or disable Elastic Load Balancer connection draining. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-lifecycleeventconfiguration // LifecycleEventConfiguration interface{} `field:"optional" json:"lifecycleEventConfiguration" yaml:"lifecycleEventConfiguration"` // The load-based scaling configuration for the AWS OpsWorks layer. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-loadbasedautoscaling // LoadBasedAutoScaling interface{} `field:"optional" json:"loadBasedAutoScaling" yaml:"loadBasedAutoScaling"` // An array of `Package` objects that describes the layer packages. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-packages // Packages *[]*string `field:"optional" json:"packages" yaml:"packages"` // Specifies one or more sets of tags (key–value pairs) to associate with this AWS OpsWorks layer. // // Use tags to manage your resources. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // Whether to use Amazon EBS-optimized instances. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-useebsoptimizedinstances // UseEbsOptimizedInstances interface{} `field:"optional" json:"useEbsOptimizedInstances" yaml:"useEbsOptimizedInstances"` // A `VolumeConfigurations` object that describes the layer's Amazon EBS volumes. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-volumeconfigurations // VolumeConfigurations interface{} `field:"optional" json:"volumeConfigurations" yaml:"volumeConfigurations"` }