-
Notifications
You must be signed in to change notification settings - Fork 17
/
CfnInstanceFleetConfig_InstanceTypeConfigProperty.go
96 lines (93 loc) · 5.8 KB
/
CfnInstanceFleetConfig_InstanceTypeConfigProperty.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package awsemr
// `InstanceType` config is a subproperty of `InstanceFleetConfig` .
//
// An instance type configuration specifies each instance type in an instance fleet. The configuration determines the EC2 instances Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities.
//
// > The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.
//
// 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 configurationProperty_ configurationProperty
//
// instanceTypeConfigProperty := &InstanceTypeConfigProperty{
// InstanceType: jsii.String("instanceType"),
//
// // the properties below are optional
// BidPrice: jsii.String("bidPrice"),
// BidPriceAsPercentageOfOnDemandPrice: jsii.Number(123),
// Configurations: []interface{}{
// &configurationProperty{
// Classification: jsii.String("classification"),
// ConfigurationProperties: map[string]*string{
// "configurationPropertiesKey": jsii.String("configurationProperties"),
// },
// Configurations: []interface{}{
// configurationProperty_,
// },
// },
// },
// CustomAmiId: jsii.String("customAmiId"),
// EbsConfiguration: &EbsConfigurationProperty{
// EbsBlockDeviceConfigs: []interface{}{
// &EbsBlockDeviceConfigProperty{
// VolumeSpecification: &VolumeSpecificationProperty{
// SizeInGb: jsii.Number(123),
// VolumeType: jsii.String("volumeType"),
//
// // the properties below are optional
// Iops: jsii.Number(123),
// Throughput: jsii.Number(123),
// },
//
// // the properties below are optional
// VolumesPerInstance: jsii.Number(123),
// },
// },
// EbsOptimized: jsii.Boolean(false),
// },
// WeightedCapacity: jsii.Number(123),
// }
//
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-instancetypeconfig.html
//
type CfnInstanceFleetConfig_InstanceTypeConfigProperty struct {
// An Amazon EC2 instance type, such as `m3.xlarge` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-instancetypeconfig.html#cfn-emr-instancefleetconfig-instancetypeconfig-instancetype
//
InstanceType *string `field:"required" json:"instanceType" yaml:"instanceType"`
// The bid price for each Amazon EC2 Spot Instance type as defined by `InstanceType` .
//
// Expressed in USD. If neither `BidPrice` nor `BidPriceAsPercentageOfOnDemandPrice` is provided, `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-instancetypeconfig.html#cfn-emr-instancefleetconfig-instancetypeconfig-bidprice
//
BidPrice *string `field:"optional" json:"bidPrice" yaml:"bidPrice"`
// The bid price, as a percentage of On-Demand price, for each Amazon EC2 Spot Instance as defined by `InstanceType` .
//
// Expressed as a number (for example, 20 specifies 20%). If neither `BidPrice` nor `BidPriceAsPercentageOfOnDemandPrice` is provided, `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-instancetypeconfig.html#cfn-emr-instancefleetconfig-instancetypeconfig-bidpriceaspercentageofondemandprice
//
BidPriceAsPercentageOfOnDemandPrice *float64 `field:"optional" json:"bidPriceAsPercentageOfOnDemandPrice" yaml:"bidPriceAsPercentageOfOnDemandPrice"`
// > Amazon EMR releases 4.x or later.
//
// An optional configuration specification to be used when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR. A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file. For more information, see [Configuring Applications](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html) .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-instancetypeconfig.html#cfn-emr-instancefleetconfig-instancetypeconfig-configurations
//
Configurations interface{} `field:"optional" json:"configurations" yaml:"configurations"`
// The custom AMI ID to use for the instance type.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-instancetypeconfig.html#cfn-emr-instancefleetconfig-instancetypeconfig-customamiid
//
CustomAmiId *string `field:"optional" json:"customAmiId" yaml:"customAmiId"`
// The configuration of Amazon Elastic Block Store (Amazon EBS) attached to each instance as defined by `InstanceType` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-instancetypeconfig.html#cfn-emr-instancefleetconfig-instancetypeconfig-ebsconfiguration
//
EbsConfiguration interface{} `field:"optional" json:"ebsConfiguration" yaml:"ebsConfiguration"`
// The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in `InstanceFleetConfig` .
//
// This value is 1 for a master instance fleet, and must be 1 or greater for core and task instance fleets. Defaults to 1 if not specified.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-instancetypeconfig.html#cfn-emr-instancefleetconfig-instancetypeconfig-weightedcapacity
//
WeightedCapacity *float64 `field:"optional" json:"weightedCapacity" yaml:"weightedCapacity"`
}