in service/databasemigrationservice/deserializers.go [10665:11082]
func awsAwsjson11_deserializeDocumentOracleSettings(v **types.OracleSettings, 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 *types.OracleSettings
if *v == nil {
sv = &types.OracleSettings{}
} else {
sv = *v
}
for key, value := range shape {
switch key {
case "AccessAlternateDirectly":
if value != nil {
jtv, ok := value.(bool)
if !ok {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", value)
}
sv.AccessAlternateDirectly = ptr.Bool(jtv)
}
case "AdditionalArchivedLogDestId":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected IntegerOptional to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.AdditionalArchivedLogDestId = ptr.Int32(int32(i64))
}
case "AddSupplementalLogging":
if value != nil {
jtv, ok := value.(bool)
if !ok {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", value)
}
sv.AddSupplementalLogging = ptr.Bool(jtv)
}
case "AllowSelectNestedTables":
if value != nil {
jtv, ok := value.(bool)
if !ok {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", value)
}
sv.AllowSelectNestedTables = ptr.Bool(jtv)
}
case "ArchivedLogDestId":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected IntegerOptional to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.ArchivedLogDestId = ptr.Int32(int32(i64))
}
case "ArchivedLogsOnly":
if value != nil {
jtv, ok := value.(bool)
if !ok {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", value)
}
sv.ArchivedLogsOnly = ptr.Bool(jtv)
}
case "AsmPassword":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected SecretString to be of type string, got %T instead", value)
}
sv.AsmPassword = ptr.String(jtv)
}
case "AsmServer":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.AsmServer = ptr.String(jtv)
}
case "AsmUser":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.AsmUser = ptr.String(jtv)
}
case "CharLengthSemantics":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected CharLengthSemantics to be of type string, got %T instead", value)
}
sv.CharLengthSemantics = types.CharLengthSemantics(jtv)
}
case "DatabaseName":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.DatabaseName = ptr.String(jtv)
}
case "DirectPathNoLog":
if value != nil {
jtv, ok := value.(bool)
if !ok {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", value)
}
sv.DirectPathNoLog = ptr.Bool(jtv)
}
case "DirectPathParallelLoad":
if value != nil {
jtv, ok := value.(bool)
if !ok {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", value)
}
sv.DirectPathParallelLoad = ptr.Bool(jtv)
}
case "EnableHomogenousTablespace":
if value != nil {
jtv, ok := value.(bool)
if !ok {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", value)
}
sv.EnableHomogenousTablespace = ptr.Bool(jtv)
}
case "ExtraArchivedLogDestIds":
if err := awsAwsjson11_deserializeDocumentIntegerList(&sv.ExtraArchivedLogDestIds, value); err != nil {
return err
}
case "FailTasksOnLobTruncation":
if value != nil {
jtv, ok := value.(bool)
if !ok {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", value)
}
sv.FailTasksOnLobTruncation = ptr.Bool(jtv)
}
case "NumberDatatypeScale":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected IntegerOptional to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.NumberDatatypeScale = ptr.Int32(int32(i64))
}
case "OraclePathPrefix":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.OraclePathPrefix = ptr.String(jtv)
}
case "ParallelAsmReadThreads":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected IntegerOptional to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.ParallelAsmReadThreads = ptr.Int32(int32(i64))
}
case "Password":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected SecretString to be of type string, got %T instead", value)
}
sv.Password = ptr.String(jtv)
}
case "Port":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected IntegerOptional to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.Port = ptr.Int32(int32(i64))
}
case "ReadAheadBlocks":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected IntegerOptional to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.ReadAheadBlocks = ptr.Int32(int32(i64))
}
case "ReadTableSpaceName":
if value != nil {
jtv, ok := value.(bool)
if !ok {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", value)
}
sv.ReadTableSpaceName = ptr.Bool(jtv)
}
case "ReplacePathPrefix":
if value != nil {
jtv, ok := value.(bool)
if !ok {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", value)
}
sv.ReplacePathPrefix = ptr.Bool(jtv)
}
case "RetryInterval":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected IntegerOptional to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.RetryInterval = ptr.Int32(int32(i64))
}
case "SecretsManagerAccessRoleArn":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.SecretsManagerAccessRoleArn = ptr.String(jtv)
}
case "SecretsManagerOracleAsmAccessRoleArn":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.SecretsManagerOracleAsmAccessRoleArn = ptr.String(jtv)
}
case "SecretsManagerOracleAsmSecretId":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.SecretsManagerOracleAsmSecretId = ptr.String(jtv)
}
case "SecretsManagerSecretId":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.SecretsManagerSecretId = ptr.String(jtv)
}
case "SecurityDbEncryption":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected SecretString to be of type string, got %T instead", value)
}
sv.SecurityDbEncryption = ptr.String(jtv)
}
case "SecurityDbEncryptionName":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.SecurityDbEncryptionName = ptr.String(jtv)
}
case "ServerName":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.ServerName = ptr.String(jtv)
}
case "SpatialDataOptionToGeoJsonFunctionName":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.SpatialDataOptionToGeoJsonFunctionName = ptr.String(jtv)
}
case "StandbyDelayTime":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected IntegerOptional to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.StandbyDelayTime = ptr.Int32(int32(i64))
}
case "UseAlternateFolderForOnline":
if value != nil {
jtv, ok := value.(bool)
if !ok {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", value)
}
sv.UseAlternateFolderForOnline = ptr.Bool(jtv)
}
case "UseBFile":
if value != nil {
jtv, ok := value.(bool)
if !ok {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", value)
}
sv.UseBFile = ptr.Bool(jtv)
}
case "UseDirectPathFullLoad":
if value != nil {
jtv, ok := value.(bool)
if !ok {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", value)
}
sv.UseDirectPathFullLoad = ptr.Bool(jtv)
}
case "UseLogminerReader":
if value != nil {
jtv, ok := value.(bool)
if !ok {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", value)
}
sv.UseLogminerReader = ptr.Bool(jtv)
}
case "UsePathPrefix":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.UsePathPrefix = ptr.String(jtv)
}
case "Username":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.Username = ptr.String(jtv)
}
default:
_, _ = key, value
}
}
*v = sv
return nil
}