mirror of https://github.com/kubernetes/kops.git
Remove unused json field tags from terraform structs
This commit is contained in:
parent
e31dd982ac
commit
e0555bb431
|
|
@ -798,74 +798,74 @@ func (e *AutoscalingGroup) getTGsToDetach(currentTGs []*TargetGroup) []*string {
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformASGTag struct {
|
type terraformASGTag struct {
|
||||||
Key *string `json:"key" cty:"key"`
|
Key *string `cty:"key"`
|
||||||
Value *string `json:"value" cty:"value"`
|
Value *string `cty:"value"`
|
||||||
PropagateAtLaunch *bool `json:"propagate_at_launch" cty:"propagate_at_launch"`
|
PropagateAtLaunch *bool `cty:"propagate_at_launch"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformAutoscalingLaunchTemplateSpecification struct {
|
type terraformAutoscalingLaunchTemplateSpecification struct {
|
||||||
// LaunchTemplateID is the ID of the template to use.
|
// LaunchTemplateID is the ID of the template to use.
|
||||||
LaunchTemplateID *terraformWriter.Literal `json:"id,omitempty" cty:"id"`
|
LaunchTemplateID *terraformWriter.Literal `cty:"id"`
|
||||||
// Version is the version of the Launch Template to use.
|
// Version is the version of the Launch Template to use.
|
||||||
Version *terraformWriter.Literal `json:"version,omitempty" cty:"version"`
|
Version *terraformWriter.Literal `cty:"version"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformAutoscalingMixedInstancesPolicyLaunchTemplateSpecification struct {
|
type terraformAutoscalingMixedInstancesPolicyLaunchTemplateSpecification struct {
|
||||||
// LaunchTemplateID is the ID of the template to use
|
// LaunchTemplateID is the ID of the template to use
|
||||||
LaunchTemplateID *terraformWriter.Literal `json:"launch_template_id,omitempty" cty:"launch_template_id"`
|
LaunchTemplateID *terraformWriter.Literal `cty:"launch_template_id"`
|
||||||
// Version is the version of the Launch Template to use
|
// Version is the version of the Launch Template to use
|
||||||
Version *terraformWriter.Literal `json:"version,omitempty" cty:"version"`
|
Version *terraformWriter.Literal `cty:"version"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformAutoscalingMixedInstancesPolicyLaunchTemplateOverride struct {
|
type terraformAutoscalingMixedInstancesPolicyLaunchTemplateOverride struct {
|
||||||
// InstanceType is the instance to use
|
// InstanceType is the instance to use
|
||||||
InstanceType *string `json:"instance_type,omitempty" cty:"instance_type"`
|
InstanceType *string `cty:"instance_type"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformAutoscalingMixedInstancesPolicyLaunchTemplate struct {
|
type terraformAutoscalingMixedInstancesPolicyLaunchTemplate struct {
|
||||||
// LaunchTemplateSpecification is the definition for a LT
|
// LaunchTemplateSpecification is the definition for a LT
|
||||||
LaunchTemplateSpecification []*terraformAutoscalingMixedInstancesPolicyLaunchTemplateSpecification `json:"launch_template_specification,omitempty" cty:"launch_template_specification"`
|
LaunchTemplateSpecification []*terraformAutoscalingMixedInstancesPolicyLaunchTemplateSpecification `cty:"launch_template_specification"`
|
||||||
// Override the is machine type override
|
// Override the is machine type override
|
||||||
Override []*terraformAutoscalingMixedInstancesPolicyLaunchTemplateOverride `json:"override,omitempty" cty:"override"`
|
Override []*terraformAutoscalingMixedInstancesPolicyLaunchTemplateOverride `cty:"override"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformAutoscalingInstanceDistribution struct {
|
type terraformAutoscalingInstanceDistribution struct {
|
||||||
// OnDemandAllocationStrategy
|
// OnDemandAllocationStrategy
|
||||||
OnDemandAllocationStrategy *string `json:"on_demand_allocation_strategy,omitempty" cty:"on_demand_allocation_strategy"`
|
OnDemandAllocationStrategy *string `cty:"on_demand_allocation_strategy"`
|
||||||
// OnDemandBaseCapacity is the base ondemand requirement
|
// OnDemandBaseCapacity is the base ondemand requirement
|
||||||
OnDemandBaseCapacity *int64 `json:"on_demand_base_capacity,omitempty" cty:"on_demand_base_capacity"`
|
OnDemandBaseCapacity *int64 `cty:"on_demand_base_capacity"`
|
||||||
// OnDemandPercentageAboveBaseCapacity is the percentage above base for on-demand instances
|
// OnDemandPercentageAboveBaseCapacity is the percentage above base for on-demand instances
|
||||||
OnDemandPercentageAboveBaseCapacity *int64 `json:"on_demand_percentage_above_base_capacity,omitempty" cty:"on_demand_percentage_above_base_capacity"`
|
OnDemandPercentageAboveBaseCapacity *int64 `cty:"on_demand_percentage_above_base_capacity"`
|
||||||
// SpotAllocationStrategy is the spot allocation stratergy
|
// SpotAllocationStrategy is the spot allocation stratergy
|
||||||
SpotAllocationStrategy *string `json:"spot_allocation_strategy,omitempty" cty:"spot_allocation_strategy"`
|
SpotAllocationStrategy *string `cty:"spot_allocation_strategy"`
|
||||||
// SpotInstancePool is the number of pools
|
// SpotInstancePool is the number of pools
|
||||||
SpotInstancePool *int64 `json:"spot_instance_pools,omitempty" cty:"spot_instance_pools"`
|
SpotInstancePool *int64 `cty:"spot_instance_pools"`
|
||||||
// SpotMaxPrice is the max bid on spot instance, defaults to demand value
|
// SpotMaxPrice is the max bid on spot instance, defaults to demand value
|
||||||
SpotMaxPrice *string `json:"spot_max_price,omitempty" cty:"spot_max_price"`
|
SpotMaxPrice *string `cty:"spot_max_price"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformMixedInstancesPolicy struct {
|
type terraformMixedInstancesPolicy struct {
|
||||||
// LaunchTemplate is the launch template spec
|
// LaunchTemplate is the launch template spec
|
||||||
LaunchTemplate []*terraformAutoscalingMixedInstancesPolicyLaunchTemplate `json:"launch_template,omitempty" cty:"launch_template"`
|
LaunchTemplate []*terraformAutoscalingMixedInstancesPolicyLaunchTemplate `cty:"launch_template"`
|
||||||
// InstanceDistribution is the distribution strategy
|
// InstanceDistribution is the distribution strategy
|
||||||
InstanceDistribution []*terraformAutoscalingInstanceDistribution `json:"instances_distribution,omitempty" cty:"instances_distribution"`
|
InstanceDistribution []*terraformAutoscalingInstanceDistribution `cty:"instances_distribution"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformAutoscalingGroup struct {
|
type terraformAutoscalingGroup struct {
|
||||||
Name *string `json:"name,omitempty" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
LaunchConfigurationName *terraformWriter.Literal `json:"launch_configuration,omitempty" cty:"launch_configuration"`
|
LaunchConfigurationName *terraformWriter.Literal `cty:"launch_configuration"`
|
||||||
LaunchTemplate *terraformAutoscalingLaunchTemplateSpecification `json:"launch_template,omitempty" cty:"launch_template"`
|
LaunchTemplate *terraformAutoscalingLaunchTemplateSpecification `cty:"launch_template"`
|
||||||
MaxSize *int64 `json:"max_size,omitempty" cty:"max_size"`
|
MaxSize *int64 `cty:"max_size"`
|
||||||
MinSize *int64 `json:"min_size,omitempty" cty:"min_size"`
|
MinSize *int64 `cty:"min_size"`
|
||||||
MixedInstancesPolicy []*terraformMixedInstancesPolicy `json:"mixed_instances_policy,omitempty" cty:"mixed_instances_policy"`
|
MixedInstancesPolicy []*terraformMixedInstancesPolicy `cty:"mixed_instances_policy"`
|
||||||
VPCZoneIdentifier []*terraformWriter.Literal `json:"vpc_zone_identifier,omitempty" cty:"vpc_zone_identifier"`
|
VPCZoneIdentifier []*terraformWriter.Literal `cty:"vpc_zone_identifier"`
|
||||||
Tags []*terraformASGTag `json:"tag,omitempty" cty:"tag"`
|
Tags []*terraformASGTag `cty:"tag"`
|
||||||
MetricsGranularity *string `json:"metrics_granularity,omitempty" cty:"metrics_granularity"`
|
MetricsGranularity *string `cty:"metrics_granularity"`
|
||||||
EnabledMetrics []*string `json:"enabled_metrics,omitempty" cty:"enabled_metrics"`
|
EnabledMetrics []*string `cty:"enabled_metrics"`
|
||||||
SuspendedProcesses []*string `json:"suspended_processes,omitempty" cty:"suspended_processes"`
|
SuspendedProcesses []*string `cty:"suspended_processes"`
|
||||||
InstanceProtection *bool `json:"protect_from_scale_in,omitempty" cty:"protect_from_scale_in"`
|
InstanceProtection *bool `cty:"protect_from_scale_in"`
|
||||||
LoadBalancers []*terraformWriter.Literal `json:"load_balancers,omitempty" cty:"load_balancers"`
|
LoadBalancers []*terraformWriter.Literal `cty:"load_balancers"`
|
||||||
TargetGroupARNs []*terraformWriter.Literal `json:"target_group_arns,omitempty" cty:"target_group_arns"`
|
TargetGroupARNs []*terraformWriter.Literal `cty:"target_group_arns"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// RenderTerraform is responsible for rendering the terraform codebase
|
// RenderTerraform is responsible for rendering the terraform codebase
|
||||||
|
|
|
||||||
|
|
@ -121,11 +121,11 @@ func (*AutoscalingLifecycleHook) RenderAWS(t *awsup.AWSAPITarget, a, e, changes
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformASGLifecycleHook struct {
|
type terraformASGLifecycleHook struct {
|
||||||
Name *string `json:"name" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
AutoScalingGroupName *terraformWriter.Literal `json:"autoscaling_group_name" cty:"autoscaling_group_name"`
|
AutoScalingGroupName *terraformWriter.Literal `cty:"autoscaling_group_name"`
|
||||||
DefaultResult *string `json:"default_result" cty:"default_result"`
|
DefaultResult *string `cty:"default_result"`
|
||||||
HeartbeatTimeout *int64 `json:"heartbeat_timeout" cty:"heartbeat_timeout"`
|
HeartbeatTimeout *int64 `cty:"heartbeat_timeout"`
|
||||||
LifecycleTransition *string `json:"lifecycle_transition" cty:"lifecycle_transition"`
|
LifecycleTransition *string `cty:"lifecycle_transition"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *AutoscalingLifecycleHook) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *AutoscalingLifecycleHook) error {
|
func (_ *AutoscalingLifecycleHook) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *AutoscalingLifecycleHook) error {
|
||||||
|
|
|
||||||
|
|
@ -614,39 +614,39 @@ func (a OrderLoadBalancersByName) Less(i, j int) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLoadBalancer struct {
|
type terraformLoadBalancer struct {
|
||||||
LoadBalancerName *string `json:"name" cty:"name"`
|
LoadBalancerName *string `cty:"name"`
|
||||||
Listener []*terraformLoadBalancerListener `json:"listener" cty:"listener"`
|
Listener []*terraformLoadBalancerListener `cty:"listener"`
|
||||||
SecurityGroups []*terraformWriter.Literal `json:"security_groups" cty:"security_groups"`
|
SecurityGroups []*terraformWriter.Literal `cty:"security_groups"`
|
||||||
Subnets []*terraformWriter.Literal `json:"subnets" cty:"subnets"`
|
Subnets []*terraformWriter.Literal `cty:"subnets"`
|
||||||
Internal *bool `json:"internal,omitempty" cty:"internal"`
|
Internal *bool `cty:"internal"`
|
||||||
|
|
||||||
HealthCheck *terraformLoadBalancerHealthCheck `json:"health_check,omitempty" cty:"health_check"`
|
HealthCheck *terraformLoadBalancerHealthCheck `cty:"health_check"`
|
||||||
AccessLog *terraformLoadBalancerAccessLog `json:"access_logs,omitempty" cty:"access_logs"`
|
AccessLog *terraformLoadBalancerAccessLog `cty:"access_logs"`
|
||||||
|
|
||||||
ConnectionDraining *bool `json:"connection_draining,omitempty" cty:"connection_draining"`
|
ConnectionDraining *bool `cty:"connection_draining"`
|
||||||
ConnectionDrainingTimeout *int64 `json:"connection_draining_timeout,omitempty" cty:"connection_draining_timeout"`
|
ConnectionDrainingTimeout *int64 `cty:"connection_draining_timeout"`
|
||||||
|
|
||||||
CrossZoneLoadBalancing *bool `json:"cross_zone_load_balancing,omitempty" cty:"cross_zone_load_balancing"`
|
CrossZoneLoadBalancing *bool `cty:"cross_zone_load_balancing"`
|
||||||
|
|
||||||
IdleTimeout *int64 `json:"idle_timeout,omitempty" cty:"idle_timeout"`
|
IdleTimeout *int64 `cty:"idle_timeout"`
|
||||||
|
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLoadBalancerListener struct {
|
type terraformLoadBalancerListener struct {
|
||||||
InstancePort int `json:"instance_port" cty:"instance_port"`
|
InstancePort int `cty:"instance_port"`
|
||||||
InstanceProtocol string `json:"instance_protocol" cty:"instance_protocol"`
|
InstanceProtocol string `cty:"instance_protocol"`
|
||||||
LBPort int64 `json:"lb_port" cty:"lb_port"`
|
LBPort int64 `cty:"lb_port"`
|
||||||
LBProtocol string `json:"lb_protocol" cty:"lb_protocol"`
|
LBProtocol string `cty:"lb_protocol"`
|
||||||
SSLCertificateID *string `json:"ssl_certificate_id,omitempty" cty:"ssl_certificate_id"`
|
SSLCertificateID *string `cty:"ssl_certificate_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLoadBalancerHealthCheck struct {
|
type terraformLoadBalancerHealthCheck struct {
|
||||||
Target *string `json:"target" cty:"target"`
|
Target *string `cty:"target"`
|
||||||
HealthyThreshold *int64 `json:"healthy_threshold" cty:"healthy_threshold"`
|
HealthyThreshold *int64 `cty:"healthy_threshold"`
|
||||||
UnhealthyThreshold *int64 `json:"unhealthy_threshold" cty:"unhealthy_threshold"`
|
UnhealthyThreshold *int64 `cty:"unhealthy_threshold"`
|
||||||
Interval *int64 `json:"interval" cty:"interval"`
|
Interval *int64 `cty:"interval"`
|
||||||
Timeout *int64 `json:"timeout" cty:"timeout"`
|
Timeout *int64 `cty:"timeout"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *ClassicLoadBalancer) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *ClassicLoadBalancer) error {
|
func (_ *ClassicLoadBalancer) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *ClassicLoadBalancer) error {
|
||||||
|
|
|
||||||
|
|
@ -38,10 +38,10 @@ func (_ *ClassicLoadBalancerAccessLog) GetDependencies(tasks map[string]fi.Task)
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLoadBalancerAccessLog struct {
|
type terraformLoadBalancerAccessLog struct {
|
||||||
EmitInterval *int64 `json:"interval,omitempty" cty:"interval"`
|
EmitInterval *int64 `cty:"interval"`
|
||||||
Enabled *bool `json:"enabled,omitempty" cty:"enabled"`
|
Enabled *bool `cty:"enabled"`
|
||||||
S3BucketName *string `json:"bucket,omitempty" cty:"bucket"`
|
S3BucketName *string `cty:"bucket"`
|
||||||
S3BucketPrefix *string `json:"bucket_prefix,omitempty" cty:"bucket_prefix"`
|
S3BucketPrefix *string `cty:"bucket_prefix"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type cloudformationClassicLoadBalancerAccessLog struct {
|
type cloudformationClassicLoadBalancerAccessLog struct {
|
||||||
|
|
|
||||||
|
|
@ -171,9 +171,9 @@ func (_ *DHCPOptions) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *DHCPOption
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformDHCPOptions struct {
|
type terraformDHCPOptions struct {
|
||||||
DomainName *string `json:"domain_name,omitempty" cty:"domain_name"`
|
DomainName *string `cty:"domain_name"`
|
||||||
DomainNameServers []string `json:"domain_name_servers,omitempty" cty:"domain_name_servers"`
|
DomainNameServers []string `cty:"domain_name_servers"`
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *DHCPOptions) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *DHCPOptions) error {
|
func (_ *DHCPOptions) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *DHCPOptions) error {
|
||||||
|
|
|
||||||
|
|
@ -251,20 +251,20 @@ func (_ *DNSName) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *DNSName) error
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformRoute53Record struct {
|
type terraformRoute53Record struct {
|
||||||
Name *string `json:"name" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
Type *string `json:"type" cty:"type"`
|
Type *string `cty:"type"`
|
||||||
TTL *string `json:"ttl,omitempty" cty:"ttl"`
|
TTL *string `cty:"ttl"`
|
||||||
Records []string `json:"records,omitempty" cty:"records"`
|
Records []string `cty:"records"`
|
||||||
|
|
||||||
Alias *terraformAlias `json:"alias,omitempty" cty:"alias"`
|
Alias *terraformAlias `cty:"alias"`
|
||||||
ZoneID *terraformWriter.Literal `json:"zone_id" cty:"zone_id"`
|
ZoneID *terraformWriter.Literal `cty:"zone_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformAlias struct {
|
type terraformAlias struct {
|
||||||
Name *terraformWriter.Literal `json:"name" cty:"name"`
|
Name *terraformWriter.Literal `cty:"name"`
|
||||||
Type *terraformWriter.Literal `json:"type" cty:"type"`
|
Type *terraformWriter.Literal `cty:"type"`
|
||||||
ZoneID *terraformWriter.Literal `json:"zone_id" cty:"zone_id"`
|
ZoneID *terraformWriter.Literal `cty:"zone_id"`
|
||||||
EvaluateTargetHealth *bool `json:"evaluate_target_health" cty:"evaluate_target_health"`
|
EvaluateTargetHealth *bool `cty:"evaluate_target_health"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *DNSName) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *DNSName) error {
|
func (_ *DNSName) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *DNSName) error {
|
||||||
|
|
|
||||||
|
|
@ -226,9 +226,9 @@ func (_ *DNSZone) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *DNSZone) error
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformRoute53ZoneAssociation struct {
|
type terraformRoute53ZoneAssociation struct {
|
||||||
ZoneID *terraformWriter.Literal `json:"zone_id" cty:"zone_id"`
|
ZoneID *terraformWriter.Literal `cty:"zone_id"`
|
||||||
VPCID *terraformWriter.Literal `json:"vpc_id" cty:"vpc_id"`
|
VPCID *terraformWriter.Literal `cty:"vpc_id"`
|
||||||
Lifecycle *terraform.Lifecycle `json:"lifecycle,omitempty" cty:"lifecycle"`
|
Lifecycle *terraform.Lifecycle `cty:"lifecycle"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *DNSZone) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *DNSZone) error {
|
func (_ *DNSZone) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *DNSZone) error {
|
||||||
|
|
|
||||||
|
|
@ -218,14 +218,14 @@ func (e *EBSVolume) getEBSVolumeTagsToDelete(currentTags map[string]string) map[
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformVolume struct {
|
type terraformVolume struct {
|
||||||
AvailabilityZone *string `json:"availability_zone,omitempty" cty:"availability_zone"`
|
AvailabilityZone *string `cty:"availability_zone"`
|
||||||
Size *int64 `json:"size,omitempty" cty:"size"`
|
Size *int64 `cty:"size"`
|
||||||
Type *string `json:"type,omitempty" cty:"type"`
|
Type *string `cty:"type"`
|
||||||
Iops *int64 `json:"iops,omitempty" cty:"iops"`
|
Iops *int64 `cty:"iops"`
|
||||||
Throughput *int64 `json:"throughput,omitempty" cty:"throughput"`
|
Throughput *int64 `cty:"throughput"`
|
||||||
KmsKeyId *string `json:"kms_key_id,omitempty" cty:"kms_key_id"`
|
KmsKeyId *string `cty:"kms_key_id"`
|
||||||
Encrypted *bool `json:"encrypted,omitempty" cty:"encrypted"`
|
Encrypted *bool `cty:"encrypted"`
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *EBSVolume) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *EBSVolume) error {
|
func (_ *EBSVolume) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *EBSVolume) error {
|
||||||
|
|
|
||||||
|
|
@ -167,8 +167,8 @@ func (_ *EgressOnlyInternetGateway) RenderAWS(t *awsup.AWSAPITarget, a, e, chang
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformEgressOnlyInternetGateway struct {
|
type terraformEgressOnlyInternetGateway struct {
|
||||||
VPCID *terraformWriter.Literal `json:"vpc_id" cty:"vpc_id"`
|
VPCID *terraformWriter.Literal `cty:"vpc_id"`
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *EgressOnlyInternetGateway) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *EgressOnlyInternetGateway) error {
|
func (_ *EgressOnlyInternetGateway) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *EgressOnlyInternetGateway) error {
|
||||||
|
|
|
||||||
|
|
@ -272,8 +272,8 @@ func (_ *ElasticIP) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *ElasticIP) e
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformElasticIP struct {
|
type terraformElasticIP struct {
|
||||||
VPC *bool `json:"vpc" cty:"vpc"`
|
VPC *bool `cty:"vpc"`
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *ElasticIP) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *ElasticIP) error {
|
func (_ *ElasticIP) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *ElasticIP) error {
|
||||||
|
|
|
||||||
|
|
@ -127,9 +127,9 @@ func (eb *EventBridgeRule) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *Event
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformEventBridgeRule struct {
|
type terraformEventBridgeRule struct {
|
||||||
Name *string `json:"name" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
EventPattern *terraformWriter.Literal `json:"event_pattern" cty:"event_pattern"`
|
EventPattern *terraformWriter.Literal `cty:"event_pattern"`
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *EventBridgeRule) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *EventBridgeRule) error {
|
func (_ *EventBridgeRule) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *EventBridgeRule) error {
|
||||||
|
|
|
||||||
|
|
@ -128,8 +128,8 @@ func (eb *EventBridgeTarget) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *Eve
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformEventBridgeTarget struct {
|
type terraformEventBridgeTarget struct {
|
||||||
RuleName *terraformWriter.Literal `json:"rule" cty:"rule"`
|
RuleName *terraformWriter.Literal `cty:"rule"`
|
||||||
TargetArn *terraformWriter.Literal `json:"arn" cty:"arn"`
|
TargetArn *terraformWriter.Literal `cty:"arn"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *EventBridgeTarget) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *EventBridgeTarget) error {
|
func (_ *EventBridgeTarget) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *EventBridgeTarget) error {
|
||||||
|
|
|
||||||
|
|
@ -111,9 +111,9 @@ func (_ *IAMInstanceProfileRole) RenderAWS(t *awsup.AWSAPITarget, a, e, changes
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformIAMInstanceProfile struct {
|
type terraformIAMInstanceProfile struct {
|
||||||
Name *string `json:"name" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
Role *terraformWriter.Literal `json:"role" cty:"role"`
|
Role *terraformWriter.Literal `cty:"role"`
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *IAMInstanceProfileRole) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *IAMInstanceProfileRole) error {
|
func (_ *IAMInstanceProfileRole) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *IAMInstanceProfileRole) error {
|
||||||
|
|
|
||||||
|
|
@ -213,12 +213,12 @@ func (p *IAMOIDCProvider) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *IAMOID
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformIAMOIDCProvider struct {
|
type terraformIAMOIDCProvider struct {
|
||||||
URL *string `json:"url" cty:"url"`
|
URL *string `cty:"url"`
|
||||||
ClientIDList []*string `json:"client_id_list" cty:"client_id_list"`
|
ClientIDList []*string `cty:"client_id_list"`
|
||||||
ThumbprintList []*string `json:"thumbprint_list" cty:"thumbprint_list"`
|
ThumbprintList []*string `cty:"thumbprint_list"`
|
||||||
|
|
||||||
AssumeRolePolicy *terraformWriter.Literal `json:"assume_role_policy" cty:"assume_role_policy"`
|
AssumeRolePolicy *terraformWriter.Literal `cty:"assume_role_policy"`
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *IAMOIDCProvider) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *IAMOIDCProvider) error {
|
func (p *IAMOIDCProvider) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *IAMOIDCProvider) error {
|
||||||
|
|
|
||||||
|
|
@ -325,10 +325,10 @@ func (_ *IAMRole) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *IAMRole) error
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformIAMRole struct {
|
type terraformIAMRole struct {
|
||||||
Name *string `json:"name" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
AssumeRolePolicy *terraformWriter.Literal `json:"assume_role_policy" cty:"assume_role_policy"`
|
AssumeRolePolicy *terraformWriter.Literal `cty:"assume_role_policy"`
|
||||||
PermissionsBoundary *string `json:"permissions_boundary,omitempty" cty:"permissions_boundary"`
|
PermissionsBoundary *string `cty:"permissions_boundary"`
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *IAMRole) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *IAMRole) error {
|
func (_ *IAMRole) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *IAMRole) error {
|
||||||
|
|
|
||||||
|
|
@ -305,10 +305,10 @@ func (e *IAMRolePolicy) policyDocumentString() (string, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformIAMRolePolicy struct {
|
type terraformIAMRolePolicy struct {
|
||||||
Name *string `json:"name,omitempty" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
Role *terraformWriter.Literal `json:"role" cty:"role"`
|
Role *terraformWriter.Literal `cty:"role"`
|
||||||
PolicyDocument *terraformWriter.Literal `json:"policy,omitempty" cty:"policy"`
|
PolicyDocument *terraformWriter.Literal `cty:"policy"`
|
||||||
PolicyArn *string `json:"policy_arn,omitempty" cty:"policy_arn"`
|
PolicyArn *string `cty:"policy_arn"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *IAMRolePolicy) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *IAMRolePolicy) error {
|
func (_ *IAMRolePolicy) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *IAMRolePolicy) error {
|
||||||
|
|
|
||||||
|
|
@ -180,8 +180,8 @@ func (_ *InternetGateway) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *Intern
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformInternetGateway struct {
|
type terraformInternetGateway struct {
|
||||||
VPCID *terraformWriter.Literal `json:"vpc_id" cty:"vpc_id"`
|
VPCID *terraformWriter.Literal `cty:"vpc_id"`
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *InternetGateway) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *InternetGateway) error {
|
func (_ *InternetGateway) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *InternetGateway) error {
|
||||||
|
|
|
||||||
|
|
@ -25,144 +25,144 @@ import (
|
||||||
|
|
||||||
type terraformLaunchTemplateNetworkInterface struct {
|
type terraformLaunchTemplateNetworkInterface struct {
|
||||||
// AssociatePublicIPAddress associates a public ip address with the network interface. Boolean value.
|
// AssociatePublicIPAddress associates a public ip address with the network interface. Boolean value.
|
||||||
AssociatePublicIPAddress *bool `json:"associate_public_ip_address,omitempty" cty:"associate_public_ip_address"`
|
AssociatePublicIPAddress *bool `cty:"associate_public_ip_address"`
|
||||||
// DeleteOnTermination indicates whether the network interface should be destroyed on instance termination.
|
// DeleteOnTermination indicates whether the network interface should be destroyed on instance termination.
|
||||||
DeleteOnTermination *bool `json:"delete_on_termination,omitempty" cty:"delete_on_termination"`
|
DeleteOnTermination *bool `cty:"delete_on_termination"`
|
||||||
// Ipv6AddressCount is the number of IPv6 addresses to assign with the primary network interface.
|
// Ipv6AddressCount is the number of IPv6 addresses to assign with the primary network interface.
|
||||||
Ipv6AddressCount *int64 `json:"ipv6_address_count,omitempty" cty:"ipv6_address_count"`
|
Ipv6AddressCount *int64 `cty:"ipv6_address_count"`
|
||||||
// SecurityGroups is a list of security group ids.
|
// SecurityGroups is a list of security group ids.
|
||||||
SecurityGroups []*terraformWriter.Literal `json:"security_groups,omitempty" cty:"security_groups"`
|
SecurityGroups []*terraformWriter.Literal `cty:"security_groups"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLaunchTemplateMonitoring struct {
|
type terraformLaunchTemplateMonitoring struct {
|
||||||
// Enabled indicates that monitoring is enabled
|
// Enabled indicates that monitoring is enabled
|
||||||
Enabled *bool `json:"enabled,omitempty" cty:"enabled"`
|
Enabled *bool `cty:"enabled"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLaunchTemplatePlacement struct {
|
type terraformLaunchTemplatePlacement struct {
|
||||||
// Affinity is he affinity setting for an instance on a Dedicated Host.
|
// Affinity is he affinity setting for an instance on a Dedicated Host.
|
||||||
Affinity *string `json:"affinity,omitempty" cty:"affinity"`
|
Affinity *string `cty:"affinity"`
|
||||||
// AvailabilityZone is the Availability Zone for the instance.
|
// AvailabilityZone is the Availability Zone for the instance.
|
||||||
AvailabilityZone *string `json:"availability_zone,omitempty" cty:"availability_zone"`
|
AvailabilityZone *string `cty:"availability_zone"`
|
||||||
// GroupName is the name of the placement group for the instance.
|
// GroupName is the name of the placement group for the instance.
|
||||||
GroupName *string `json:"group_name,omitempty" cty:"group_name"`
|
GroupName *string `cty:"group_name"`
|
||||||
// HostID is the ID of the Dedicated Host for the instance.
|
// HostID is the ID of the Dedicated Host for the instance.
|
||||||
HostID *string `json:"host_id,omitempty" cty:"host_id"`
|
HostID *string `cty:"host_id"`
|
||||||
// SpreadDomain are reserved for future use.
|
// SpreadDomain are reserved for future use.
|
||||||
SpreadDomain *string `json:"spread_domain,omitempty" cty:"spread_domain"`
|
SpreadDomain *string `cty:"spread_domain"`
|
||||||
// Tenancy ist he tenancy of the instance. Can be default, dedicated, or host.
|
// Tenancy ist he tenancy of the instance. Can be default, dedicated, or host.
|
||||||
Tenancy *string `json:"tenancy,omitempty" cty:"tenancy"`
|
Tenancy *string `cty:"tenancy"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLaunchTemplateIAMProfile struct {
|
type terraformLaunchTemplateIAMProfile struct {
|
||||||
// Name is the name of the profile
|
// Name is the name of the profile
|
||||||
Name *terraformWriter.Literal `json:"name,omitempty" cty:"name"`
|
Name *terraformWriter.Literal `cty:"name"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLaunchTemplateMarketOptionsSpotOptions struct {
|
type terraformLaunchTemplateMarketOptionsSpotOptions struct {
|
||||||
// BlockDurationMinutes is required duration in minutes. This value must be a multiple of 60.
|
// BlockDurationMinutes is required duration in minutes. This value must be a multiple of 60.
|
||||||
BlockDurationMinutes *int64 `json:"block_duration_minutes,omitempty" cty:"block_duration_minutes"`
|
BlockDurationMinutes *int64 `cty:"block_duration_minutes"`
|
||||||
// InstanceInterruptionBehavior is the behavior when a Spot Instance is interrupted. Can be hibernate, stop, or terminate
|
// InstanceInterruptionBehavior is the behavior when a Spot Instance is interrupted. Can be hibernate, stop, or terminate
|
||||||
InstanceInterruptionBehavior *string `json:"instance_interruption_behavior,omitempty" cty:"instance_interruption_behavior"`
|
InstanceInterruptionBehavior *string `cty:"instance_interruption_behavior"`
|
||||||
// MaxPrice is the maximum hourly price you're willing to pay for the Spot Instances
|
// MaxPrice is the maximum hourly price you're willing to pay for the Spot Instances
|
||||||
MaxPrice *string `json:"max_price,omitempty" cty:"max_price"`
|
MaxPrice *string `cty:"max_price"`
|
||||||
// SpotInstanceType is the Spot Instance request type. Can be one-time, or persistent
|
// SpotInstanceType is the Spot Instance request type. Can be one-time, or persistent
|
||||||
SpotInstanceType *string `json:"spot_instance_type,omitempty" cty:"spot_instance_type"`
|
SpotInstanceType *string `cty:"spot_instance_type"`
|
||||||
// ValidUntil is the end date of the request
|
// ValidUntil is the end date of the request
|
||||||
ValidUntil *string `json:"valid_until,omitempty" cty:"valid_until"`
|
ValidUntil *string `cty:"valid_until"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLaunchTemplateMarketOptions struct {
|
type terraformLaunchTemplateMarketOptions struct {
|
||||||
// MarketType is the option type
|
// MarketType is the option type
|
||||||
MarketType *string `json:"market_type,omitempty" cty:"market_type"`
|
MarketType *string `cty:"market_type"`
|
||||||
// SpotOptions are the set of options
|
// SpotOptions are the set of options
|
||||||
SpotOptions []*terraformLaunchTemplateMarketOptionsSpotOptions `json:"spot_options,omitempty" cty:"spot_options"`
|
SpotOptions []*terraformLaunchTemplateMarketOptionsSpotOptions `cty:"spot_options"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLaunchTemplateBlockDeviceEBS struct {
|
type terraformLaunchTemplateBlockDeviceEBS struct {
|
||||||
// VolumeType is the ebs type to use
|
// VolumeType is the ebs type to use
|
||||||
VolumeType *string `json:"volume_type,omitempty" cty:"volume_type"`
|
VolumeType *string `cty:"volume_type"`
|
||||||
// VolumeSize is the volume size
|
// VolumeSize is the volume size
|
||||||
VolumeSize *int64 `json:"volume_size,omitempty" cty:"volume_size"`
|
VolumeSize *int64 `cty:"volume_size"`
|
||||||
// IOPS is the provisioned IOPS
|
// IOPS is the provisioned IOPS
|
||||||
IOPS *int64 `json:"iops,omitempty" cty:"iops"`
|
IOPS *int64 `cty:"iops"`
|
||||||
// Throughput is the gp3 volume throughput
|
// Throughput is the gp3 volume throughput
|
||||||
Throughput *int64 `json:"throughput,omitempty" cty:"throughput"`
|
Throughput *int64 `cty:"throughput"`
|
||||||
// DeleteOnTermination indicates the volume should die with the instance
|
// DeleteOnTermination indicates the volume should die with the instance
|
||||||
DeleteOnTermination *bool `json:"delete_on_termination,omitempty" cty:"delete_on_termination"`
|
DeleteOnTermination *bool `cty:"delete_on_termination"`
|
||||||
// Encrypted indicates the device should be encrypted
|
// Encrypted indicates the device should be encrypted
|
||||||
Encrypted *bool `json:"encrypted,omitempty" cty:"encrypted"`
|
Encrypted *bool `cty:"encrypted"`
|
||||||
// KmsKeyID is the encryption key identifier for the volume
|
// KmsKeyID is the encryption key identifier for the volume
|
||||||
KmsKeyID *string `json:"kms_key_id,omitempty" cty:"kms_key_id"`
|
KmsKeyID *string `cty:"kms_key_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLaunchTemplateBlockDevice struct {
|
type terraformLaunchTemplateBlockDevice struct {
|
||||||
// DeviceName is the name of the device
|
// DeviceName is the name of the device
|
||||||
DeviceName *string `json:"device_name,omitempty" cty:"device_name"`
|
DeviceName *string `cty:"device_name"`
|
||||||
// VirtualName is used for the ephemeral devices
|
// VirtualName is used for the ephemeral devices
|
||||||
VirtualName *string `json:"virtual_name,omitempty" cty:"virtual_name"`
|
VirtualName *string `cty:"virtual_name"`
|
||||||
// EBS defines the ebs spec
|
// EBS defines the ebs spec
|
||||||
EBS []*terraformLaunchTemplateBlockDeviceEBS `json:"ebs,omitempty" cty:"ebs"`
|
EBS []*terraformLaunchTemplateBlockDeviceEBS `cty:"ebs"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLaunchTemplateCreditSpecification struct {
|
type terraformLaunchTemplateCreditSpecification struct {
|
||||||
CPUCredits *string `json:"cpu_credits,omitempty" cty:"cpu_credits"`
|
CPUCredits *string `cty:"cpu_credits"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLaunchTemplateTagSpecification struct {
|
type terraformLaunchTemplateTagSpecification struct {
|
||||||
// ResourceType is the type of resource to tag.
|
// ResourceType is the type of resource to tag.
|
||||||
ResourceType *string `json:"resource_type,omitempty" cty:"resource_type"`
|
ResourceType *string `cty:"resource_type"`
|
||||||
// Tags are the tags to apply to the resource.
|
// Tags are the tags to apply to the resource.
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLaunchTemplateInstanceMetadata struct {
|
type terraformLaunchTemplateInstanceMetadata struct {
|
||||||
// HTTPEndpoint enables or disables the HTTP metadata endpoint on instances.
|
// HTTPEndpoint enables or disables the HTTP metadata endpoint on instances.
|
||||||
HTTPEndpoint *string `json:"http_endpoint,omitempty" cty:"http_endpoint"`
|
HTTPEndpoint *string `cty:"http_endpoint"`
|
||||||
// HTTPPutResponseHopLimit is the desired HTTP PUT response hop limit for instance metadata requests.
|
// HTTPPutResponseHopLimit is the desired HTTP PUT response hop limit for instance metadata requests.
|
||||||
HTTPPutResponseHopLimit *int64 `json:"http_put_response_hop_limit,omitempty" cty:"http_put_response_hop_limit"`
|
HTTPPutResponseHopLimit *int64 `cty:"http_put_response_hop_limit"`
|
||||||
// HTTPTokens is the state of token usage for your instance metadata requests.
|
// HTTPTokens is the state of token usage for your instance metadata requests.
|
||||||
HTTPTokens *string `json:"http_tokens,omitempty" cty:"http_tokens"`
|
HTTPTokens *string `cty:"http_tokens"`
|
||||||
// HTTPProtocolIPv6 enables the IPv6 instance metadata endpoint
|
// HTTPProtocolIPv6 enables the IPv6 instance metadata endpoint
|
||||||
HTTPProtocolIPv6 *string `json:"http_protocol_ipv6,omitempty" cty:"http_protocol_ipv6"`
|
HTTPProtocolIPv6 *string `cty:"http_protocol_ipv6"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLaunchTemplate struct {
|
type terraformLaunchTemplate struct {
|
||||||
// Name is the name of the launch template
|
// Name is the name of the launch template
|
||||||
Name *string `json:"name,omitempty" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
// Lifecycle is the terraform lifecycle
|
// Lifecycle is the terraform lifecycle
|
||||||
Lifecycle *terraform.Lifecycle `json:"lifecycle,omitempty" cty:"lifecycle"`
|
Lifecycle *terraform.Lifecycle `cty:"lifecycle"`
|
||||||
|
|
||||||
// BlockDeviceMappings is the device mappings
|
// BlockDeviceMappings is the device mappings
|
||||||
BlockDeviceMappings []*terraformLaunchTemplateBlockDevice `json:"block_device_mappings,omitempty" cty:"block_device_mappings"`
|
BlockDeviceMappings []*terraformLaunchTemplateBlockDevice `cty:"block_device_mappings"`
|
||||||
// CreditSpecification is the credit option for CPU Usage on some instance types
|
// CreditSpecification is the credit option for CPU Usage on some instance types
|
||||||
CreditSpecification *terraformLaunchTemplateCreditSpecification `json:"credit_specification,omitempty" cty:"credit_specification"`
|
CreditSpecification *terraformLaunchTemplateCreditSpecification `cty:"credit_specification"`
|
||||||
// EBSOptimized indicates if the root device is ebs optimized
|
// EBSOptimized indicates if the root device is ebs optimized
|
||||||
EBSOptimized *bool `json:"ebs_optimized,omitempty" cty:"ebs_optimized"`
|
EBSOptimized *bool `cty:"ebs_optimized"`
|
||||||
// IAMInstanceProfile is the IAM profile to assign to the nodes
|
// IAMInstanceProfile is the IAM profile to assign to the nodes
|
||||||
IAMInstanceProfile []*terraformLaunchTemplateIAMProfile `json:"iam_instance_profile,omitempty" cty:"iam_instance_profile"`
|
IAMInstanceProfile []*terraformLaunchTemplateIAMProfile `cty:"iam_instance_profile"`
|
||||||
// ImageID is the ami to use for the instances
|
// ImageID is the ami to use for the instances
|
||||||
ImageID *string `json:"image_id,omitempty" cty:"image_id"`
|
ImageID *string `cty:"image_id"`
|
||||||
// InstanceType is the type of instance
|
// InstanceType is the type of instance
|
||||||
InstanceType *string `json:"instance_type,omitempty" cty:"instance_type"`
|
InstanceType *string `cty:"instance_type"`
|
||||||
// KeyName is the ssh key to use
|
// KeyName is the ssh key to use
|
||||||
KeyName *terraformWriter.Literal `json:"key_name,omitempty" cty:"key_name"`
|
KeyName *terraformWriter.Literal `cty:"key_name"`
|
||||||
// MarketOptions are the spot pricing options
|
// MarketOptions are the spot pricing options
|
||||||
MarketOptions []*terraformLaunchTemplateMarketOptions `json:"instance_market_options,omitempty" cty:"instance_market_options"`
|
MarketOptions []*terraformLaunchTemplateMarketOptions `cty:"instance_market_options"`
|
||||||
// MetadataOptions are the instance metadata options.
|
// MetadataOptions are the instance metadata options.
|
||||||
MetadataOptions *terraformLaunchTemplateInstanceMetadata `json:"metadata_options,omitempty" cty:"metadata_options"`
|
MetadataOptions *terraformLaunchTemplateInstanceMetadata `cty:"metadata_options"`
|
||||||
// Monitoring are the instance monitoring options
|
// Monitoring are the instance monitoring options
|
||||||
Monitoring []*terraformLaunchTemplateMonitoring `json:"monitoring,omitempty" cty:"monitoring"`
|
Monitoring []*terraformLaunchTemplateMonitoring `cty:"monitoring"`
|
||||||
// NetworkInterfaces are the networking options
|
// NetworkInterfaces are the networking options
|
||||||
NetworkInterfaces []*terraformLaunchTemplateNetworkInterface `json:"network_interfaces,omitempty" cty:"network_interfaces"`
|
NetworkInterfaces []*terraformLaunchTemplateNetworkInterface `cty:"network_interfaces"`
|
||||||
// Placement are the tenancy options
|
// Placement are the tenancy options
|
||||||
Placement []*terraformLaunchTemplatePlacement `json:"placement,omitempty" cty:"placement"`
|
Placement []*terraformLaunchTemplatePlacement `cty:"placement"`
|
||||||
// Tags is a map of tags applied to the launch template itself
|
// Tags is a map of tags applied to the launch template itself
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
// TagSpecifications are the tags to apply to a resource when it is created.
|
// TagSpecifications are the tags to apply to a resource when it is created.
|
||||||
TagSpecifications []*terraformLaunchTemplateTagSpecification `json:"tag_specifications,omitempty" cty:"tag_specifications"`
|
TagSpecifications []*terraformLaunchTemplateTagSpecification `cty:"tag_specifications"`
|
||||||
// UserData is the user data for the instances
|
// UserData is the user data for the instances
|
||||||
UserData *terraformWriter.Literal `json:"user_data,omitempty" cty:"user_data"`
|
UserData *terraformWriter.Literal `cty:"user_data"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// TerraformLink returns the terraform reference
|
// TerraformLink returns the terraform reference
|
||||||
|
|
|
||||||
|
|
@ -361,9 +361,9 @@ func (_ *NatGateway) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *NatGateway)
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformNATGateway struct {
|
type terraformNATGateway struct {
|
||||||
AllocationID *terraformWriter.Literal `json:"allocation_id,omitempty" cty:"allocation_id"`
|
AllocationID *terraformWriter.Literal `cty:"allocation_id"`
|
||||||
SubnetID *terraformWriter.Literal `json:"subnet_id,omitempty" cty:"subnet_id"`
|
SubnetID *terraformWriter.Literal `cty:"subnet_id"`
|
||||||
Tag map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tag map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *NatGateway) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *NatGateway) error {
|
func (_ *NatGateway) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *NatGateway) error {
|
||||||
|
|
|
||||||
|
|
@ -694,34 +694,34 @@ func (_ *NetworkLoadBalancer) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *Ne
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformNetworkLoadBalancer struct {
|
type terraformNetworkLoadBalancer struct {
|
||||||
Name string `json:"name" cty:"name"`
|
Name string `cty:"name"`
|
||||||
Internal bool `json:"internal" cty:"internal"`
|
Internal bool `cty:"internal"`
|
||||||
Type string `json:"load_balancer_type" cty:"load_balancer_type"`
|
Type string `cty:"load_balancer_type"`
|
||||||
SubnetMappings []terraformNetworkLoadBalancerSubnetMapping `json:"subnet_mapping" cty:"subnet_mapping"`
|
SubnetMappings []terraformNetworkLoadBalancerSubnetMapping `cty:"subnet_mapping"`
|
||||||
CrossZoneLoadBalancing bool `json:"enable_cross_zone_load_balancing" cty:"enable_cross_zone_load_balancing"`
|
CrossZoneLoadBalancing bool `cty:"enable_cross_zone_load_balancing"`
|
||||||
AccessLog *terraformNetworkLoadBalancerAccessLog `json:"access_logs,omitempty" cty:"access_logs"`
|
AccessLog *terraformNetworkLoadBalancerAccessLog `cty:"access_logs"`
|
||||||
|
|
||||||
Tags map[string]string `json:"tags" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformNetworkLoadBalancerSubnetMapping struct {
|
type terraformNetworkLoadBalancerSubnetMapping struct {
|
||||||
Subnet *terraformWriter.Literal `json:"subnet_id" cty:"subnet_id"`
|
Subnet *terraformWriter.Literal `cty:"subnet_id"`
|
||||||
AllocationID *string `json:"allocation_id,omitempty" cty:"allocation_id"`
|
AllocationID *string `cty:"allocation_id"`
|
||||||
PrivateIPv4Address *string `json:"private_ipv4_address,omitempty" cty:"private_ipv4_address"`
|
PrivateIPv4Address *string `cty:"private_ipv4_address"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformNetworkLoadBalancerListener struct {
|
type terraformNetworkLoadBalancerListener struct {
|
||||||
LoadBalancer *terraformWriter.Literal `json:"load_balancer_arn" cty:"load_balancer_arn"`
|
LoadBalancer *terraformWriter.Literal `cty:"load_balancer_arn"`
|
||||||
Port int64 `json:"port" cty:"port"`
|
Port int64 `cty:"port"`
|
||||||
Protocol string `json:"protocol" cty:"protocol"`
|
Protocol string `cty:"protocol"`
|
||||||
CertificateARN *string `json:"certificate_arn,omitempty" cty:"certificate_arn"`
|
CertificateARN *string `cty:"certificate_arn"`
|
||||||
SSLPolicy *string `json:"ssl_policy,omitempty" cty:"ssl_policy"`
|
SSLPolicy *string `cty:"ssl_policy"`
|
||||||
DefaultAction []terraformNetworkLoadBalancerListenerAction `json:"default_action" cty:"default_action"`
|
DefaultAction []terraformNetworkLoadBalancerListenerAction `cty:"default_action"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformNetworkLoadBalancerListenerAction struct {
|
type terraformNetworkLoadBalancerListenerAction struct {
|
||||||
Type string `json:"type" cty:"type"`
|
Type string `cty:"type"`
|
||||||
TargetGroupARN *terraformWriter.Literal `json:"target_group_arn,omitempty" cty:"target_group_arn"`
|
TargetGroupARN *terraformWriter.Literal `cty:"target_group_arn"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *NetworkLoadBalancer) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *NetworkLoadBalancer) error {
|
func (_ *NetworkLoadBalancer) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *NetworkLoadBalancer) error {
|
||||||
|
|
|
||||||
|
|
@ -38,9 +38,9 @@ func (_ *NetworkLoadBalancerAccessLog) GetDependencies(tasks map[string]fi.Task)
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformNetworkLoadBalancerAccessLog struct {
|
type terraformNetworkLoadBalancerAccessLog struct {
|
||||||
Enabled *bool `json:"enabled,omitempty" cty:"enabled"`
|
Enabled *bool `cty:"enabled"`
|
||||||
S3BucketName *string `json:"bucket,omitempty" cty:"bucket"`
|
S3BucketName *string `cty:"bucket"`
|
||||||
S3BucketPrefix *string `json:"bucket_prefix,omitempty" cty:"prefix"`
|
S3BucketPrefix *string `cty:"prefix"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func findNetworkLoadBalancerAttributes(cloud awsup.AWSCloud, LoadBalancerArn string) ([]*elbv2.LoadBalancerAttribute, error) {
|
func findNetworkLoadBalancerAttributes(cloud awsup.AWSCloud, LoadBalancerArn string) ([]*elbv2.LoadBalancerAttribute, error) {
|
||||||
|
|
|
||||||
|
|
@ -271,14 +271,14 @@ func checkNotNil(s *string) *string {
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformRoute struct {
|
type terraformRoute struct {
|
||||||
RouteTableID *terraformWriter.Literal `json:"route_table_id" cty:"route_table_id"`
|
RouteTableID *terraformWriter.Literal `cty:"route_table_id"`
|
||||||
CIDR *string `json:"destination_cidr_block,omitempty" cty:"destination_cidr_block"`
|
CIDR *string `cty:"destination_cidr_block"`
|
||||||
IPv6CIDR *string `json:"destination_ipv6_cidr_block,omitempty" cty:"destination_ipv6_cidr_block"`
|
IPv6CIDR *string `cty:"destination_ipv6_cidr_block"`
|
||||||
EgressOnlyInternetGatewayID *terraformWriter.Literal `json:"egress_onlygateway_id,omitempty" cty:"egress_only_gateway_id"`
|
EgressOnlyInternetGatewayID *terraformWriter.Literal `cty:"egress_only_gateway_id"`
|
||||||
InternetGatewayID *terraformWriter.Literal `json:"gateway_id,omitempty" cty:"gateway_id"`
|
InternetGatewayID *terraformWriter.Literal `cty:"gateway_id"`
|
||||||
NATGatewayID *terraformWriter.Literal `json:"nat_gateway_id,omitempty" cty:"nat_gateway_id"`
|
NATGatewayID *terraformWriter.Literal `cty:"nat_gateway_id"`
|
||||||
TransitGatewayID *string `json:"transit_gateway_id,omitempty" cty:"transit_gateway_id"`
|
TransitGatewayID *string `cty:"transit_gateway_id"`
|
||||||
InstanceID *terraformWriter.Literal `json:"instance_id,omitempty" cty:"instance_id"`
|
InstanceID *terraformWriter.Literal `cty:"instance_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *Route) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Route) error {
|
func (_ *Route) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Route) error {
|
||||||
|
|
|
||||||
|
|
@ -192,8 +192,8 @@ func (_ *RouteTable) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *RouteTable)
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformRouteTable struct {
|
type terraformRouteTable struct {
|
||||||
VPCID *terraformWriter.Literal `json:"vpc_id" cty:"vpc_id"`
|
VPCID *terraformWriter.Literal `cty:"vpc_id"`
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *RouteTable) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *RouteTable) error {
|
func (_ *RouteTable) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *RouteTable) error {
|
||||||
|
|
|
||||||
|
|
@ -188,8 +188,8 @@ func (_ *RouteTableAssociation) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformRouteTableAssociation struct {
|
type terraformRouteTableAssociation struct {
|
||||||
SubnetID *terraformWriter.Literal `json:"subnet_id" cty:"subnet_id"`
|
SubnetID *terraformWriter.Literal `cty:"subnet_id"`
|
||||||
RouteTableID *terraformWriter.Literal `json:"route_table_id" cty:"route_table_id"`
|
RouteTableID *terraformWriter.Literal `cty:"route_table_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *RouteTableAssociation) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *RouteTableAssociation) error {
|
func (_ *RouteTableAssociation) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *RouteTableAssociation) error {
|
||||||
|
|
|
||||||
|
|
@ -186,10 +186,10 @@ func (_ *SecurityGroup) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *Security
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformSecurityGroup struct {
|
type terraformSecurityGroup struct {
|
||||||
Name *string `json:"name" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
VPCID *terraformWriter.Literal `json:"vpc_id" cty:"vpc_id"`
|
VPCID *terraformWriter.Literal `cty:"vpc_id"`
|
||||||
Description *string `json:"description" cty:"description"`
|
Description *string `cty:"description"`
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *SecurityGroup) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *SecurityGroup) error {
|
func (_ *SecurityGroup) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *SecurityGroup) error {
|
||||||
|
|
|
||||||
|
|
@ -309,17 +309,17 @@ func (_ *SecurityGroupRule) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *Secu
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformSecurityGroupIngress struct {
|
type terraformSecurityGroupIngress struct {
|
||||||
Type *string `json:"type" cty:"type"`
|
Type *string `cty:"type"`
|
||||||
|
|
||||||
SecurityGroup *terraformWriter.Literal `json:"security_group_id" cty:"security_group_id"`
|
SecurityGroup *terraformWriter.Literal `cty:"security_group_id"`
|
||||||
SourceGroup *terraformWriter.Literal `json:"source_security_group_id,omitempty" cty:"source_security_group_id"`
|
SourceGroup *terraformWriter.Literal `cty:"source_security_group_id"`
|
||||||
|
|
||||||
FromPort *int64 `json:"from_port,omitempty" cty:"from_port"`
|
FromPort *int64 `cty:"from_port"`
|
||||||
ToPort *int64 `json:"to_port,omitempty" cty:"to_port"`
|
ToPort *int64 `cty:"to_port"`
|
||||||
|
|
||||||
Protocol *string `json:"protocol,omitempty" cty:"protocol"`
|
Protocol *string `cty:"protocol"`
|
||||||
CIDRBlocks []string `json:"cidr_blocks,omitempty" cty:"cidr_blocks"`
|
CIDRBlocks []string `cty:"cidr_blocks"`
|
||||||
IPv6CIDRBlocks []string `json:"ipv6_cidr_blocks,omitempty" cty:"ipv6_cidr_blocks"`
|
IPv6CIDRBlocks []string `cty:"ipv6_cidr_blocks"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *SecurityGroupRule) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *SecurityGroupRule) error {
|
func (_ *SecurityGroupRule) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *SecurityGroupRule) error {
|
||||||
|
|
|
||||||
|
|
@ -188,10 +188,10 @@ func (q *SQS) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *SQS) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformSQSQueue struct {
|
type terraformSQSQueue struct {
|
||||||
Name *string `json:"name" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
MessageRetentionSeconds int `json:"message_retention_seconds" cty:"message_retention_seconds"`
|
MessageRetentionSeconds int `cty:"message_retention_seconds"`
|
||||||
Policy *terraformWriter.Literal `json:"policy" cty:"policy"`
|
Policy *terraformWriter.Literal `cty:"policy"`
|
||||||
Tags map[string]string `json:"tags" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *SQS) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *SQS) error {
|
func (_ *SQS) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *SQS) error {
|
||||||
|
|
|
||||||
|
|
@ -183,9 +183,9 @@ func (_ *SSHKey) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *SSHKey) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformSSHKey struct {
|
type terraformSSHKey struct {
|
||||||
Name *string `json:"key_name" cty:"key_name"`
|
Name *string `cty:"key_name"`
|
||||||
PublicKey *terraformWriter.Literal `json:"public_key" cty:"public_key"`
|
PublicKey *terraformWriter.Literal `cty:"public_key"`
|
||||||
Tags map[string]string `json:"tags" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *SSHKey) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *SSHKey) error {
|
func (_ *SSHKey) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *SSHKey) error {
|
||||||
|
|
|
||||||
|
|
@ -355,11 +355,11 @@ func subnetSlicesEqualIgnoreOrder(l, r []*Subnet) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformSubnet struct {
|
type terraformSubnet struct {
|
||||||
VPCID *terraformWriter.Literal `json:"vpc_id" cty:"vpc_id"`
|
VPCID *terraformWriter.Literal `cty:"vpc_id"`
|
||||||
CIDR *string `json:"cidr_block" cty:"cidr_block"`
|
CIDR *string `cty:"cidr_block"`
|
||||||
IPv6CIDR *string `json:"ipv6_cidr_block" cty:"ipv6_cidr_block"`
|
IPv6CIDR *string `cty:"ipv6_cidr_block"`
|
||||||
AvailabilityZone *string `json:"availability_zone" cty:"availability_zone"`
|
AvailabilityZone *string `cty:"availability_zone"`
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *Subnet) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Subnet) error {
|
func (_ *Subnet) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Subnet) error {
|
||||||
|
|
|
||||||
|
|
@ -206,18 +206,18 @@ func (a OrderTargetGroupsByName) Less(i, j int) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformTargetGroup struct {
|
type terraformTargetGroup struct {
|
||||||
Name string `json:"name" cty:"name"`
|
Name string `cty:"name"`
|
||||||
Port int64 `json:"port" cty:"port"`
|
Port int64 `cty:"port"`
|
||||||
Protocol string `json:"protocol" cty:"protocol"`
|
Protocol string `cty:"protocol"`
|
||||||
VPCID terraformWriter.Literal `json:"vpc_id" cty:"vpc_id"`
|
VPCID terraformWriter.Literal `cty:"vpc_id"`
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
HealthCheck terraformTargetGroupHealthCheck `json:"health_check" cty:"health_check"`
|
HealthCheck terraformTargetGroupHealthCheck `cty:"health_check"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformTargetGroupHealthCheck struct {
|
type terraformTargetGroupHealthCheck struct {
|
||||||
HealthyThreshold int64 `json:"healthy_threshold" cty:"healthy_threshold"`
|
HealthyThreshold int64 `cty:"healthy_threshold"`
|
||||||
UnhealthyThreshold int64 `json:"unhealthy_threshold" cty:"unhealthy_threshold"`
|
UnhealthyThreshold int64 `cty:"unhealthy_threshold"`
|
||||||
Protocol string `json:"protocol" cty:"protocol"`
|
Protocol string `cty:"protocol"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *TargetGroup) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *TargetGroup) error {
|
func (_ *TargetGroup) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *TargetGroup) error {
|
||||||
|
|
|
||||||
|
|
@ -281,11 +281,11 @@ func (e *VPC) FindDeletions(c *fi.Context) ([]fi.Deletion, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformVPC struct {
|
type terraformVPC struct {
|
||||||
CIDR *string `json:"cidr_block,omitempty" cty:"cidr_block"`
|
CIDR *string `cty:"cidr_block"`
|
||||||
EnableDNSHostnames *bool `json:"enable_dns_hostnames,omitempty" cty:"enable_dns_hostnames"`
|
EnableDNSHostnames *bool `cty:"enable_dns_hostnames"`
|
||||||
EnableDNSSupport *bool `json:"enable_dns_support,omitempty" cty:"enable_dns_support"`
|
EnableDNSSupport *bool `cty:"enable_dns_support"`
|
||||||
AmazonIPv6 *bool `json:"assign_generated_ipv6_cidr_block,omitempty" cty:"assign_generated_ipv6_cidr_block"`
|
AmazonIPv6 *bool `cty:"assign_generated_ipv6_cidr_block"`
|
||||||
Tags map[string]string `json:"tags,omitempty" cty:"tags"`
|
Tags map[string]string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *VPC) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *VPC) error {
|
func (_ *VPC) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *VPC) error {
|
||||||
|
|
|
||||||
|
|
@ -103,8 +103,8 @@ func (_ *VPCDHCPOptionsAssociation) RenderAWS(t *awsup.AWSAPITarget, a, e, chang
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformVPCDHCPOptionsAssociation struct {
|
type terraformVPCDHCPOptionsAssociation struct {
|
||||||
VPCID *terraformWriter.Literal `json:"vpc_id" cty:"vpc_id"`
|
VPCID *terraformWriter.Literal `cty:"vpc_id"`
|
||||||
DHCPOptionsID *terraformWriter.Literal `json:"dhcp_options_id" cty:"dhcp_options_id"`
|
DHCPOptionsID *terraformWriter.Literal `cty:"dhcp_options_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *VPCDHCPOptionsAssociation) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *VPCDHCPOptionsAssociation) error {
|
func (_ *VPCDHCPOptionsAssociation) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *VPCDHCPOptionsAssociation) error {
|
||||||
|
|
|
||||||
|
|
@ -140,8 +140,8 @@ func (_ *VPCCIDRBlock) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *VPCCIDRBl
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformVPCCIDRBlock struct {
|
type terraformVPCCIDRBlock struct {
|
||||||
VPCID *terraformWriter.Literal `json:"vpc_id" cty:"vpc_id"`
|
VPCID *terraformWriter.Literal `cty:"vpc_id"`
|
||||||
CIDRBlock *string `json:"cidr_block" cty:"cidr_block"`
|
CIDRBlock *string `cty:"cidr_block"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *VPCCIDRBlock) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *VPCCIDRBlock) error {
|
func (_ *VPCCIDRBlock) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *VPCCIDRBlock) error {
|
||||||
|
|
|
||||||
|
|
@ -132,9 +132,9 @@ func (_ *Volume) RenderDO(t *do.DOAPITarget, a, e, changes *Volume) error {
|
||||||
// terraformVolume represents the digitalocean_volume resource in terraform
|
// terraformVolume represents the digitalocean_volume resource in terraform
|
||||||
// https://www.terraform.io/docs/providers/do/r/volume.html
|
// https://www.terraform.io/docs/providers/do/r/volume.html
|
||||||
type terraformVolume struct {
|
type terraformVolume struct {
|
||||||
Name *string `json:"name" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
SizeGB *int64 `json:"size" cty:"size"`
|
SizeGB *int64 `cty:"size"`
|
||||||
Region *string `json:"region" cty:"region"`
|
Region *string `cty:"region"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *Volume) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Volume) error {
|
func (_ *Volume) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Volume) error {
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,7 @@ func (_ *Address) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Address) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformAddress struct {
|
type terraformAddress struct {
|
||||||
Name *string `json:"name,omitempty" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *Address) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Address) error {
|
func (_ *Address) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Address) error {
|
||||||
|
|
|
||||||
|
|
@ -163,11 +163,11 @@ func (_ *Disk) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Disk) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformDisk struct {
|
type terraformDisk struct {
|
||||||
Name *string `json:"name" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
VolumeType *string `json:"type" cty:"type"`
|
VolumeType *string `cty:"type"`
|
||||||
SizeGB *int64 `json:"size" cty:"size"`
|
SizeGB *int64 `cty:"size"`
|
||||||
Zone *string `json:"zone" cty:"zone"`
|
Zone *string `cty:"zone"`
|
||||||
Labels map[string]string `json:"labels,omitempty" cty:"labels"`
|
Labels map[string]string `cty:"labels"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *Disk) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Disk) error {
|
func (_ *Disk) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Disk) error {
|
||||||
|
|
|
||||||
|
|
@ -213,22 +213,22 @@ func (_ *FirewallRule) RenderGCE(t *gce.GCEAPITarget, a, e, changes *FirewallRul
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformAllow struct {
|
type terraformAllow struct {
|
||||||
Protocol string `json:"protocol,omitempty" cty:"protocol"`
|
Protocol string `cty:"protocol"`
|
||||||
Ports []string `json:"ports,omitempty" cty:"ports"`
|
Ports []string `cty:"ports"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformFirewall struct {
|
type terraformFirewall struct {
|
||||||
Name string `json:"name" cty:"name"`
|
Name string `cty:"name"`
|
||||||
Network *terraformWriter.Literal `json:"network" cty:"network"`
|
Network *terraformWriter.Literal `cty:"network"`
|
||||||
|
|
||||||
Allowed []*terraformAllow `json:"allow,omitempty" cty:"allow"`
|
Allowed []*terraformAllow `cty:"allow"`
|
||||||
|
|
||||||
SourceTags []string `json:"source_tags,omitempty" cty:"source_tags"`
|
SourceTags []string `cty:"source_tags"`
|
||||||
|
|
||||||
SourceRanges []string `json:"source_ranges,omitempty" cty:"source_ranges"`
|
SourceRanges []string `cty:"source_ranges"`
|
||||||
TargetTags []string `json:"target_tags,omitempty" cty:"target_tags"`
|
TargetTags []string `cty:"target_tags"`
|
||||||
|
|
||||||
Disabled bool `json:"disabled,omitempty" cty:"disabled"`
|
Disabled bool `cty:"disabled"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *FirewallRule) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *FirewallRule) error {
|
func (_ *FirewallRule) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *FirewallRule) error {
|
||||||
|
|
|
||||||
|
|
@ -139,11 +139,11 @@ func (_ *ForwardingRule) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Forwardin
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformForwardingRule struct {
|
type terraformForwardingRule struct {
|
||||||
Name string `json:"name" cty:"name"`
|
Name string `cty:"name"`
|
||||||
PortRange string `json:"port_range,omitempty" cty:"port_range"`
|
PortRange string `cty:"port_range"`
|
||||||
Target *terraformWriter.Literal `json:"target,omitempty" cty:"target"`
|
Target *terraformWriter.Literal `cty:"target"`
|
||||||
IPAddress *terraformWriter.Literal `json:"ip_address,omitempty" cty:"ip_address"`
|
IPAddress *terraformWriter.Literal `cty:"ip_address"`
|
||||||
IPProtocol string `json:"ip_protocol,omitempty" cty:"ip_protocol"`
|
IPProtocol string `cty:"ip_protocol"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *ForwardingRule) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *ForwardingRule) error {
|
func (_ *ForwardingRule) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *ForwardingRule) error {
|
||||||
|
|
|
||||||
|
|
@ -394,29 +394,29 @@ func ShortenImageURL(defaultProject string, imageURL string) (string, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformInstance struct {
|
type terraformInstance struct {
|
||||||
Name string `json:"name" cty:"name"`
|
Name string `cty:"name"`
|
||||||
CanIPForward bool `json:"can_ip_forward" cty:"can_ip_forward"`
|
CanIPForward bool `cty:"can_ip_forward"`
|
||||||
MachineType string `json:"machine_type,omitempty" cty:"machine_type"`
|
MachineType string `cty:"machine_type"`
|
||||||
ServiceAccounts []*terraformTemplateServiceAccount `json:"service_account,omitempty" cty:"service_account"`
|
ServiceAccounts []*terraformTemplateServiceAccount `cty:"service_account"`
|
||||||
Scheduling *terraformScheduling `json:"scheduling,omitempty" cty:"scheduling"`
|
Scheduling *terraformScheduling `cty:"scheduling"`
|
||||||
Disks []*terraformInstanceAttachedDisk `json:"disk,omitempty" cty:"disk"`
|
Disks []*terraformInstanceAttachedDisk `cty:"disk"`
|
||||||
NetworkInterfaces []*terraformNetworkInterface `json:"network_interface,omitempty" cty:"network_interface"`
|
NetworkInterfaces []*terraformNetworkInterface `cty:"network_interface"`
|
||||||
Metadata map[string]*terraformWriter.Literal `json:"metadata,omitempty" cty:"metadata"`
|
Metadata map[string]*terraformWriter.Literal `cty:"metadata"`
|
||||||
MetadataStartupScript *terraformWriter.Literal `json:"metadata_startup_script,omitempty" cty:"metadata_startup_script"`
|
MetadataStartupScript *terraformWriter.Literal `cty:"metadata_startup_script"`
|
||||||
Tags []string `json:"tags,omitempty" cty:"tags"`
|
Tags []string `cty:"tags"`
|
||||||
Zone string `json:"zone,omitempty" cty:"zone"`
|
Zone string `cty:"zone"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformInstanceAttachedDisk struct {
|
type terraformInstanceAttachedDisk struct {
|
||||||
AutoDelete bool `json:"auto_delete,omitempty" cty:"auto_delete"`
|
AutoDelete bool `cty:"auto_delete"`
|
||||||
DeviceName string `json:"device_name,omitempty" cty:"device_name"`
|
DeviceName string `cty:"device_name"`
|
||||||
|
|
||||||
// 'pd-standard', 'pd-ssd', 'local-ssd' etc
|
// 'pd-standard', 'pd-ssd', 'local-ssd' etc
|
||||||
Type string `json:"type,omitempty" cty:"type"`
|
Type string `cty:"type"`
|
||||||
Disk string `json:"disk,omitempty" cty:"disk"`
|
Disk string `cty:"disk"`
|
||||||
Image string `json:"image,omitempty" cty:"image"`
|
Image string `cty:"image"`
|
||||||
Scratch bool `json:"scratch,omitempty" cty:"scratch"`
|
Scratch bool `cty:"scratch"`
|
||||||
Size int64 `json:"size,omitempty" cty:"size"`
|
Size int64 `cty:"size"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *Instance) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Instance) error {
|
func (_ *Instance) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Instance) error {
|
||||||
|
|
|
||||||
|
|
@ -172,16 +172,16 @@ func (_ *InstanceGroupManager) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Ins
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformInstanceGroupManager struct {
|
type terraformInstanceGroupManager struct {
|
||||||
Name *string `json:"name" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
Zone *string `json:"zone" cty:"zone"`
|
Zone *string `cty:"zone"`
|
||||||
BaseInstanceName *string `json:"base_instance_name" cty:"base_instance_name"`
|
BaseInstanceName *string `cty:"base_instance_name"`
|
||||||
Version *terraformVersion `json:"version" cty:"version"`
|
Version *terraformVersion `cty:"version"`
|
||||||
TargetSize *int64 `json:"target_size" cty:"target_size"`
|
TargetSize *int64 `cty:"target_size"`
|
||||||
TargetPools []*terraformWriter.Literal `json:"target_pools,omitempty" cty:"target_pools"`
|
TargetPools []*terraformWriter.Literal `cty:"target_pools"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformVersion struct {
|
type terraformVersion struct {
|
||||||
InstanceTemplate *terraformWriter.Literal `json:"instance_template" cty:"instance_template"`
|
InstanceTemplate *terraformWriter.Literal `cty:"instance_template"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *InstanceGroupManager) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *InstanceGroupManager) error {
|
func (_ *InstanceGroupManager) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *InstanceGroupManager) error {
|
||||||
|
|
|
||||||
|
|
@ -442,54 +442,54 @@ func (_ *InstanceTemplate) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Instanc
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformInstanceTemplate struct {
|
type terraformInstanceTemplate struct {
|
||||||
NamePrefix string `json:"name_prefix" cty:"name_prefix"`
|
NamePrefix string `cty:"name_prefix"`
|
||||||
CanIPForward bool `json:"can_ip_forward" cty:"can_ip_forward"`
|
CanIPForward bool `cty:"can_ip_forward"`
|
||||||
MachineType string `json:"machine_type,omitempty" cty:"machine_type"`
|
MachineType string `cty:"machine_type"`
|
||||||
ServiceAccounts []*terraformTemplateServiceAccount `json:"service_account,omitempty" cty:"service_account"`
|
ServiceAccounts []*terraformTemplateServiceAccount `cty:"service_account"`
|
||||||
Scheduling *terraformScheduling `json:"scheduling,omitempty" cty:"scheduling"`
|
Scheduling *terraformScheduling `cty:"scheduling"`
|
||||||
Disks []*terraformInstanceTemplateAttachedDisk `json:"disk,omitempty" cty:"disk"`
|
Disks []*terraformInstanceTemplateAttachedDisk `cty:"disk"`
|
||||||
Labels map[string]string `json:"labels,omitempty" cty:"labels"`
|
Labels map[string]string `cty:"labels"`
|
||||||
NetworkInterfaces []*terraformNetworkInterface `json:"network_interface,omitempty" cty:"network_interface"`
|
NetworkInterfaces []*terraformNetworkInterface `cty:"network_interface"`
|
||||||
Metadata map[string]*terraformWriter.Literal `json:"metadata,omitempty" cty:"metadata"`
|
Metadata map[string]*terraformWriter.Literal `cty:"metadata"`
|
||||||
MetadataStartupScript *terraformWriter.Literal `json:"metadata_startup_script,omitempty" cty:"metadata_startup_script"`
|
MetadataStartupScript *terraformWriter.Literal `cty:"metadata_startup_script"`
|
||||||
Tags []string `json:"tags,omitempty" cty:"tags"`
|
Tags []string `cty:"tags"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformTemplateServiceAccount struct {
|
type terraformTemplateServiceAccount struct {
|
||||||
Email *terraformWriter.Literal `json:"email" cty:"email"`
|
Email *terraformWriter.Literal `cty:"email"`
|
||||||
Scopes []string `json:"scopes" cty:"scopes"`
|
Scopes []string `cty:"scopes"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformScheduling struct {
|
type terraformScheduling struct {
|
||||||
AutomaticRestart bool `json:"automatic_restart" cty:"automatic_restart"`
|
AutomaticRestart bool `cty:"automatic_restart"`
|
||||||
OnHostMaintenance string `json:"on_host_maintenance,omitempty" cty:"on_host_maintenance"`
|
OnHostMaintenance string `cty:"on_host_maintenance"`
|
||||||
Preemptible bool `json:"preemptible" cty:"preemptible"`
|
Preemptible bool `cty:"preemptible"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformInstanceTemplateAttachedDisk struct {
|
type terraformInstanceTemplateAttachedDisk struct {
|
||||||
AutoDelete bool `json:"auto_delete,omitempty" cty:"auto_delete"`
|
AutoDelete bool `cty:"auto_delete"`
|
||||||
DeviceName string `json:"device_name,omitempty" cty:"device_name"`
|
DeviceName string `cty:"device_name"`
|
||||||
|
|
||||||
// scratch vs persistent
|
// scratch vs persistent
|
||||||
Type string `json:"type,omitempty" cty:"type"`
|
Type string `cty:"type"`
|
||||||
Boot bool `json:"boot,omitempty" cty:"boot"`
|
Boot bool `cty:"boot"`
|
||||||
DiskName string `json:"disk_name,omitempty" cty:"disk_name"`
|
DiskName string `cty:"disk_name"`
|
||||||
SourceImage string `json:"source_image,omitempty" cty:"source_image"`
|
SourceImage string `cty:"source_image"`
|
||||||
Source string `json:"source,omitempty" cty:"source"`
|
Source string `cty:"source"`
|
||||||
Interface string `json:"interface,omitempty" cty:"interface"`
|
Interface string `cty:"interface"`
|
||||||
Mode string `json:"mode,omitempty" cty:"mode"`
|
Mode string `cty:"mode"`
|
||||||
DiskType string `json:"disk_type,omitempty" cty:"disk_type"`
|
DiskType string `cty:"disk_type"`
|
||||||
DiskSizeGB int64 `json:"disk_size_gb,omitempty" cty:"disk_size_gb"`
|
DiskSizeGB int64 `cty:"disk_size_gb"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformNetworkInterface struct {
|
type terraformNetworkInterface struct {
|
||||||
Network *terraformWriter.Literal `json:"network,omitempty" cty:"network"`
|
Network *terraformWriter.Literal `cty:"network"`
|
||||||
Subnetwork *terraformWriter.Literal `json:"subnetwork,omitempty" cty:"subnetwork"`
|
Subnetwork *terraformWriter.Literal `cty:"subnetwork"`
|
||||||
AccessConfig []*terraformAccessConfig `json:"access_config" cty:"access_config"`
|
AccessConfig []*terraformAccessConfig `cty:"access_config"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformAccessConfig struct {
|
type terraformAccessConfig struct {
|
||||||
NatIP *terraformWriter.Literal `json:"nat_ip,omitempty" cty:"nat_ip"`
|
NatIP *terraformWriter.Literal `cty:"nat_ip"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func addNetworks(network *Network, subnet *Subnet, networkInterfaces []*compute.NetworkInterface) []*terraformNetworkInterface {
|
func addNetworks(network *Network, subnet *Subnet, networkInterfaces []*compute.NetworkInterface) []*terraformNetworkInterface {
|
||||||
|
|
|
||||||
|
|
@ -187,9 +187,9 @@ func (_ *Network) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Network) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformNetwork struct {
|
type terraformNetwork struct {
|
||||||
Name *string `json:"name" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
IPv4Range *string `json:"ipv4_range,omitempty" cty:"ipv4_range"`
|
IPv4Range *string `cty:"ipv4_range"`
|
||||||
AutoCreateSubnetworks *bool `json:"auto_create_subnetworks,omitempty" cty:"auto_create_subnetworks"`
|
AutoCreateSubnetworks *bool `cty:"auto_create_subnetworks"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *Network) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Network) error {
|
func (_ *Network) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Network) error {
|
||||||
|
|
|
||||||
|
|
@ -127,9 +127,9 @@ func (_ *ProjectIAMBinding) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Projec
|
||||||
|
|
||||||
// terraformProjectIAMBinding is the model for a terraform google_project_iam_binding rule
|
// terraformProjectIAMBinding is the model for a terraform google_project_iam_binding rule
|
||||||
type terraformProjectIAMBinding struct {
|
type terraformProjectIAMBinding struct {
|
||||||
Project string `json:"project,omitempty" cty:"project"`
|
Project string `cty:"project"`
|
||||||
Role string `json:"role,omitempty" cty:"role"`
|
Role string `cty:"role"`
|
||||||
Members []string `json:"members,omitempty" cty:"members"`
|
Members []string `cty:"members"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *ProjectIAMBinding) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *ProjectIAMBinding) error {
|
func (_ *ProjectIAMBinding) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *ProjectIAMBinding) error {
|
||||||
|
|
|
||||||
|
|
@ -186,23 +186,23 @@ func (*Router) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Router) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformRouterNat struct {
|
type terraformRouterNat struct {
|
||||||
Name *string `json:"name,omitempty" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
Region *string `json:"region,omitempty" cty:"region"`
|
Region *string `cty:"region"`
|
||||||
Router *terraformWriter.Literal `json:"router,omitempty" cty:"router"`
|
Router *terraformWriter.Literal `cty:"router"`
|
||||||
NATIPAllocateOption *string `json:"nat_ip_allocate_option,omitempty" cty:"nat_ip_allocate_option"`
|
NATIPAllocateOption *string `cty:"nat_ip_allocate_option"`
|
||||||
SourceSubnetworkIPRangesToNat *string `json:"source_subnetwork_ip_ranges_to_nat,omitempty" cty:"source_subnetwork_ip_ranges_to_nat"`
|
SourceSubnetworkIPRangesToNat *string `cty:"source_subnetwork_ip_ranges_to_nat"`
|
||||||
Subnetworks []*terraformRouterNatSubnetwork `json:"subnetwork,omitempty" cty:"subnetwork"`
|
Subnetworks []*terraformRouterNatSubnetwork `cty:"subnetwork"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformRouterNatSubnetwork struct {
|
type terraformRouterNatSubnetwork struct {
|
||||||
Name *terraformWriter.Literal `json:"name,omitempty" cty:"name"`
|
Name *terraformWriter.Literal `cty:"name"`
|
||||||
SourceIPRangesToNat []string `json:"source_ip_ranges_to_nat,omitempty" cty:"source_ip_ranges_to_nat"`
|
SourceIPRangesToNat []string `cty:"source_ip_ranges_to_nat"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformRouter struct {
|
type terraformRouter struct {
|
||||||
Name *string `json:"name,omitempty" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
Network *terraformWriter.Literal `json:"network,omitempty" cty:"network"`
|
Network *terraformWriter.Literal `cty:"network"`
|
||||||
Region *string `json:"region,omitempty" cty:"region"`
|
Region *string `cty:"region"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// RenderTerraform renders the Terraform config.
|
// RenderTerraform renders the Terraform config.
|
||||||
|
|
|
||||||
|
|
@ -182,10 +182,10 @@ func (_ *ServiceAccount) RenderGCE(t *gce.GCEAPITarget, a, e, changes *ServiceAc
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformServiceAccount struct {
|
type terraformServiceAccount struct {
|
||||||
AccountID *string `json:"account_id" cty:"account_id"`
|
AccountID *string `cty:"account_id"`
|
||||||
ProjectID *string `json:"project" cty:"project"`
|
ProjectID *string `cty:"project"`
|
||||||
Description *string `json:"description" cty:"description"`
|
Description *string `cty:"description"`
|
||||||
DisplayName *string `json:"display_name" cty:"display_name"`
|
DisplayName *string `cty:"display_name"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *ServiceAccount) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *ServiceAccount) error {
|
func (_ *ServiceAccount) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *ServiceAccount) error {
|
||||||
|
|
|
||||||
|
|
@ -117,8 +117,8 @@ func (_ *StorageBucketAcl) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Storage
|
||||||
|
|
||||||
// terraformStorageBucketAcl is the model for a terraform google_storage_bucket_acl rule
|
// terraformStorageBucketAcl is the model for a terraform google_storage_bucket_acl rule
|
||||||
type terraformStorageBucketAcl struct {
|
type terraformStorageBucketAcl struct {
|
||||||
Bucket string `json:"bucket,omitempty" cty:"bucket"`
|
Bucket string `cty:"bucket"`
|
||||||
RoleEntity []string `json:"role_entity,omitempty" cty:"role_entity"`
|
RoleEntity []string `cty:"role_entity"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *StorageBucketAcl) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *StorageBucketAcl) error {
|
func (_ *StorageBucketAcl) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *StorageBucketAcl) error {
|
||||||
|
|
|
||||||
|
|
@ -126,9 +126,9 @@ func (_ *StorageBucketIAM) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Storage
|
||||||
|
|
||||||
// terraformStorageBucketIAM is the model for a terraform google_storage_bucket_iam_member rule
|
// terraformStorageBucketIAM is the model for a terraform google_storage_bucket_iam_member rule
|
||||||
type terraformStorageBucketIAM struct {
|
type terraformStorageBucketIAM struct {
|
||||||
Bucket string `json:"bucket,omitempty" cty:"bucket"`
|
Bucket string `cty:"bucket"`
|
||||||
Role string `json:"role,omitempty" cty:"role"`
|
Role string `cty:"role"`
|
||||||
Member string `json:"member,omitempty" cty:"member"`
|
Member string `cty:"member"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *StorageBucketIAM) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *StorageBucketIAM) error {
|
func (_ *StorageBucketIAM) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *StorageBucketIAM) error {
|
||||||
|
|
|
||||||
|
|
@ -124,9 +124,9 @@ func (_ *StorageObjectAcl) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Storage
|
||||||
|
|
||||||
// terraformStorageObjectAcl is the model for a terraform google_storage_object_acl rule
|
// terraformStorageObjectAcl is the model for a terraform google_storage_object_acl rule
|
||||||
type terraformStorageObjectAcl struct {
|
type terraformStorageObjectAcl struct {
|
||||||
Bucket string `json:"bucket,omitempty" cty:"bucket"`
|
Bucket string `cty:"bucket"`
|
||||||
Object string `json:"object,omitempty" cty:"object"`
|
Object string `cty:"object"`
|
||||||
RoleEntity []string `json:"role_entity,omitempty" cty:"role_entity"`
|
RoleEntity []string `cty:"role_entity"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *StorageObjectAcl) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *StorageObjectAcl) error {
|
func (_ *StorageObjectAcl) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *StorageObjectAcl) error {
|
||||||
|
|
|
||||||
|
|
@ -232,18 +232,18 @@ func (e *Subnet) URL(project string, region string) string {
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformSubnet struct {
|
type terraformSubnet struct {
|
||||||
Name *string `json:"name" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
Network *terraformWriter.Literal `json:"network" cty:"network"`
|
Network *terraformWriter.Literal `cty:"network"`
|
||||||
Region *string `json:"region" cty:"region"`
|
Region *string `cty:"region"`
|
||||||
CIDR *string `json:"ip_cidr_range" cty:"ip_cidr_range"`
|
CIDR *string `cty:"ip_cidr_range"`
|
||||||
|
|
||||||
// SecondaryIPRange defines additional IP ranges
|
// SecondaryIPRange defines additional IP ranges
|
||||||
SecondaryIPRange []terraformSubnetRange `json:"secondary_ip_range,omitempty" cty:"secondary_ip_range"`
|
SecondaryIPRange []terraformSubnetRange `cty:"secondary_ip_range"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformSubnetRange struct {
|
type terraformSubnetRange struct {
|
||||||
Name string `json:"range_name,omitempty" cty:"range_name"`
|
Name string `cty:"range_name"`
|
||||||
CIDR string `json:"ip_cidr_range,omitempty" cty:"ip_cidr_range"`
|
CIDR string `cty:"ip_cidr_range"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *Subnet) RenderSubnet(t *terraform.TerraformTarget, a, e, changes *Subnet) error {
|
func (_ *Subnet) RenderSubnet(t *terraform.TerraformTarget, a, e, changes *Subnet) error {
|
||||||
|
|
|
||||||
|
|
@ -104,11 +104,11 @@ func (_ *TargetPool) RenderGCE(t *gce.GCEAPITarget, a, e, changes *TargetPool) e
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformTargetPool struct {
|
type terraformTargetPool struct {
|
||||||
Name string `json:"name" cty:"name"`
|
Name string `cty:"name"`
|
||||||
Description string `json:"description,omitempty" cty:"description"`
|
Description string `cty:"description"`
|
||||||
HealthChecks []string `json:"health_checks,omitempty" cty:"health_checks"`
|
HealthChecks []string `cty:"health_checks"`
|
||||||
Instances []string `json:"instances,omitempty" cty:"instances"`
|
Instances []string `cty:"instances"`
|
||||||
SessionAffinity string `json:"session_affinity,omitempty" cty:"session_affinity"`
|
SessionAffinity string `cty:"session_affinity"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *TargetPool) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *TargetPool) error {
|
func (_ *TargetPool) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *TargetPool) error {
|
||||||
|
|
|
||||||
|
|
@ -1352,110 +1352,110 @@ func (_ *Elastigroup) update(cloud awsup.AWSCloud, a, e, changes *Elastigroup) e
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformElastigroup struct {
|
type terraformElastigroup struct {
|
||||||
Name *string `json:"name,omitempty" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
Description *string `json:"description,omitempty" cty:"description"`
|
Description *string `cty:"description"`
|
||||||
Product *string `json:"product,omitempty" cty:"product"`
|
Product *string `cty:"product"`
|
||||||
Region *string `json:"region,omitempty" cty:"region"`
|
Region *string `cty:"region"`
|
||||||
SubnetIDs []*terraformWriter.Literal `json:"subnet_ids,omitempty" cty:"subnet_ids"`
|
SubnetIDs []*terraformWriter.Literal `cty:"subnet_ids"`
|
||||||
LoadBalancers []*terraformWriter.Literal `json:"elastic_load_balancers,omitempty" cty:"elastic_load_balancers"`
|
LoadBalancers []*terraformWriter.Literal `cty:"elastic_load_balancers"`
|
||||||
TargetGroups []*terraformWriter.Literal `json:"target_group_arns,omitempty" cty:"target_group_arns"`
|
TargetGroups []*terraformWriter.Literal `cty:"target_group_arns"`
|
||||||
NetworkInterfaces []*terraformElastigroupNetworkInterface `json:"network_interface,omitempty" cty:"network_interface"`
|
NetworkInterfaces []*terraformElastigroupNetworkInterface `cty:"network_interface"`
|
||||||
RootBlockDevice *terraformElastigroupBlockDevice `json:"ebs_block_device,omitempty" cty:"ebs_block_device"`
|
RootBlockDevice *terraformElastigroupBlockDevice `cty:"ebs_block_device"`
|
||||||
EphemeralBlockDevice []*terraformElastigroupBlockDevice `json:"ephemeral_block_device,omitempty" cty:"ephemeral_block_device"`
|
EphemeralBlockDevice []*terraformElastigroupBlockDevice `cty:"ephemeral_block_device"`
|
||||||
Integration *terraformElastigroupIntegration `json:"integration_kubernetes,omitempty" cty:"integration_kubernetes"`
|
Integration *terraformElastigroupIntegration `cty:"integration_kubernetes"`
|
||||||
Tags []*terraformKV `json:"tags,omitempty" cty:"tags"`
|
Tags []*terraformKV `cty:"tags"`
|
||||||
|
|
||||||
MinSize *int64 `json:"min_size,omitempty" cty:"min_size"`
|
MinSize *int64 `cty:"min_size"`
|
||||||
MaxSize *int64 `json:"max_size,omitempty" cty:"max_size"`
|
MaxSize *int64 `cty:"max_size"`
|
||||||
DesiredCapacity *int64 `json:"desired_capacity,omitempty" cty:"desired_capacity"`
|
DesiredCapacity *int64 `cty:"desired_capacity"`
|
||||||
CapacityUnit *string `json:"capacity_unit,omitempty" cty:"capacity_unit"`
|
CapacityUnit *string `cty:"capacity_unit"`
|
||||||
|
|
||||||
SpotPercentage *float64 `json:"spot_percentage,omitempty" cty:"spot_percentage"`
|
SpotPercentage *float64 `cty:"spot_percentage"`
|
||||||
Orientation *string `json:"orientation,omitempty" cty:"orientation"`
|
Orientation *string `cty:"orientation"`
|
||||||
FallbackToOnDemand *bool `json:"fallback_to_ondemand,omitempty" cty:"fallback_to_ondemand"`
|
FallbackToOnDemand *bool `cty:"fallback_to_ondemand"`
|
||||||
UtilizeReservedInstances *bool `json:"utilize_reserved_instances,omitempty" cty:"utilize_reserved_instances"`
|
UtilizeReservedInstances *bool `cty:"utilize_reserved_instances"`
|
||||||
UtilizeCommitments *bool `json:"utilize_commitments,omitempty" cty:"utilize_commitments"`
|
UtilizeCommitments *bool `cty:"utilize_commitments"`
|
||||||
DrainingTimeout *int64 `json:"draining_timeout,omitempty" cty:"draining_timeout"`
|
DrainingTimeout *int64 `cty:"draining_timeout"`
|
||||||
|
|
||||||
OnDemand *string `json:"instance_types_ondemand,omitempty" cty:"instance_types_ondemand"`
|
OnDemand *string `cty:"instance_types_ondemand"`
|
||||||
Spot []string `json:"instance_types_spot,omitempty" cty:"instance_types_spot"`
|
Spot []string `cty:"instance_types_spot"`
|
||||||
|
|
||||||
Monitoring *bool `json:"enable_monitoring,omitempty" cty:"enable_monitoring"`
|
Monitoring *bool `cty:"enable_monitoring"`
|
||||||
EBSOptimized *bool `json:"ebs_optimized,omitempty" cty:"ebs_optimized"`
|
EBSOptimized *bool `cty:"ebs_optimized"`
|
||||||
ImageID *string `json:"image_id,omitempty" cty:"image_id"`
|
ImageID *string `cty:"image_id"`
|
||||||
HealthCheckType *string `json:"health_check_type,omitempty" cty:"health_check_type"`
|
HealthCheckType *string `cty:"health_check_type"`
|
||||||
SecurityGroups []*terraformWriter.Literal `json:"security_groups,omitempty" cty:"security_groups"`
|
SecurityGroups []*terraformWriter.Literal `cty:"security_groups"`
|
||||||
UserData *terraformWriter.Literal `json:"user_data,omitempty" cty:"user_data"`
|
UserData *terraformWriter.Literal `cty:"user_data"`
|
||||||
IAMInstanceProfile *terraformWriter.Literal `json:"iam_instance_profile,omitempty" cty:"iam_instance_profile"`
|
IAMInstanceProfile *terraformWriter.Literal `cty:"iam_instance_profile"`
|
||||||
KeyName *terraformWriter.Literal `json:"key_name,omitempty" cty:"key_name"`
|
KeyName *terraformWriter.Literal `cty:"key_name"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformElastigroupBlockDevice struct {
|
type terraformElastigroupBlockDevice struct {
|
||||||
DeviceName *string `json:"device_name,omitempty" cty:"device_name"`
|
DeviceName *string `cty:"device_name"`
|
||||||
VirtualName *string `json:"virtual_name,omitempty" cty:"virtual_name"`
|
VirtualName *string `cty:"virtual_name"`
|
||||||
VolumeType *string `json:"volume_type,omitempty" cty:"volume_type"`
|
VolumeType *string `cty:"volume_type"`
|
||||||
VolumeSize *int64 `json:"volume_size,omitempty" cty:"volume_size"`
|
VolumeSize *int64 `cty:"volume_size"`
|
||||||
VolumeIOPS *int64 `json:"iops,omitempty" cty:"iops"`
|
VolumeIOPS *int64 `cty:"iops"`
|
||||||
VolumeThroughput *int64 `json:"throughput,omitempty" cty:"throughput"`
|
VolumeThroughput *int64 `cty:"throughput"`
|
||||||
DeleteOnTermination *bool `json:"delete_on_termination,omitempty" cty:"delete_on_termination"`
|
DeleteOnTermination *bool `cty:"delete_on_termination"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformElastigroupNetworkInterface struct {
|
type terraformElastigroupNetworkInterface struct {
|
||||||
Description *string `json:"description,omitempty" cty:"description"`
|
Description *string `cty:"description"`
|
||||||
DeviceIndex *int `json:"device_index,omitempty" cty:"device_index"`
|
DeviceIndex *int `cty:"device_index"`
|
||||||
AssociatePublicIPAddress *bool `json:"associate_public_ip_address,omitempty" cty:"associate_public_ip_address"`
|
AssociatePublicIPAddress *bool `cty:"associate_public_ip_address"`
|
||||||
DeleteOnTermination *bool `json:"delete_on_termination,omitempty" cty:"delete_on_termination"`
|
DeleteOnTermination *bool `cty:"delete_on_termination"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformElastigroupIntegration struct {
|
type terraformElastigroupIntegration struct {
|
||||||
IntegrationMode *string `json:"integration_mode,omitempty" cty:"integration_mode"`
|
IntegrationMode *string `cty:"integration_mode"`
|
||||||
ClusterIdentifier *string `json:"cluster_identifier,omitempty" cty:"cluster_identifier"`
|
ClusterIdentifier *string `cty:"cluster_identifier"`
|
||||||
|
|
||||||
Enabled *bool `json:"autoscale_is_enabled,omitempty" cty:"autoscale_is_enabled"`
|
Enabled *bool `cty:"autoscale_is_enabled"`
|
||||||
AutoConfig *bool `json:"autoscale_is_auto_config,omitempty" cty:"autoscale_is_auto_config"`
|
AutoConfig *bool `cty:"autoscale_is_auto_config"`
|
||||||
Cooldown *int `json:"autoscale_cooldown,omitempty" cty:"autoscale_cooldown"`
|
Cooldown *int `cty:"autoscale_cooldown"`
|
||||||
Headroom *terraformAutoScalerHeadroom `json:"autoscale_headroom,omitempty" cty:"autoscale_headroom"`
|
Headroom *terraformAutoScalerHeadroom `cty:"autoscale_headroom"`
|
||||||
Down *terraformAutoScalerDown `json:"autoscale_down,omitempty" cty:"autoscale_down"`
|
Down *terraformAutoScalerDown `cty:"autoscale_down"`
|
||||||
Labels []*terraformKV `json:"autoscale_labels,omitempty" cty:"autoscale_labels"`
|
Labels []*terraformKV `cty:"autoscale_labels"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformAutoScaler struct {
|
type terraformAutoScaler struct {
|
||||||
Enabled *bool `json:"autoscale_is_enabled,omitempty" cty:"autoscale_is_enabled"`
|
Enabled *bool `cty:"autoscale_is_enabled"`
|
||||||
AutoConfig *bool `json:"autoscale_is_auto_config,omitempty" cty:"autoscale_is_auto_config"`
|
AutoConfig *bool `cty:"autoscale_is_auto_config"`
|
||||||
AutoHeadroomPercentage *int `json:"auto_headroom_percentage,omitempty" cty:"auto_headroom_percentage"`
|
AutoHeadroomPercentage *int `cty:"auto_headroom_percentage"`
|
||||||
Cooldown *int `json:"autoscale_cooldown,omitempty" cty:"autoscale_cooldown"`
|
Cooldown *int `cty:"autoscale_cooldown"`
|
||||||
Headroom *terraformAutoScalerHeadroom `json:"autoscale_headroom,omitempty" cty:"autoscale_headroom"`
|
Headroom *terraformAutoScalerHeadroom `cty:"autoscale_headroom"`
|
||||||
Down *terraformAutoScalerDown `json:"autoscale_down,omitempty" cty:"autoscale_down"`
|
Down *terraformAutoScalerDown `cty:"autoscale_down"`
|
||||||
ResourceLimits *terraformAutoScalerResourceLimits `json:"resource_limits,omitempty" cty:"resource_limits"`
|
ResourceLimits *terraformAutoScalerResourceLimits `cty:"resource_limits"`
|
||||||
Labels []*terraformKV `json:"autoscale_labels,omitempty" cty:"autoscale_labels"`
|
Labels []*terraformKV `cty:"autoscale_labels"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformAutoScalerHeadroom struct {
|
type terraformAutoScalerHeadroom struct {
|
||||||
CPUPerUnit *int `json:"cpu_per_unit,omitempty" cty:"cpu_per_unit"`
|
CPUPerUnit *int `cty:"cpu_per_unit"`
|
||||||
GPUPerUnit *int `json:"gpu_per_unit,omitempty" cty:"gpu_per_unit"`
|
GPUPerUnit *int `cty:"gpu_per_unit"`
|
||||||
MemPerUnit *int `json:"memory_per_unit,omitempty" cty:"memory_per_unit"`
|
MemPerUnit *int `cty:"memory_per_unit"`
|
||||||
NumOfUnits *int `json:"num_of_units,omitempty" cty:"num_of_units"`
|
NumOfUnits *int `cty:"num_of_units"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformAutoScalerDown struct {
|
type terraformAutoScalerDown struct {
|
||||||
MaxPercentage *float64 `json:"max_scale_down_percentage,omitempty" cty:"max_scale_down_percentage"`
|
MaxPercentage *float64 `cty:"max_scale_down_percentage"`
|
||||||
EvaluationPeriods *int `json:"evaluation_periods,omitempty" cty:"evaluation_periods"`
|
EvaluationPeriods *int `cty:"evaluation_periods"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformAutoScalerResourceLimits struct {
|
type terraformAutoScalerResourceLimits struct {
|
||||||
MaxVCPU *int `json:"max_vcpu,omitempty" cty:"max_vcpu"`
|
MaxVCPU *int `cty:"max_vcpu"`
|
||||||
MaxMemory *int `json:"max_memory_gib,omitempty" cty:"max_memory_gib"`
|
MaxMemory *int `cty:"max_memory_gib"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformKV struct {
|
type terraformKV struct {
|
||||||
Key *string `json:"key" cty:"key"`
|
Key *string `cty:"key"`
|
||||||
Value *string `json:"value" cty:"value"`
|
Value *string `cty:"value"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformTaint struct {
|
type terraformTaint struct {
|
||||||
Key *string `json:"key" cty:"key"`
|
Key *string `cty:"key"`
|
||||||
Value *string `json:"value" cty:"value"`
|
Value *string `cty:"value"`
|
||||||
Effect *string `json:"effect" cty:"effect"`
|
Effect *string `cty:"effect"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *Elastigroup) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Elastigroup) error {
|
func (_ *Elastigroup) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Elastigroup) error {
|
||||||
|
|
|
||||||
|
|
@ -773,45 +773,45 @@ func (_ *LaunchSpec) update(cloud awsup.AWSCloud, a, e, changes *LaunchSpec) err
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLaunchSpec struct {
|
type terraformLaunchSpec struct {
|
||||||
Name *string `json:"name,omitempty" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
OceanID *terraformWriter.Literal `json:"ocean_id,omitempty" cty:"ocean_id"`
|
OceanID *terraformWriter.Literal `cty:"ocean_id"`
|
||||||
|
|
||||||
Monitoring *bool `json:"monitoring,omitempty" cty:"monitoring"`
|
Monitoring *bool `cty:"monitoring"`
|
||||||
EBSOptimized *bool `json:"ebs_optimized,omitempty" cty:"ebs_optimized"`
|
EBSOptimized *bool `cty:"ebs_optimized"`
|
||||||
ImageID *string `json:"image_id,omitempty" cty:"image_id"`
|
ImageID *string `cty:"image_id"`
|
||||||
AssociatePublicIPAddress *bool `json:"associate_public_ip_address,omitempty" cty:"associate_public_ip_address"`
|
AssociatePublicIPAddress *bool `cty:"associate_public_ip_address"`
|
||||||
RestrictScaleDown *bool `json:"restrict_scale_down,omitempty" cty:"restrict_scale_down"`
|
RestrictScaleDown *bool `cty:"restrict_scale_down"`
|
||||||
RootVolumeSize *int64 `json:"root_volume_size,omitempty" cty:"root_volume_size"`
|
RootVolumeSize *int64 `cty:"root_volume_size"`
|
||||||
UserData *terraformWriter.Literal `json:"user_data,omitempty" cty:"user_data"`
|
UserData *terraformWriter.Literal `cty:"user_data"`
|
||||||
IAMInstanceProfile *terraformWriter.Literal `json:"iam_instance_profile,omitempty" cty:"iam_instance_profile"`
|
IAMInstanceProfile *terraformWriter.Literal `cty:"iam_instance_profile"`
|
||||||
KeyName *terraformWriter.Literal `json:"key_name,omitempty" cty:"key_name"`
|
KeyName *terraformWriter.Literal `cty:"key_name"`
|
||||||
InstanceTypes []string `json:"instance_types,omitempty" cty:"instance_types"`
|
InstanceTypes []string `cty:"instance_types"`
|
||||||
SubnetIDs []*terraformWriter.Literal `json:"subnet_ids,omitempty" cty:"subnet_ids"`
|
SubnetIDs []*terraformWriter.Literal `cty:"subnet_ids"`
|
||||||
SecurityGroups []*terraformWriter.Literal `json:"security_groups,omitempty" cty:"security_groups"`
|
SecurityGroups []*terraformWriter.Literal `cty:"security_groups"`
|
||||||
Taints []*terraformTaint `json:"taints,omitempty" cty:"taints"`
|
Taints []*terraformTaint `cty:"taints"`
|
||||||
Labels []*terraformKV `json:"labels,omitempty" cty:"labels"`
|
Labels []*terraformKV `cty:"labels"`
|
||||||
Tags []*terraformKV `json:"tags,omitempty" cty:"tags"`
|
Tags []*terraformKV `cty:"tags"`
|
||||||
Headrooms []*terraformAutoScalerHeadroom `json:"autoscale_headrooms,omitempty" cty:"autoscale_headrooms"`
|
Headrooms []*terraformAutoScalerHeadroom `cty:"autoscale_headrooms"`
|
||||||
BlockDeviceMappings []*terraformBlockDeviceMapping `json:"block_device_mappings,omitempty" cty:"block_device_mappings"`
|
BlockDeviceMappings []*terraformBlockDeviceMapping `cty:"block_device_mappings"`
|
||||||
Strategy *terraformLaunchSpecStrategy `json:"strategy,omitempty" cty:"strategy"`
|
Strategy *terraformLaunchSpecStrategy `cty:"strategy"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformLaunchSpecStrategy struct {
|
type terraformLaunchSpecStrategy struct {
|
||||||
SpotPercentage *int64 `json:"spot_percentage,omitempty" cty:"spot_percentage"`
|
SpotPercentage *int64 `cty:"spot_percentage"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformBlockDeviceMapping struct {
|
type terraformBlockDeviceMapping struct {
|
||||||
DeviceName *string `json:"device_name,omitempty" cty:"device_name"`
|
DeviceName *string `cty:"device_name"`
|
||||||
EBS *terraformBlockDeviceMappingEBS `json:"ebs,omitempty" cty:"ebs"`
|
EBS *terraformBlockDeviceMappingEBS `cty:"ebs"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformBlockDeviceMappingEBS struct {
|
type terraformBlockDeviceMappingEBS struct {
|
||||||
VirtualName *string `json:"virtual_name,omitempty" cty:"virtual_name"`
|
VirtualName *string `cty:"virtual_name"`
|
||||||
VolumeType *string `json:"volume_type,omitempty" cty:"volume_type"`
|
VolumeType *string `cty:"volume_type"`
|
||||||
VolumeSize *int64 `json:"volume_size,omitempty" cty:"volume_size"`
|
VolumeSize *int64 `cty:"volume_size"`
|
||||||
VolumeIOPS *int64 `json:"iops,omitempty" cty:"iops"`
|
VolumeIOPS *int64 `cty:"iops"`
|
||||||
VolumeThroughput *int64 `json:"throughput,omitempty" cty:"throughput"`
|
VolumeThroughput *int64 `cty:"throughput"`
|
||||||
DeleteOnTermination *bool `json:"delete_on_termination,omitempty" cty:"delete_on_termination"`
|
DeleteOnTermination *bool `cty:"delete_on_termination"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *LaunchSpec) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *LaunchSpec) error {
|
func (_ *LaunchSpec) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *LaunchSpec) error {
|
||||||
|
|
|
||||||
|
|
@ -994,34 +994,34 @@ func (_ *Ocean) update(cloud awsup.AWSCloud, a, e, changes *Ocean) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
type terraformOcean struct {
|
type terraformOcean struct {
|
||||||
Name *string `json:"name,omitempty" cty:"name"`
|
Name *string `cty:"name"`
|
||||||
ControllerClusterID *string `json:"controller_id,omitempty" cty:"controller_id"`
|
ControllerClusterID *string `cty:"controller_id"`
|
||||||
Region *string `json:"region,omitempty" cty:"region"`
|
Region *string `cty:"region"`
|
||||||
InstanceTypesWhitelist []string `json:"whitelist,omitempty" cty:"whitelist"`
|
InstanceTypesWhitelist []string `cty:"whitelist"`
|
||||||
InstanceTypesBlacklist []string `json:"blacklist,omitempty" cty:"blacklist"`
|
InstanceTypesBlacklist []string `cty:"blacklist"`
|
||||||
SubnetIDs []*terraformWriter.Literal `json:"subnet_ids,omitempty" cty:"subnet_ids"`
|
SubnetIDs []*terraformWriter.Literal `cty:"subnet_ids"`
|
||||||
AutoScaler *terraformAutoScaler `json:"autoscaler,omitempty" cty:"autoscaler"`
|
AutoScaler *terraformAutoScaler `cty:"autoscaler"`
|
||||||
Tags []*terraformKV `json:"tags,omitempty" cty:"tags"`
|
Tags []*terraformKV `cty:"tags"`
|
||||||
|
|
||||||
MinSize *int64 `json:"min_size,omitempty" cty:"min_size"`
|
MinSize *int64 `cty:"min_size"`
|
||||||
MaxSize *int64 `json:"max_size,omitempty" cty:"max_size"`
|
MaxSize *int64 `cty:"max_size"`
|
||||||
DesiredCapacity *int64 `json:"desired_capacity,omitempty" cty:"desired_capacity"`
|
DesiredCapacity *int64 `cty:"desired_capacity"`
|
||||||
|
|
||||||
FallbackToOnDemand *bool `json:"fallback_to_ondemand,omitempty" cty:"fallback_to_ondemand"`
|
FallbackToOnDemand *bool `cty:"fallback_to_ondemand"`
|
||||||
UtilizeReservedInstances *bool `json:"utilize_reserved_instances,omitempty" cty:"utilize_reserved_instances"`
|
UtilizeReservedInstances *bool `cty:"utilize_reserved_instances"`
|
||||||
UtilizeCommitments *bool `json:"utilize_commitments,omitempty" cty:"utilize_commitments"`
|
UtilizeCommitments *bool `cty:"utilize_commitments"`
|
||||||
DrainingTimeout *int64 `json:"draining_timeout,omitempty" cty:"draining_timeout"`
|
DrainingTimeout *int64 `cty:"draining_timeout"`
|
||||||
GracePeriod *int64 `json:"grace_period,omitempty" cty:"grace_period"`
|
GracePeriod *int64 `cty:"grace_period"`
|
||||||
|
|
||||||
Monitoring *bool `json:"monitoring,omitempty" cty:"monitoring"`
|
Monitoring *bool `cty:"monitoring"`
|
||||||
EBSOptimized *bool `json:"ebs_optimized,omitempty" cty:"ebs_optimized"`
|
EBSOptimized *bool `cty:"ebs_optimized"`
|
||||||
ImageID *string `json:"image_id,omitempty" cty:"image_id"`
|
ImageID *string `cty:"image_id"`
|
||||||
AssociatePublicIPAddress *bool `json:"associate_public_ip_address,omitempty" cty:"associate_public_ip_address"`
|
AssociatePublicIPAddress *bool `cty:"associate_public_ip_address"`
|
||||||
RootVolumeSize *int64 `json:"root_volume_size,omitempty" cty:"root_volume_size"`
|
RootVolumeSize *int64 `cty:"root_volume_size"`
|
||||||
UserData *terraformWriter.Literal `json:"user_data,omitempty" cty:"user_data"`
|
UserData *terraformWriter.Literal `cty:"user_data"`
|
||||||
IAMInstanceProfile *terraformWriter.Literal `json:"iam_instance_profile,omitempty" cty:"iam_instance_profile"`
|
IAMInstanceProfile *terraformWriter.Literal `cty:"iam_instance_profile"`
|
||||||
KeyName *terraformWriter.Literal `json:"key_name,omitempty" cty:"key_name"`
|
KeyName *terraformWriter.Literal `cty:"key_name"`
|
||||||
SecurityGroups []*terraformWriter.Literal `json:"security_groups,omitempty" cty:"security_groups"`
|
SecurityGroups []*terraformWriter.Literal `cty:"security_groups"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *Ocean) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Ocean) error {
|
func (_ *Ocean) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Ocean) error {
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,6 @@ limitations under the License.
|
||||||
package terraform
|
package terraform
|
||||||
|
|
||||||
type Lifecycle struct {
|
type Lifecycle struct {
|
||||||
PreventDestroy *bool `json:"prevent_destroy,omitempty" cty:"prevent_destroy"`
|
PreventDestroy *bool `cty:"prevent_destroy"`
|
||||||
CreateBeforeDestroy *bool `json:"create_before_destroy,omitempty" cty:"create_before_destroy"`
|
CreateBeforeDestroy *bool `cty:"create_before_destroy"`
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue