115 lines
6.1 KiB
Go
115 lines
6.1 KiB
Go
// GENERATED, DO NOT EDIT THIS FILE
|
|
package aws
|
|
|
|
import (
|
|
"github.com/cloudskiff/driftctl/pkg/resource"
|
|
"github.com/zclconf/go-cty/cty"
|
|
)
|
|
|
|
const AwsInstanceResourceType = "aws_instance"
|
|
|
|
type AwsInstance struct {
|
|
Ami *string `cty:"ami"`
|
|
Arn *string `cty:"arn" computed:"true"`
|
|
AssociatePublicIpAddress *bool `cty:"associate_public_ip_address" computed:"true"`
|
|
AvailabilityZone *string `cty:"availability_zone" computed:"true"`
|
|
CpuCoreCount *int `cty:"cpu_core_count" computed:"true"`
|
|
CpuThreadsPerCore *int `cty:"cpu_threads_per_core" computed:"true"`
|
|
DisableApiTermination *bool `cty:"disable_api_termination"`
|
|
EbsOptimized *bool `cty:"ebs_optimized"`
|
|
GetPasswordData *bool `cty:"get_password_data"`
|
|
Hibernation *bool `cty:"hibernation"`
|
|
HostId *string `cty:"host_id" computed:"true"`
|
|
IamInstanceProfile *string `cty:"iam_instance_profile"`
|
|
Id string `cty:"id" computed:"true"`
|
|
InstanceInitiatedShutdownBehavior *string `cty:"instance_initiated_shutdown_behavior" diff:"-"`
|
|
InstanceState *string `cty:"instance_state" computed:"true"`
|
|
InstanceType *string `cty:"instance_type"`
|
|
Ipv6AddressCount *int `cty:"ipv6_address_count" computed:"true"`
|
|
Ipv6Addresses []string `cty:"ipv6_addresses" computed:"true"`
|
|
KeyName *string `cty:"key_name" computed:"true"`
|
|
Monitoring *bool `cty:"monitoring"`
|
|
OutpostArn *string `cty:"outpost_arn" computed:"true"`
|
|
PasswordData *string `cty:"password_data" computed:"true"`
|
|
PlacementGroup *string `cty:"placement_group" computed:"true"`
|
|
PrimaryNetworkInterfaceId *string `cty:"primary_network_interface_id" computed:"true"`
|
|
PrivateDns *string `cty:"private_dns" computed:"true"`
|
|
PrivateIp *string `cty:"private_ip" computed:"true"`
|
|
PublicDns *string `cty:"public_dns" computed:"true"`
|
|
PublicIp *string `cty:"public_ip" computed:"true"`
|
|
SecondaryPrivateIps []string `cty:"secondary_private_ips" computed:"true"`
|
|
SecurityGroups []string `cty:"security_groups" computed:"true"`
|
|
SourceDestCheck *bool `cty:"source_dest_check"`
|
|
SubnetId *string `cty:"subnet_id" computed:"true"`
|
|
Tags map[string]string `cty:"tags"`
|
|
Tenancy *string `cty:"tenancy" computed:"true"`
|
|
UserData *string `cty:"user_data"`
|
|
UserDataBase64 *string `cty:"user_data_base64"`
|
|
VolumeTags map[string]string `cty:"volume_tags" diff:"-" computed:"true"`
|
|
VpcSecurityGroupIds []string `cty:"vpc_security_group_ids" computed:"true"`
|
|
CreditSpecification *[]struct {
|
|
CpuCredits *string `cty:"cpu_credits"`
|
|
} `cty:"credit_specification"`
|
|
EbsBlockDevice *[]struct {
|
|
DeleteOnTermination *bool `cty:"delete_on_termination"`
|
|
DeviceName *string `cty:"device_name"`
|
|
Encrypted *bool `cty:"encrypted" computed:"true"`
|
|
Iops *int `cty:"iops" computed:"true"`
|
|
KmsKeyId *string `cty:"kms_key_id" computed:"true"`
|
|
SnapshotId *string `cty:"snapshot_id" computed:"true"`
|
|
VolumeId *string `cty:"volume_id" computed:"true"`
|
|
VolumeSize *int `cty:"volume_size" computed:"true"`
|
|
VolumeType *string `cty:"volume_type" computed:"true"`
|
|
} `cty:"ebs_block_device"`
|
|
EphemeralBlockDevice *[]struct {
|
|
DeviceName *string `cty:"device_name"`
|
|
NoDevice *bool `cty:"no_device"`
|
|
VirtualName *string `cty:"virtual_name"`
|
|
} `cty:"ephemeral_block_device"`
|
|
MetadataOptions *[]struct {
|
|
HttpEndpoint *string `cty:"http_endpoint" computed:"true"`
|
|
HttpPutResponseHopLimit *int `cty:"http_put_response_hop_limit" computed:"true"`
|
|
HttpTokens *string `cty:"http_tokens" computed:"true"`
|
|
} `cty:"metadata_options"`
|
|
NetworkInterface *[]struct {
|
|
DeleteOnTermination *bool `cty:"delete_on_termination"`
|
|
DeviceIndex *int `cty:"device_index"`
|
|
NetworkInterfaceId *string `cty:"network_interface_id"`
|
|
} `cty:"network_interface"`
|
|
RootBlockDevice *[]struct {
|
|
DeleteOnTermination *bool `cty:"delete_on_termination"`
|
|
DeviceName *string `cty:"device_name" computed:"true"`
|
|
Encrypted *bool `cty:"encrypted" computed:"true"`
|
|
Iops *int `cty:"iops" computed:"true"`
|
|
KmsKeyId *string `cty:"kms_key_id" computed:"true"`
|
|
VolumeId *string `cty:"volume_id" computed:"true"`
|
|
VolumeSize *int `cty:"volume_size" computed:"true"`
|
|
VolumeType *string `cty:"volume_type" computed:"true"`
|
|
} `cty:"root_block_device"`
|
|
Timeouts *struct {
|
|
Create *string `cty:"create"`
|
|
Delete *string `cty:"delete"`
|
|
Update *string `cty:"update"`
|
|
} `cty:"timeouts" diff:"-"`
|
|
CtyVal *cty.Value `diff:"-"`
|
|
}
|
|
|
|
func (r *AwsInstance) TerraformId() string {
|
|
return r.Id
|
|
}
|
|
|
|
func (r *AwsInstance) TerraformType() string {
|
|
return AwsInstanceResourceType
|
|
}
|
|
|
|
func (r *AwsInstance) CtyValue() *cty.Value {
|
|
return r.CtyVal
|
|
}
|
|
|
|
func initAwsInstanceMetaData(resourceSchemaRepository resource.SchemaRepositoryInterface) {
|
|
resourceSchemaRepository.SetNormalizeFunc(AwsInstanceResourceType, func(val *resource.Attributes) {
|
|
val.SafeDelete([]string{"timeouts"})
|
|
val.SafeDelete([]string{"instance_initiated_shutdown_behavior"})
|
|
})
|
|
}
|