in service/repostspace/deserializers.go [886:1112]
func awsRestjson1_deserializeOpDocumentGetSpaceOutput(v **GetSpaceOutput, 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 *GetSpaceOutput
if *v == nil {
sv = &GetSpaceOutput{}
} else {
sv = *v
}
for key, value := range shape {
switch key {
case "arn":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected Arn to be of type string, got %T instead", value)
}
sv.Arn = ptr.String(jtv)
}
case "clientId":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected ClientId to be of type string, got %T instead", value)
}
sv.ClientId = ptr.String(jtv)
}
case "configurationStatus":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected ConfigurationStatus to be of type string, got %T instead", value)
}
sv.ConfigurationStatus = types.ConfigurationStatus(jtv)
}
case "contentSize":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected ContentSize to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.ContentSize = ptr.Int64(i64)
}
case "createDateTime":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected Timestamp to be of type string, got %T instead", value)
}
t, err := smithytime.ParseDateTime(jtv)
if err != nil {
return err
}
sv.CreateDateTime = ptr.Time(t)
}
case "customerRoleArn":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected Arn to be of type string, got %T instead", value)
}
sv.CustomerRoleArn = ptr.String(jtv)
}
case "deleteDateTime":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected Timestamp to be of type string, got %T instead", value)
}
t, err := smithytime.ParseDateTime(jtv)
if err != nil {
return err
}
sv.DeleteDateTime = ptr.Time(t)
}
case "description":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected SpaceDescription to be of type string, got %T instead", value)
}
sv.Description = ptr.String(jtv)
}
case "groupAdmins":
if err := awsRestjson1_deserializeDocumentGroupAdmins(&sv.GroupAdmins, value); err != nil {
return err
}
case "name":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected SpaceName to be of type string, got %T instead", value)
}
sv.Name = ptr.String(jtv)
}
case "randomDomain":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected Url to be of type string, got %T instead", value)
}
sv.RandomDomain = ptr.String(jtv)
}
case "roles":
if err := awsRestjson1_deserializeDocumentRoles(&sv.Roles, value); err != nil {
return err
}
case "spaceId":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected SpaceId to be of type string, got %T instead", value)
}
sv.SpaceId = ptr.String(jtv)
}
case "status":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected ProvisioningStatus to be of type string, got %T instead", value)
}
sv.Status = ptr.String(jtv)
}
case "storageLimit":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected StorageLimit to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.StorageLimit = ptr.Int64(i64)
}
case "tier":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected TierLevel to be of type string, got %T instead", value)
}
sv.Tier = types.TierLevel(jtv)
}
case "userAdmins":
if err := awsRestjson1_deserializeDocumentUserAdmins(&sv.UserAdmins, value); err != nil {
return err
}
case "userCount":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected UserCount to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.UserCount = ptr.Int32(int32(i64))
}
case "userKMSKey":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected KMSKey to be of type string, got %T instead", value)
}
sv.UserKMSKey = ptr.String(jtv)
}
case "vanityDomain":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected Url to be of type string, got %T instead", value)
}
sv.VanityDomain = ptr.String(jtv)
}
case "vanityDomainStatus":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected VanityDomainStatus to be of type string, got %T instead", value)
}
sv.VanityDomainStatus = types.VanityDomainStatus(jtv)
}
default:
_, _ = key, value
}
}
*v = sv
return nil
}