in service/cloudhsm/deserializers.go [3293:3507]
func awsAwsjson11_deserializeOpDocumentDescribeHsmOutput(v **DescribeHsmOutput, value interface{}) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
}
if value == nil {
return nil
}
shape, ok := value.(map[string]interface{})
if !ok {
return fmt.Errorf("unexpected JSON type %v", value)
}
var sv *DescribeHsmOutput
if *v == nil {
sv = &DescribeHsmOutput{}
} else {
sv = *v
}
for key, value := range shape {
switch key {
case "AvailabilityZone":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected AZ to be of type string, got %T instead", value)
}
sv.AvailabilityZone = ptr.String(jtv)
}
case "EniId":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected EniId to be of type string, got %T instead", value)
}
sv.EniId = ptr.String(jtv)
}
case "EniIp":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected IpAddress to be of type string, got %T instead", value)
}
sv.EniIp = ptr.String(jtv)
}
case "HsmArn":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HsmArn to be of type string, got %T instead", value)
}
sv.HsmArn = ptr.String(jtv)
}
case "HsmType":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.HsmType = ptr.String(jtv)
}
case "IamRoleArn":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected IamRoleArn to be of type string, got %T instead", value)
}
sv.IamRoleArn = ptr.String(jtv)
}
case "Partitions":
if err := awsAwsjson11_deserializeDocumentPartitionList(&sv.Partitions, value); err != nil {
return err
}
case "SerialNumber":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HsmSerialNumber to be of type string, got %T instead", value)
}
sv.SerialNumber = ptr.String(jtv)
}
case "ServerCertLastUpdated":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected Timestamp to be of type string, got %T instead", value)
}
sv.ServerCertLastUpdated = ptr.String(jtv)
}
case "ServerCertUri":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.ServerCertUri = ptr.String(jtv)
}
case "SoftwareVersion":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.SoftwareVersion = ptr.String(jtv)
}
case "SshKeyLastUpdated":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected Timestamp to be of type string, got %T instead", value)
}
sv.SshKeyLastUpdated = ptr.String(jtv)
}
case "SshPublicKey":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected SshKey to be of type string, got %T instead", value)
}
sv.SshPublicKey = ptr.String(jtv)
}
case "Status":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HsmStatus to be of type string, got %T instead", value)
}
sv.Status = types.HsmStatus(jtv)
}
case "StatusDetails":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.StatusDetails = ptr.String(jtv)
}
case "SubnetId":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected SubnetId to be of type string, got %T instead", value)
}
sv.SubnetId = ptr.String(jtv)
}
case "SubscriptionEndDate":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected Timestamp to be of type string, got %T instead", value)
}
sv.SubscriptionEndDate = ptr.String(jtv)
}
case "SubscriptionStartDate":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected Timestamp to be of type string, got %T instead", value)
}
sv.SubscriptionStartDate = ptr.String(jtv)
}
case "SubscriptionType":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected SubscriptionType to be of type string, got %T instead", value)
}
sv.SubscriptionType = types.SubscriptionType(jtv)
}
case "VendorName":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.VendorName = ptr.String(jtv)
}
case "VpcId":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected VpcId to be of type string, got %T instead", value)
}
sv.VpcId = ptr.String(jtv)
}
default:
_, _ = key, value
}
}
*v = sv
return nil
}